Lean vs. Waterfall - project management
Why does Lean give you more control over your budget than Waterfall?
The Waterfall project management methodology assumes the following steps:
Requirements --> Design --> Implementation -->Verification
It's tempting to wish that you could know the total price of creating a complex system at the beginning of the journey. But what nobody tells you is that having an accurate price without making all the decisions in the requirements/design phase isn't a reasonable assumption.
"I can decide everything right away" - ask me the questions ;)
I have heard that so many times. The problem is that with this attitude, the requirements and design part will take much longer (and much more money). Even if you predict everything your business might need in the future, some of the decisions will be worse than they could. It's because you probably can't predict the future, right? But that's ok - let's assume that during the extensive discovery/requirement phase, you ended up with super detailed product specifications and created a complete system design (BTW, if you decide to go that way, you probably need an IT consultant to go through it. Most companies will charge you for that. This is because the basic sales process doesn't cover delegating a senior consultant to help create a document that would be a launchpad for investing even more time in the quotation).
The risk of underestimating
On top of the risk that you can’t predict everything, there is also a risk that your contractor will underestimate the project, although the specs were fantastic. "That's not my problem" - you might say - "I got the price, I expect to get my product."
All these IT companies on the market are full of very skilled engineers, you know the ones: all these super-smart geeks who love to code and create, "transforming coffee into programs" - sounds like fun, right? IT is a lot of fun if you love it indeed. However these companies are still "companies" and they were created to create profit. So what might an IT company do if they underestimate? It comes down to one of two:
1. Sacrifice profit
2. Sacrifice quality (most often without your knowledge)
What is your potential future contractor going to do? I don't know, I hope you're lucky and they sacrifice profit. That's why we work differently to avoid facing these kinds of problems and letting you truly control your money and your product.
Keep it lean
Instead of trying to define everything beforehand, the most important thing is to designate the first step correctly. What's your main goal? What's the most important thing? What's the smallest chunk of software that would give value to your business? These are the right questions - deconstruct and select as little as possible – put off as late as you can the moment you have to decide. Try to focus on the value and make sure your IT provider understands that. If you go that way, you significantly decrease both of the above risk factors:
- you don't have to predict/define everything right away
- your contractor will be estimating something much smaller so the chance they will screw up is smaller as well.
"But you’re still talking about estimates: I want to know the price."
Estimates always come with best and worst scenarios, that should already help. Other than that, if you have a responsible IT provider, you can always say „Look, the value we're going to get out of that first planned implementation step doesn't justify the worst-case scenario budget. What can we do to decrease the risk? What can we potentially cut to decline the estimate without sacrificing the value?” These are difficult questions but it’s still better to ask difficult questions than to wish your future contractor to sacrifice his profit and not your software quality one day…
And hey, most importantly, if the first iteration of work already produces value, do we need to know the final price of the final product? If doing just the first step is already profitable, isn't that better than betting that you predicted everything the right way at the project's discovery phase?
Feedback over perfection
It's challenging to predict what your customers will love. We often just think that a sales path will convert like crazy. We often just assume that a product presentation will be clear to everybody and will catalyze the sale. However the right way to optimize is to publish small chunks and measure. Hear your customers out, you don't have to make all the decisions. Let your customers decide, it's most important that they like it, not you. To rephrase: Let's make your eCommerce store a pleasant way to spend cash for your customer, not for you. I mean, that's the ultimate goal, isn’t it?
If your only goal is to know how much you will spend, go to a fixed-price waterfall. If you can swallow the bitterness of not knowing the final price but want to have control over when and how much you spend and that the ROI of the investment will be positive, go the lean way.