The key difference between the discovery stage in waterfall and agile is the level of detail and flexibility of the results.
That is, at the end of the discovery stage in a waterfall setup, you have detailed project specifications and a plan that can’t be changed. Meanwhile, the agile project discovery results in a more high-level plan that can be modified. This primary distinction underpins other differences, such as duration, deliverables, and cost.
A project discovery in waterfall
In a traditional waterfall model, a discovery phase is carried out only once in the project lifecycle, takes somewhere between four and eight weeks, and can amount to 10-15% of the total project cost.
All the vital information collected and suggestions produced in this stage are distilled into the following deliverables:
- UX/UI deliverables. A clickable UX/UI prototype — an interactive visual representation of a future product — is a must-have discovery deliverable in a waterfall model. It typically comes along with
- Software requirement specification (SRS). This document contains the product description, requirements, risks and limitations, and technology stack. It also provides recommendations on the implementation for the team members.
- Architecture design. It’s the visual scheme of the software product’s components, as well as their organization and relationships.
- Project schedule. This is a detailed description of the project implementation with all the tasks, milestones, deliverables, and activity duration estimates.
- Budget estimates. This is a detailed estimation of the entire project's cost.
Notably, even in a waterfall setup, a list of deliverables can vary depending on a project and a team’s approach to software development. For example, your deliverables can also include a product scope and vision statement, which covers a product concept, as well as business requirements, risks, opportunities, success metrics, priorities, scope breakdown, and stakeholder profiles. The key consideration is that these deliverables are immutable, and you must stick to them.
The waterfall approach to product discovery works well in small projects with fixed requirements. In all the other cases, it’s quite risky, and that’s where an agile approach steps in.
A project discovery in agile
In an agile software development model (particularly in Scrum, its key framework), a discovery phase is typically called Sprint 0 or the Inception Phase. This phase usually takes about two weeks, and its objective is to gain a high-level understanding of a project and to prepare for Sprint 1.
What is Sprint 0?
Basically, Sprint 0 is very similar to the discovery phase in the waterfall. But the entire "project research" with subsequent planning is done with less granularity. The main goal of Sprint 0 is to set the right direction for the development process.
For this purpose, a development team can formulate a product vision, define functional and non-functional requirements, as well as risk limitations, make team composition and organization recommendations, create a high-level architecture design, make suggestions on UX and UI, set up a development environment, and make preliminary budget estimates.
But the key deliverable of the discovery phase in agile is the product backlog, which is essentially the team's to-do list, where tasks are arranged based on the level of priority. This backlog, like the rest of the deliverables, undergoes modifications throughout the development processes. Yes, project discovery in agile is continuous.
What is continuous discovery?
In Scrum, project discovery is an ongoing process and typically comes in the form of the discovery track. The discovery track runs in parallel with the development process, a couple of iterations ahead of the latter.
During the discovery track, a cross-functional team is continuously exploring the market, adding new use cases and features to the product, and brainstorming improvements. It may remove previous suggestions that don’t work and test and improve prototypes based on user feedback, thus honing and detailing the initial deliverables with every new iteration. In addition to continuous brainstorming and experimentation, issues or findings during implementation can also change your project development plan.
This way, the continuous discovery allows you to get down to implementation more quickly, minimizing risk in a fast-changing environment.