- March 23, 2023
Table of Contents
A discovery phase (also known as a scoping phase) is the first stage of the software development process. It aims at:
A discovery phase is usually run by Business Analyst and UX Designers who speak to stakeholders holding the domain knowledge, and together they decide on the shape and scope of the final solution. It helps establishing whether their vision is doable and feasible.
But given its huge importance for the final success of the whole project, it is crucial that the discovery phase is attended not by just a few people responsible for it, but also by all members of the development team. Let us explain to you why we believe such an approach is so beneficial.
When only a few members of the team take part in the discovery phase, it is much more difficult to “sell” the general vision and feel of the final product to the people who actually develop it, making it much trickier to achieve the result you are after.
The participation of the whole development team in the discovery phase is of paramount importance, and it has a massive impact on the following areas:
One of the very first activities linked to the discovery phase is deciding on its goals. Working closely together, the whole team should establish frequent checkpoints to make sure their work is heading into the right direction. Such an approach helps minimising risk of spending unproductive time that will not get anyone closer to the final goal.
To set the goals effectively, it is important to take into consideration all areas of work that need to be done during the development process. This cannot be done properly without the whole team taking part in it and sharing information on what their part of work consists of.
With the discovery phase that gathers the whole team, information flow becomes much more effective, helping all members understand the big picture, business context and stakeholders’ perspective. When the whole team working on a software development project have access to good and thorough information they need, it allows them to better manage their time and not waste it on later catch-ups and knowledge transfer.
The participation of the whole team in the discovery phase has a massive impact on the success of the final project. Developers who take part in early stages of the process will be more aware of the business context of the application. During the development phase they will be more engaged because of their initial involvement, and they will make fewer mistakes – the whole team’s work and the right information flow will allow them to detect all bugs at earlier stages.
Such an attitude guarantees a better understanding of the reasons as to why the software is being created in the first place. Also, thanks to developers’ participation in every stage of the software development process, they can take part in creating the vision of the final solution instead of only gathering the requirements listed by someone else. On the other side, technical knowledge they have helps to build more reliable roadmap of the product.
The whole team’s involvement in the discovery phase allows each member to identify and report any risks they come across during their work. Depending on their background, everyone may pay attention to different types of risks: developers will spot those related to the architecture or technical aspects, business analysts will be looking more closely at those linked to the business side or to the roadmap.
Detecting all the risks early on allows to find the right solutions early, helps avoiding them in future stages and contributes to the success of the final product.
During the discovery phase, every activity needs to finish with a list of next steps. Each of them should have an assigned person responsible for it and a precise deadline. The true benefit of the whole team being involved in the discovery phase can be achieved only if all team members are aware of what happens next, what are their responsibilities and what exactly is expected from them.
Conclusions and documents created during the discovery phase constitute a great input for the future activities related to continuous discovery – the ongoing process which aims at gathering feedback, identifying problems and making good decisions during the whole software development project – allowing for a more holistic and organised approach to the agile software development process. Such a thorough input is possible to get only with the whole team working closely together and being aware of all stages of the software development process.
Great news is, you don’t need to try hard to get everyone involved in the discovery phase. As it consists of many different activities such as research, ideation, user testing, creation/prototyping, validation, documenting and pre-refining, every role will find a great and meaningful task to do.
Developers for example should generate ideas, build prototypes (proofs of concept) and participate in all activities bringing technical perspective. Thanks to their involvement it will be easier to find gaps in the logic, identify potential problems that can arise in the future and propose better solutions.
Special engagement of the whole team is best visible in activities like ideas brainstorming, building the story mapping, prioritisation, and discovering non-functional requirements.
In the software development process, a discovery phase is extremely important because it leads to a final product that responds to the customers’ and business’s needs and fulfils all of its requirements.
Engaging the whole team from the very first stage gives an incredible advantage in other phases of software development, making the team work closely together and perfectly understand where they are heading to and why.
This is exactly how we execute discovery phases for our clients. We know such an approach have long-lasting, extremely positive consequences and dramatically improve the end result of our work.
ABOUT THE AUTHOR
Joanna started her career in IT as a Quality Assurance Engineer and quickly discovered that she prefers working with real people to working with computers. Now, as a Senior Business Analyst, Joanna still strives to improve the quality of the projects by facilitating discovery workshops and managing software requirements.
In her spare time, fascinated by the possibilities offered by processing paper – she creates birthday cards and photo albums with the scrapbooking technique.