It's no secret that poor planning or its complete absence will definitely end in the failure of the project. Moreover, according to some studies, a poorly designed and, therefore, badly implemented project can ruin an entire company. You can avoid such disastrous consequences. Thorough project planning, risk management, and constant monitoring of the project flow multiply your chances of success.
It is worth remembering that the development of any software project is divided into stages. They are often named differently, but the essence of the software life cycle remains the same. Today, we want to tell you about the Discovery phase (DP) of a software project, explain why it is important and how going through this phase will help you significantly increase the chances of a successful launch of the product.
According to generally accepted norms, there are 5 stages of a software project:
- Concept development & initiation
- Monitoring and maintenance
- Closing the project
It is important to remember that the maintenance stage can last for years, and the closure of a project doesn't mean the end of development (which is the third stage), but the complete cessation of any work and the receipt of any information on the product.
You can often find a dismissive attitude towards the preparatory stages among technical specialists since they do not imply direct development. However, the lack of persistence in the early stages can lead to the fact that developers create a product that no one wants. This is why it is important to remember that any software project must go through all stages. Poor planning and a badly thought-out concept can lead to overshooting of the budget, loss of business logic of the product, and shifted deadlines, not to mention the more catastrophic consequences, which we mentioned above.
Returning to our today's question, it is worth clarifying that the Discovery phase in software development is usually somewhere between the initiation and planning stages. More often, this phase affects and complements both stages. Let's strike into the subject and take a look at what it usually includes.
The Discovery phase: what is it all about?
At its core, the Discovery phase is the procedure of discussing a project with a client and collecting as much data as possible. Conventionally, this stage can be divided into two sections: business and engineering. In the first section, negotiations are underway regarding the essence of the project, its ideal customers, goals, and competitors. The segment that the project will enter, as well as possible risks and ways to mitigate them, are also discussed here. Technical managers and business analysis specialists can take part in the business part of the DP.
The engineering part of the DP suggests a discussion of the undeniably technical matter of a future project: features, deadlines, design, value, technology stack, and so on. Ideally, this part should lead to the emergence of the software requirements specification (SRS). This is a kind of document that includes all of the above information and on the basis of which the MVP version of the product and the first design layouts will be developed.
The running time of the DP entirely depends on the specifics of the project, the scale of the team, the intentions, the client's wishes, the available budget, etc. The standard time that is usually allocated for the Discovery phase is 14-21 days, but this period can go up to several months. The cost also varies and is either specified before the start of the negotiations or is figured according to the hourly rate of the specialists engaged.
In general, the essence of the DP is to provide all team members and all stakeholders with a single stack of knowledge about the project, get rid of any confusion & uncertainty, and create a clear work plan for the coming months.
If done correctly, at the end of the Discovery phase, the client and the IT vendor should receive the following data:
SRS. We have already mentioned this document above. It contains the entire architecture and all the technical data of the future project. This documentation should be reviewed and approved several times before being passed on to the heads of technical departments.
UX sketches. Thanks to the creation of an SRS and UX sketch, technical specialists will know exactly how the project should look like, how it will work, what features should be implemented, and so on. At its core, it is a completely tangible template for a future product.
MVP. Depending on the wishes of the client and the agreements between him and the custom software development vendor, the MVP can be developed and validated already at the DP. However, a slightly different approach is more common and at the Discovery phase, only technical details and a deadline for the MVP development are discussed.
Discovery phase advantages
With tight deadlines and small budgets, one can understand why many people do not pay attention to the Discovery phase. Nevertheless, from the above, you can understand the most important benefits it brings to all those who work on the project discovery.
Assessment and mitigation of risks. The information that is discussed at the Project Discovery phase allows all persons involved to fully understand the goals and specifics of the work that will be carried out. Thanks to this, managers can correctly assess how much time and budget will be needed to complete the assigned tasks. This greatly reduces the potential for risks associated with going over budget. Also, the carefully specified essence and purpose of the product allows you to almost completely avoid the situation when the result of work is a product that no one needs.
Clear work plan. Based on the agreed technical requirements, SRS, and UX sketches, technicians can develop an understandable step-by-step plan and follow it. In addition, the presence of a meticulously described technical task and a UX sketch allows you to contact investors, if there is such a need, having something to show on your hands.
Overall understanding and trust. You can read hundreds of reviews, hold several meetings and calls, view all the company's cases, but still, you will not be sure of your choice. The DP is a time of discussion, during which you get closer with the chosen company, build trust and exit the phase with an insight into what you are all doing here and why.
Discovery phase stages
Of course, the details and requirements of the project are always different, but on average, the Discovery Phase project plan consists of the following stages:
- Create a list of all people engaged. The first part of the Discovery Phase template. The list must include not only people from the client's side and everyone who is engaged in the work from the vendor's side but also users of the future product.
- Have a meeting and discuss all the details. A key factor in a successful software Discovery phase. The client and all team members meet together in order to discuss all the details of the project and create a single vision for the future product.
- Evaluate the current technical documentation and data from all studies. It often happens that by the start of the Discovery phase there is already some documentation and some data collected from research. There is no point in throwing them away, on the contrary, it will be possible to move on their basis.
- Create a user profile and user map. This will help you more effectively tailor marketing campaigns to a narrower target audience. In addition, the user map and user profile will help to develop the necessary technical documentation and SRS. For this, it is best to conduct several rounds of user interviews.
- Analyze your competitors. Studying the segment in which your product will be located will allow you to investigate all the disadvantages that existing solutions have. Also, competitor analysis can help determine the niche your product will fill.
- Create SRS on the basis of the data collected. All negotiations and all the gathered data should ultimately turn into a clear list of technical and business requirements that will meet the needs of the client, the desires of users, and the current market situation.
- Estimation and phase end. The final part of the Discovery Phase outline. Estimate and approve the required budget and start developing the project MVP.
Why is Discovery Phase so vital?
Having discussed all the benefits that the phase brings, let's try to simulate the consequences of abandoning it.
You won't build the project you were hoping for. Unspecified details and confusion at the project kickoff lead to the fact that the final result is very different from how the project was originally conceived.
Lack of understanding of the scale of the project. In the absence of the Discovery phase, technicians do not have an SRS and a sense of how the product should look & work, and when to stop adding new features. As a result, this leads to constant product refinement, which leads to overshooting of the budget and the postponement of deadlines.
Lack of room for maneuver. We have already said above that without the Discovery phase, you will most likely go beyond the agreed budget and won't meet the deadline. These factors, as well as those obligations that haven't been detailed, will lead to the fact that both parties working on the project will lose the ability to maneuver. By this word, we mean the ability to change the vendor, abandon the project or make any major changes.
We are confident that the arguments given in this article are enough to convince anybody of the importance and necessity of the Discovery phase for the success of the business. Below, you can find short answers to some project discovery phase questions.
The five stages of project development are:
1) Concept development and initiation
4) Monitoring and maintenance
5) Closing the project
The duration of the Discovery phase varies greatly, ranging from 2 weeks to several months, depending on the specifics of the project.
The importance of the Discovery phase is to discuss at the earliest stage all the details of the future project, identify its goals, target audience, market segment, technical specifications, and design code, in order to create a project that will meet the needs of a client and customers.