Table of content
What are the chances of hitting the target if you’re shooting with your eyes shut? About the same as starting a software development project without estimating, researching, and analyzing each aspect first.
Yes, all this research takes time - the time the team could have spent actually developing something. But starting a project without comprehensively analyzing it first is unreasonable and quite dangerous. If little attention is paid to the evaluation, the final cost and timeline may exceed what was planned. Our advice is to start every IT project you care about with the discovery phase. And the good news is, you don’t have to do it in-house.
So… What is the discovery phase?
Quite often, companies come up with ideas, but they don’t have a clue on how to implement them. It’s even worse when they aren’t sure about their user needs. This is when the discovery phase of a software project is critical.
The discovery phase is the initial, information-gathering stage of the project when a team of experts identifies the technical requirements and analyzes the business objectives of the project.
Because the discovery phase impacts the entire SDLC, the team of experts usually consists of a business analyst, a designer, and a technical lead. They communicate with the client and the client’s team to learn more about their expectations, preferences, and requirements. Then, they analyze the market and shape the project description to estimate the development costs and timeline.
This approach minimizes the number of changes in the course of development, as the size of the project is defined along with other key factors, like the type of required solutions, functions, and specifications, tools and platforms, time frames and budget.
Why do you need the discovery phase?
Simple: the discovery phase of a software project cuts both the cost and the effort put into implementing an idea, optimizing the development in terms of time and expense.
- Overall, the analysis is necessary to:
- Discover the users’ goals and problems
- Understand the context of the product
- Find new ideas for development
- Understand users' expectations and attitudes about the product
As far as the client is concerned, the discovery phase of a software project helps:
adjust the expected time and development budget to adapt the project to the capabilities of the client
form a closed-loop business process
immediately test assumptions against end-users and receive feedback instantly
All in all, the discovery phase gives the client and the team (in-house or outsourced a common understanding of the solution that is going to be developed. But more than that, it forms the bond and trust critical for the later stages of the project.
Benefits of discovery phase in software projects
It may seem that the discovery phase of a software project increases the complexity and cost. But in fact, everything becomes cheaper and easier. If you look at discovery phase stages through the customer's eyes, it helps:
- get the customer and the contractor to come to a common understanding of the system to be developed and come to consent that is so important in the next phases of the work;
- clear goals and project requirements help you accurately estimate development time and budget;
- you get a complete project schedule with milestones, deliverables, and timelines. The Software Requirements Specification (SRS) and layouts developed during the discovery phase can be used to find additional investors;
- communication at this stage will allow you to evaluate the team's work, experience, and approach to the project and build mutual trust;
- put the expected development time and budget in the requirements to tailor the project to the customer's capabilities.
Stages of a project discovery phase in software development
The discovery phase of a software project is a multi-stage analytical process, which takes one to five weeks, depending on the scope of the project. Initially, the composition of the team. The classic version is the team lead, designer, and architect (technical specialist). Also an obligatory member of the team is a BA (business analyst).
The team is in regular contact with the customer, progressing through the stages of the discovery phase in software development:
- Definition of conceptual directions i.e. project goal, tasks to be solved, functionality, and interface requirements;
- Study of the niche - BA collects information on similar products to simplify, respectively speed up the development process;
- Definition of the target audience and characterization of the end-user. This includes interviews and surveys of the audience the project is aimed at;
- Market analysis as it is important to distinguish the IT project from the analogs already offered by competitors;
- The development of a list of requirements for the product, based on the information collected.
The closest cooperation with the customer is necessary at this stage. The documented result of the business analytics is the Software Architecture Document, created by the architect. The final stage of the Discovery Phase is the calculation of the budget and implementation timeframe. All of the above is also provided to the customer in a document format.
How much does a discovery phase of a software project cost?
It is impossible to say exactly how much the discovery phase of software development costs. This is because each project is highly individual and the discovery phase in software development can take either two days or two months.
Moreover, much depends on the cost of a business analyst and other specialists in each case, as well as the range of services they provide. For a small project, it may take about a week or two to go through discovery phase stages, for a larger project it will take about two months of work.
If you still need some specific figures, we can tell you the following. The cost of the discovery phase typically takes anywhere from 10% to 45% of the cost of the entire project. Remember the main thing, no matter how much you invest in the future it will pay off and even the high costs of the discovery phase will result in savings in the next phases by clearly understanding the goals and objectives.
The bottom line
A thoroughly conducted discovery phase stages are your key to a product the audience will love, developed on time and within budget. For the engineers, the phase gives a clear roadmap, and for the client, it’s a guarantee every effort was made to deliver an outstanding solution.
AUTHOR
Mykola Breslavskyi
CTO
I am passionate about technologies. Adore solving challenges of our customers: going under the tech problem and trying to deal with a reason rather than a symptom. I do believe that is why our clients choose Perfsol.