A very simple step by step guide to help you chose appropriate product development approach from among Agile or Waterfall. It provides a detailed description of each factor that matters in your choice of approach.
Agile Vs Waterfall Product Development – The Battle
Make no mistake – the answer to the core question “Agile V/s Waterfall – which is better for you” is not a straightforward one. In fact it is a complex decision making in itself and I would rather avoid giving an answer. Instead, let me handhold you to arrive at the answer yourself. I believe you have fair understanding of what waterfall and agile values and principles are, so I am skipping an introduction of these here.
Let’s first understand what prompted you to ask this question. Well, you must be at a stage where you have decided to build something – a new product; It may be for your own organization or for a Client and you are just wondering about how do I manage the overall journey (of product development) so that I reach to the finish line (A market ready Product). The focal point of this question is – “The Product” and thus the choice of approach will depend on factors associated with the Product. These factors are:
- What is to be built– “Product Requirement”
- Building for whom – “The Customer”
- Who will build – “The Team”
- How much Tolerance to Change – “Scope, Budget & Time To Market”
Let’s examine each of these factors in detail and see how they impact your choice of approach.
What are your Product Development Requirements?
Every product that is conceived is based on a vision and purpose that it will serve. The questions that you should answer are:
- How much clarity you have about this Vision? Can you visualize the finished state of the product?
- Do you completely understand the purpose of the product and how users are going to use the product?
- Do you understand the complete composition of the Product in terms of functional blocks?
If you can confidently say YES to all the questions before starting the development then Waterfall may be best suited for you. If not then Agile may be the best option for you.
In today’s Industries, it is less likely to get a YES for all of these questions.
Customer Availability & Engagement Model
Let’s first understand who is your Customer? If you are building the product for your own organization then most likely your customers are your product’s end users. But if you are a development vendor and building the product for a Client Then your Client is the Customer and representing the end user for you.
If it is an internal product then you may not have challenges about the availability of Business stakeholders and your choice of approach may not depend on this factor.
For a Client’s product you need to consider following”.
- Client may have established approach for vendors to follow
- Is the client continuously available and willing to engage / validate during the development? If yes, you may be better off with Agile rather than Waterfall
Needless to say that every product has to be useful & usable to the end user and interestingly every end user is becoming demanding. How well and how soon you can validate with the end user also influence the choice of your approach. If you can engage end users incrementally than Agile would serve you better than waterfall.
Development Team’s Affinity and adaptability
Product Development is increasingly becoming complex and need a higher degree of team collaboration. Achieving a high productive team dynamics is huge investment of time & cost. Such harmonious team often have developed affinities to specific approaches and any change may be detrimental. Hence, team level of maturity and flexibility has a great influence on choice of approach.
Tolerance to Change
“Change is the only constant” – this is no more an adage only. It is the founding belief of most of the business today. We are living in a VUCA (Volatile, Uncertain, Complex and Ambiguous) world which is highly reactive. To make business viable in this situation we need to adopt a framework that embrace change. Agile is your choice for VUCA business model. If at all we can control the VUCA factor to a great degree, waterfall is the approach to choose.
You need to ascertain the tolerance level for change of scope, budget and timeline.
Product development is increasingly shifting to On-Demand availability and there is an ever growing need to continuously ship in small bursts. This is best achieved by using the agile values and principles.
For Products that are more linear and stick to milestone based market release model prefer waterfall approach
Choice of Agile or Waterfall is not based on any inherent superiority of one over the other. Instead, it largely depends on the circumstances of use. For example, Waterfall is a better choice for monolithic, large-scale projects that are well defined & constrained. Agile, on the other hand, is a better option for evolving and more flexible projects.
You may want to use Waterfall when:
- Work is for a big client that has a well-defined waterfall based processes for vendors
- You work on fixed-scope, fixed-price contracts and client is comfortable with formal change requests
- Your project team is experienced with pre-established and documented waterfall approach- they know how to deal with it and how to use it to deliver high-quality project.
- The upfront investment is not risky to make
- You focus your performance measures on delivery date and budget
You should consider agile approach when:
- Work is on an in-house project or projects for more flexible clients
- You work on a project where requirements are evolving
- Your team isn’t fluent with any specific approach as generally the agile values and principles make learning curve pretty smooth in terms of introducing best practices.
- you want to benefit from fast feedback and burning visibility of objective data
- You have a team passionate about it or a coach who will help them
The Agile values and principles are a paradigm shift and requires a change in mindset. The core focus of Waterfall had been scope whereas the Agile values and principles focus on achieving maximum business value. Budget and schedule are often altered in Waterfall to achieve the desired scope whereas in Agile, scope is evolved to achieve the main objective of attaining maximum business value.