Agile or Waterfall Development – Which is Best?

Which is better for you, Agile or Waterfall? Lets have a look at a very simple step by step guide to help you choose the appropriate Product Development approach between Agile and Traditional Product Development.

Make no mistake, the answer to the core question of which approach is much better for you is not a straightforward one.

Agile or Waterfall – Which is better for you?

Let’s first understand what prompted you to ask this question. You may be looking to develop a new product or embark upon a major change to an existing application. The product may be for your own Organization or for a Client. You are questioning how to manage the journey for the development of this product. The centrepiece of this question is “The Product” and hence the choice of approach will depend on factors connected with the Product. These factors are:

  1. What is to be developed: “Product Requirement”
  2. Who is it being Developed for: “The Customer”
  3. Who will develop it: “The Development Team”
  4. How much Tolerance to Change is there: “Scope, Budget & Time To Market”

Let’s take a look at each of these aspects in detail and see how they affect your option of method.

What are the Requirements?

Every Product that is developed is based upon a Vision and purpose that it will serve. The questions that you should answer are:

  1. How much clarity do you have about the Product Vision? Can you visualize the finished state of the Product?
  2. Do you completely understand the purpose of the Product? How are the Users going to use the Product?
  3. Do you understand the complete composition of the Product in terms of Functional Blocks?

If you can with confidence answer YES to all the questions prior to starting the Development then Traditional Product Development may be best matched for you. If not then Agile might be the best option for you.

More and more frequently answering YES to all of these questions is becoming increasingly more difficult.

Client Availability & Engagement Model

Let’s first understand who your Customer is? If you are developing the Product for your own Organization then more than likely your Customers are your Product’s End Users. Where you are a Development vendor and constructing 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 accessibility of Business Stakeholders and your choice of approach might not depend on this aspect.

For a Client’s Product you need to consider following:

  • The Customer might have an established approach for Vendors to follow
  • Is the customer continually available and happy to engage and validate the development throughout the project? If yes, you might be much better off with Agile rather than Traditional approaches.