Waterfall vs Agile Approaches to the Discovery Process
Waterfall vs Agile Approaches to the Discovery Process

Waterfall vs Agile Approaches to the Discovery Process

Don't want your startup idea to remain just a curious theoretical concept? Or even worse: a failure? Then you need to find the right way to bring it to life. And you won't cope with this task without the Discovery phase: special activities designed to properly prepare for software development. These activities will allow you to define your business strategy, get a list of product requirements, and choose the best tech stack to implement your project.

However it should be noted that there are different approaches to Discovery, and selecting one of them is an extremely important decision, affecting the fate of the entire project. You have to weigh the pros and cons before making the final choice.

It sounds complicated, but we’ll help you figure it all out. And we'll start by describing the most popular Discovery methods: namely, Waterfall and Agile discovery phases. Also, we'll explain to you what you should choose to ensure your project's success.

Okay, let’s get started!

What is SDLC?

SDLC stands for Software Development Life Cycle and characterizes the process of creating a digital product. Consisting of specific stages, it begins at the moment when the initial idea of the project is born and ends when the development team completes software support.

discovery phase in a project

Let's describe the stages of SDLC:

  • Discovery. It all starts with the Discovery phase, which includes the following steps:

    • Preparation. First, we need to figure out what we have to work on and generate some initial ideas to solve certain user problems. 

      • However, the type of preparation largely depends on the specific project and the wishes of the client.

    • Collection and analysis of requirements. Now the generated and approved ideas take on a more meaningful form and serve as the basis for developing product requirements. This is the most complicated and time-consuming step of the Discovery phase, and we’ve described it in detail in our other article.

    • Design (prototyping). The identified requirements need to be turned into a product skeleton. And when building it, this skeleton (prototype), one should consider and take into account all the technologies used, database structures, workflows, relationships between different project parts, data flows, etc. As a result, we get an idea of what we have to do from a technical standpoint.

  • Development. The Discovery phase in a project is complete, and now the work is moving to the development team. They receive all product requirements, design specifications and can create the desired software. 

  • Testing. Before the product is launched, it must be tested for performance.

  • Deployment. After successful testing, you, as a client, receive a finished product. If necessary, experts can help you with its configuration, installation, and launch.

  • Maintainance. Any software, like a living organism, develops and changes. This means it needs to be improved, supplemented with new features and models so that it always meets the relevant user requirements.

This is a general description of the SDLC process. However, it can be implemented in different ways, namely, using the Waterfall method or Agile one (which means there are 2 approaches to the Discovery phase in a project either). Thus, the question arises: which of the methods is better to choose?

Waterfall vs Agile Discovery Phase Approaches

In short, Waterfall offers a linear approach to development (which includes the Discovery stage as well), while Agile works in cycles and thus provides more flexibility in the process. However, that’s hardly enough to understand the difference between these concepts, so let's talk in more detail.

What is the Waterfall discovery phase?

Waterfall allows managing projects sequentially, that is, moving from stage to stage without skipping any of them or returning to previous phases of the cycle. This model is considered a traditional approach to software development, which remained the only one for a really long time. And it still has its followers and fans.

Waterfall History

The idea for the Waterfall method belongs to Winston Walker Royce, director of the Lockheed Software Technology Center in Texas, USA. The company is one of the oldest in the field of software development. And it was Winston Walker Royce who described this method in his 1970 paper. Though, the term itself (Waterfall) appeared only six years later.

It is believed that Winston Walker Royce used earlier ideas from Herbert Bennington and Hozier when formulating the concept of Waterfall. But is it really that important? We don’t think so.

The idea of the Waterfall Discovery phase in a project

As you already understood, in the case of the Waterfall project, the team can only move to the next stage when the previous one has been successfully completed. This means Discovery activities are performed just once, at the very start.

Therefore, as soon as we've dealt with market analysis and formulated the product requirements, we proceed to the design and development stage, with no chance to return to research activities again... And this approach has both pros and cons.

Waterfall approach pros

  • A predefined scope of tasks. You initially set tasks for Discovery experts. And these tasks remain unchanged throughout the process.

  • Ease of process control. Specialists need to conduct the Discovery phase in a project just once. After they provide the client with the results, that's it. Then the work goes to the experts of the Delivery stage.

  • Good documentation. The sequence of development stages (which include the Discovery phase too) allows documenting the entire process in the most convenient way.

  • Clear reporting. Good documentation leads to clear and detailed reporting of each step taken.

  • Ability to plan your budget and deadlines. Since the Discovery phase is a one-time task, you can calculate its cost and duration in advance.

  • A clear set of Waterfall deliverables. At the end of the Discovery phase, you get some results (deliverables) that you can deal with further. With Agile discovery phase deliverables, this won't work as easily, because the results are constantly changing and being adjusted.

  • Client disengagement. And finally, you, as a client, aren’t required to participate in the work on the project (except for the initial discussion of your wishes with the Discovery and Delivery teams).

Waterfall approach cons

  • Little flexibility. The Waterfall approach to the Discovery process takes away the flexibility of your project. You cannot refine the requirements for the final product during the development stage, which means you reduce the chances of success. This is especially true if you have no idea what your customers expect and have no experience with the market of your choice.

  • Higher costs for the product implementation. While the Agile approach allows you to optimize your costs and change plans as the project progresses, the Waterfall method robs you of these opportunities. Expenses may increase, it's quite possible, but don't expect them to decrease by themselves.

  • Increased risk. The IT market is changing rapidly, and consumer needs don't remain the same too. So by the time the software is released, you run the risk of getting a product that doesn't meet the relevant user requirements (in the end, the process of its implementation takes up to a year or even more, it all depends on the scale of the project).

What is the Agile project discovery phase?

As the name implies, we're dealing with an agile (meaning, flexible) project management system. The main point is that development is carried out not from stage to stage as in the previous case, but in short iterations (cycles, which are more known as sprints). At the end of each cycle, the client gets a working code, a product, or its module, which can be evaluated according to certain parameters.

Every sprint traditionally consists of such phases as Discovery, design, development, testing… and so on in a circle (in a cycle).

Agile History

The Agile concept appeared more or less recently in the USA (Utah). The methodology was created by a group of next to 20 IT experts. They thought through the whole Agile ideology and described its basic principles.

agile discovery phase deliverables

 

Agile has formed the basis of numerous flexible software development methodologies, including the most popular Scrum and Lean. Among other things, it has had a big impact on the Discovery phase.

Agile discovery phase idea

Agile Discovery is also repeated in cycles, which means you have a chance to change and adjust your strategy at any time.

If you remember, we've described the Discovery steps earlier (in the section about SDLC). They're true for the Waterfall method and the first cycle of the Agile approach. In all subsequent sprints, the Discovery phase consists of slightly different sub-stages, namely:

  • Discussion of results (instead of initial preparation);

  • Testing new ideas and identifying additional requirements;

  • Refinement of the strategy;

  • A new cycle of work on prototypes (if necessary);

  • Providing another batch of results (the so-called Agile discovery phase deliverables).

So once you've received a working piece of the product at the end of the sprint, you can test it, discuss the results with your team, and determine what to do next. And a new round of Discovery activities will give you the right direction. The risk of project failure is thereby reduced. 

However, the approach has its downsides either. Let’s discuss the matter step by step, though.

Agile approach pros

  • High flexibility. The name (Agile discovery phase) speaks for itself and points to the most important feature of this approach: its flexibility. You have a great opportunity to adjust your strategy throughout the project and get updated research data. Therefore, it's almost impossible to go wrong.

  • Client engagement. The agile approach implies active client participation in the project too. Constantly refining the requirements for the product, we communicate with the client and discuss new ideas with him and thereby involve him in the Discovery process.

  • Better quality of the final product. By being able to start each sprint with Discovery, you manage the project more flexibly. Among other things, you can understand in time what needs to be changed to maintain the desired product quality.

  • Short and clear iterations. Each sprint lasts from half a month to a month top. Therefore, the work on the project is divided into understandable, clear, and manageable cycles. And each of them is preceded by the analysis and adjustment of product requirements (which is the exact gist of Discovery); 

  • The product as an indicator of progress. The Discovery team works closely with Delivery experts to help them create near-perfect software. The focus is on the product itself, on its quality, and compliance with market requirements.

  • Risk minimization. And finally, thanks to a flexible system for making changes, you reduce the risk of project failure. If something is wrong and doesn't meet the expectations of users or the market, you'll have time to correct it in time.

The Agile approach seems like a great way to run the Discovery phase in a project, doesn't it? However, it has its drawbacks, and we cannot but discuss them at least briefly.

Agile approach cons

  • The risk of perfectionism. Having the opportunity to constantly change your project features, you, as a client, can go to the other extreme and strive for unattainable perfection. But you need to know when to stop. So just be reasonable.

  • The philosophical nature of the approach. Agile isn’t a clear instruction for action, but a real ideology. Some may get confused trying to figure it out.

  • Unclear deadlines. It's hard to predict in advance how many development cycles will be required to implement the project... which means you can't tell how many hours you'll have to spend on the Agile project discovery phase.

  • Difficulty in calculating the final project price. The same applies to the cost of required work. Without knowing the timing, you're unable to give an exact answer to the question of probable expenses (although rough estimates can be made, of course).

agile discovery phase

Key Differences Between Waterfall & Agile Discovery Phases

  • Flexibility

As you should have already understood, the Waterfall model lacks the flexibility to manage the Discovery process, while the Agile method allows you to make changes to the project requirements even after a while.

  • Phase repeatability

The agile approach is cyclical, so the Discovery phase is being repeated at logical intervals. And the waterfall method is linear, which means you carry out the necessary activities only at the project start.

  • Pricing

If you're interested in a project with a fixed price, you'll find the Agile approach rather inconvenient. You won't be able to accurately calculate the hours you'll have to spend on the Agile project discovery phase: after all, it depends on the number of sprints, which is unpredictable. Though, in the long run, you can save much more (thanks to the flexibility factor leading to your ability to change the plan on the fly, so to speak)

  • Requirements discussion

With the Agile approach, the issue of requirements is given much more attention. The client and the Discovery team meet regularly to discuss the project details and determine if the original idea needs adjustments. Nothing of this is the case when it comes to the Waterfall method.

  • Main focus

With Waterfall, all the focus is on building the product. Agile, on the other hand, targets the needs of the user and attempts to satisfy customers with software, which makes the Discovery phase a particularly important stage of each sprint.

  • Project type

With Waterfall, your project is a single integrated whole while the Agile method treats it as a system of small subprojects.

  • Discovery deliverables

You get the Waterfall deliverables just once, after completing the Discovery stage at the very beginning. But Agile discovery phase deliverables are something more ambiguous. You work on them constantly, supplementing the initial results, correcting the conclusions, and improving the ideas. This option is both more complicated and much more effective, at least, in most cases.

  • Testing ideas & features

Testing isn't directly related to the Discovery stage... at least when it comes to the Waterfall approach. However, in the case of Agile, the situation is somewhat different. Each cycle (sprint) ends with a testing phase, which means you get the opportunity to test the ideas identified during Discovery without any delay.

The created functionality (features) is being tested too, of course, which has its own perks. For example, as research by Rothman found, the cost of fixing bugs after a product release is 15 or even 20 times higher than working on them during a multi-cycle development process (which implies testing not only at the end of the project).

Do you want to know the cost to perform the Discovery phase? In our article at the link, we’re covering this issue from A to Z.
  • Reaction to surprises

The Waterfall approach is linear and pre-planned, and therefore any surprises and unexpected turns in the development process have a bad effect on the final result. On the other hand, the Agile method allows you to be flexible even in this respect. Has something unplanned happened? Well, nothing to worry about! There is going to be another sprint, and a new set of Discovery activities will help you adapt to the changed conditions.

agile project discovery phase

What to Choose for Your Discovery Phase in a Project?

So, when should you choose the Waterfall Discovery method?

  • The Waterfall model is best suited if you already have an understanding of the market and user requirements and don’t expect any changes. That is, you really don’t need research and analysis, and Discovery is just a tool for testing your concept (and you’re sure of the result).

  • The Waterfall method works well with small projects: say, if you only need to modify the software product (by adding a certain model or feature) instead of creating a new one from scratch.

When should you choose the Agile project discovery phase?

  • Agile Discovery is the perfect solution if you want to be prepared for any surprises;

  • The approach is chosen by businessmen not quite familiar with a certain domain or not willing to take risks;

  • Also, Agile Discovery is a great way to keep up with technological innovations (the IT market is changing very quickly, which also changes user requirements);

  • This is a good option for large-scale projects when you want to get a top-notch result with a minimum of investments and effort. Performing Discovery activities in a cycle, you can follow the chosen cost-efficiency strategy in a more sure way.

So let's recap: Waterfall focuses on smaller projects, especially those with clear requirements upfront. The Agile model is ideal for projects in innovative areas or those that imply a long implementation process (as the user or market needs may change over time).

BTW!

In our experience, the Agile method works best for IT projects. The reasons are the rapid evolution of the software development market, changing user needs, the possibility of a flexible approach, and so on (everything we've previously described in our article).

Agile Discovery Phase Deliverables

Let's start with the fact that the results of Discovery with the Agile approach aren't a one-time event. You work on them (or, rather, your hired team does) throughout the project:

  • Development team. Discovery experts advise which specialists will help you implement the idea in the best way. Moreover, the development team is usually a project constant and rarely changes (only in extreme cases).

  • Development time and budget. Also, at the project start, Discovery professionals figure out how much time and money it takes to bring the idea to reality. These results may vary depending on the circumstances: let's say, we've found a way to speed up the process and reduce your costs. Or, conversely, you decide to create a more complex (and expensive to develop) product. The Agile discovery phase allows you to remain flexible in such matters, which is cool, right?

  • Software functionality. The list of features, too, can be adjusted and supplemented with new options in the course of project development (if Discovery has identified changed market requirements).

  • Technology stack. Discovery experts determine which technologies are best used to create a product within the specified time and budget limits and get the desired result (with expected quality).

  • Non-functional & functional requirements. Among other things, the Discovery phase answers the question of what a digital product should be like in terms of its functional and non-functional features. And again, sometimes these very Agile discovery phase deliverables can change (if new circumstances regarding the working conditions of the software have been revealed). 

  • Prototype(s). Also, during the Discovery process, prototypes of a future digital product can be created. It all depends on the specific project and its requirements.

For the Waterfall method, the deliverables are the same, but they don't change. All requirements are identified at the start of the project, and that's it.

One of Discovery's key experts is a Solution Architect. What are his responsibilities? Is it possible to do without his services? You can get these answers after reading our piece.

Are you still in doubt? Don’t worry, our experts will tell you which Discovery approach is best for you. In the end, each project is unique, and it’s impossible to say in advance what would be the ideal solution in a particular case.

For more detailed information about our Discovery services, please follow the link.

 

Helen Vakhnenko
Helen Vakhnenko

Get in touch
Send us your comments, suggestions, questions, or feedback.
Next posts
Why You Need to Start Your Project with the Discovery Phase
Why You Need to Start Your Project with the Discovery Phase
Helen Vakhnenko
Helen Vakhnenko
Discovery Stage, or What to Do If You Need an Agile Project Analysis
Discovery Stage, or What to Do If You Need an Agile Project Analysis
Helen Vakhnenko
Helen Vakhnenko
The Role of Business Analysis During the Project Discovery Phase
The Role of Business Analysis During the Project Discovery Phase
Pobyva Vlad
Pobyva Vlad