When developing a product, your team needs to be in sync. You should strive to push your code out as quickly as possible with the minimum features to show your customers. That way you can get immediate feedback and iterate on your product. This is usually the ‘lean’ mindset and is called Agile development.
What older software and hardware companies do is called Waterfall development. It’s incredibly rigid and generally not suited for a technology based company who wants to get as many iterations out as possible. There are pros to the method, such as being able to see everything at once before you start developing. Waterfall development is very structured with formal and explicit stages. Like a waterfall, you can’t start the next part until the first part finishes. This means you can’t release a product until everything is complete, which could be too long. By the time you’re done with your first iteration, the customer may not need the product anymore.
The pros are that it’s very clear what we’re working on. The PRD is typically complete before we start development. We’re able to take our time and fix any bugs that we encounter during the phase we’re working on. Third-party development firms enjoy working with teams that use waterfall development because they can better budget their schedule to meet our deadlines. Clients and product managers don’t need to focus on the day to day tasks. Management enjoys it because it clearly shows milestones of a project and you can measure progress by looking at what phase of the waterfall you’re on.
However there are also many downsides to it. The customer may not know what they want. By the time you finish it, they realize that they need something completely different. Having a faster development cycle could save yourself from this issue by letting them give you feedback earlier. It’s also difficult to handle changes since everything is already written up. The waterfall system doesn’t let you go back upstream to change decisions made in earlier phases. Waterfall developments also frequently slip release dates.
At the end of the day, it seems like waterfall has more cons then pros. Most software development companies prefer Agile over Waterfall because of the flexibility and fast results. Don’t go chasing waterfalls, get lean and build with Agile!
Looking forward to the future, the possibilities are endless.