How to build your project fast.
Why iterative development is your only option.
Have a large project with many unknowns you need to get done quickly, cost-effectively, and with multiple people involved?
The best way to achieve this is to implement iterative development.
Iterative development is incremental. Where you’ll be releasing small pieces of the whole in relatively quick succession. The idea is that each release makes a complete feature public that doesn’t need any more work.
The reason for this is so you can get real-world feedback that will inform what you do next.
Build - Test - Learn - Repeat
Think of this as compound interest. Each release and piece of feedback you get is there to make your product more valuable. So while each release isn’t massive, over time these pieces add up to substantial progress that you know is delivering value to the people using your product.
This is opposed to releasing a significant update or product that hasn’t been seen by the public and hoping that your assumptions were right. The risk is that it could either be successful or worse something no one wants.
The cost being the time and resources used for developing something no one wants.
You want to mitigate risk.
With iterative development, you are delivering value continuously throughout the process. Not just at the end. And really, the most value is being delivered at the beginning.
This means that even if something goes wrong in the middle of a project, the project is still better off than when it was started. If you had to wait until the end to realize any value and something when wrong in the middle, the time and effort would be wasted.
When teams work this way, everyone has to be intimately involved. There’s no working in silo’s or going away until a big reveal.
Doing this allows problems to be recognized earlier and will enable teams to adapt and resolve them before they become real issues.
This makes iterative development efficient, cost-effective, and transparent when you’re working on projects with many unknowns.
Incremental development doesn’t really work when you’re building your initial MVP. At this stage, you’re going from zero to one, from nothing to something and that means it should be simple. Your MVP should be solving one problem.
Instead of incremental development where you’re constantly testing and learning, you should be following a Waterfall process where phases come one after another and build on the previous one.
Strategy comes before design which comes before development.
The reasons this works for building MVP’s is because the process is predictable. The requirements are known. There’s transparency from both sides, and it helps build trust between teams as the outcome is predetermined; the only variable is getting there.
Then, as if often happens, MVP’s are launched, and feedback from the market will start to dictate what you do next. This is when you transition to incremental development where the teams are constantly evaluating progress and adapting to new information to build the best product.
The point is to reduce risk and increase autonomy.
When you have the information you need to inform your direction, follow a process that allows for work to be done in a logical and linear way.
When you don’t have enough information to make informed decisions, incremental development allows you to get started and work quickly to gain the knowledge required to move forward effectively.
The goal is to get to your core product as quickly as possible and then continually improve it over time.