If you ask someone to explain the phases of software development, it’s likely that you’ll hear first about design, coding, testing, deployment and, maybe, further technical maintenance. All these answers are correct. But in looking at the entire development process, this list lacks one crucial point: the project discovery phase.
If you want your software project to succeed, don’t underestimate the importance of this stage, which can save you from project failure. To learn how, keep reading. We’ll explain the peculiarities of the discovery phase and its importance.
Project Discovery Phase: What is it?
Let’s start with a general definition of the project discovery phase, sometimes known as the scoping phase
In software development, it is the first stage of the project realization. It includes collecting and analyzing information about the project concept and its end users, including their needs and demands. The development team's task is to ensure they correctly understand the client’s needs and that the final product will fully meet the client’s expectations. In other words, this gives the vendor and client the opportunity to ensure they are on the same page and understand each other.
The process of gathering this information usually also includes research into competitors and the current market situation. The result of the project discovery phase should be a clear, in-depth understanding of the goals of the project, its scope, and potential pitfalls
The main aspects under research at this phase include:
- Product idea
- Product requirements
- Possible challenges and potential solutions
- Approaches to achieving the greatest optimization and feasibility of the development roadmap.
Based on the gathered data, the development team decides on the tech specifications and provides the client with all the necessary tech documents.
It’s important to understand that a poor understanding of market peculiarities and project scope often leads to failures, including problems with meeting deadlines and keeping the project within budget.
Benefits of conducting a project discovery phase
What are some other benefits of going through this phase? Is it really worth devoting time to it?
- At this phase, it is possible to validate the idea itself and determine the entire product vision.
- You can get your software architecture built and all core features identified.
- Developers gain a good understanding of the whole scope of the project, and thanks to that clients can get clear deadlines for the project realization.
- Customers get a more precise estimate of the budget needed to build the product.
- You may get a pixel-perfect design of your app. (Note that this is not an obligatory component of this stage; for some clients, it will be enough to see only wireframes at this phase.)
- The risk of ending up with software that differs from expectations is minimized. At this stage, developers can gather all the information they need from the client, while clients can ensure their wishes are understood correctly.
- Customers have a great opportunity to communicate closely with the development team before proceeding to project development and to see whether they are satisfied with the quality of communication and business approaches. If something goes wrong, clients can take the prepared technical documents and continue work on the project with another vendor.
This obviously means the discovery phase can help avoid many issues related to budget and deadlines and detect potential difficulties in cooperation with your development team before starting active development.
When can you skip a project discovery phase?
Though we shouldn’t underrate the role of this stage, there are times when it can be skipped, for example, when:
- You already have a software solution and just need to enrich it with some features or to introduce some changes.
- You already have all the necessary project tech documentation (it may even have been prepared by another vendor). In this case, it will be enough just to conduct an audit of the existing documents and proceed to the development phase.
In all other cases, especially when you’re building a product fully from scratch, we highly recommend including this phase.
Team required for the project discovery phase
The composition of a team that will be involved in the activities of the discovery phase is rather flexible and can be changed, depending on the peculiarities and scale of your project. But for helping you to get a general understanding, we can define a standard composition that is typically required for such tasks.
- Business analyst. This specialist works directly with clients to prepare requirements for the project, identify key goals, define a target audience, and elaborate key use cases of the solution.
- Developer. During the project discovery phase, a developer needs to find out what technologies will be the most feasible option for building the software under consideration.
- UI/UX designer. A designer has a task to make sure that a user experience will correspond to the goals of the project. This team member is also responsible for creating prototypes and wireframes.
- Project manager. This expert is in charge of organizing all the processes within a team, making schedules, and tracking the progress.
Step-by-step process of a project discovery phase
Given the differences in business approaches between software development companies and the peculiarities of projects, steps included in the discovery stage can vary. At Cogniteq, based on the requirements and needs of our clients, we offer several options.
When we start work on a project we always offer a free business analysis default stage. In the framework of this stage, we can organize for you one or two workshops with a business analyst who will help you to determine your requirements, identify the scope of work, and get a general understanding of the required budget and timelines.
But if you have a complex project with requirements that are not clearly stated, such consultations may not be enough for achieving all the goals and a full-scale discovery phase will be the best option. Namely, the discovery phase will allow the team to get an in-depth understanding of the client’s needs and the vision of the project. Based on the results of this stage, the team can estimate the budget and time required for the project realization.
As all products are different in their scale and specificity, it is challenging to name a list of universal steps for research at this stage. But as a rule, the plan looks the following way.
Step 1. Preparatory stage.
To begin with, the development team gathers the most basic information about the project, its goals, and the client’s expectations. We need to understand the tasks that the client wants to address with this solution and how and by whom this solution will be used. We always ask clients to provide us with all the project documentation that they have. Any related information is of great importance for our business analysts who will need to get well-prepared for the further steps.
Step 2. Product discovery workshops with clients and other stakeholders
At this step, we offer to organize one of a couple of workshops that will allow us to define all the purposes of the project, validate them and discuss a lot of related aspects. The main topics are the target audience, the business model, user stories, and the development roadmap.
On the basis of the gathered business requirements, we already can prepare initial tech requirements and think about the tech stack to be used.
Step 3. Definition of artifacts and design.
We rely on the results of conducted workshops while planning the product architecture, creating wireframes, and developing all the necessary tech documents.
Thanks to wireframes and prototypes, it is possible to see whether the team and the client are on the same page and whether all the stakeholders’ expectations were interpreted in the right way. Based on the needs of our customers, after wireframes, we can create a user-centric design that allows clients to get an interactive prototype already at this phase.
Depending on the requirements of our customers, we can also prepare user personas and a customer journey map.
Step 4. Presentation of work results.
When all the previous steps are completed, clients get a full set of project documentation that we will consider further at the next steps of project realization. We will present a tech specification that is required for preparing accurate cost and timeline estimates.
Now everything is ready to proceed with the development.
Our specialists can help you to evaluate your idea and minimize further risks related to the development of your software product.
Discovery phase deliverables
What can you get after the project discovery phase is over?
- Vision and Scope. This document fully describes the future software solution, including its application areas, use cases, key features, core functionality, user roles, and steps toward implementation. This is one of the most important documents that a project manager will use to control and organize the development process.
- High-level solution architecture. This provides an overview of the entire solution with all the major components that should be built for the product, as well as their interfaces.
- User-centric design. The client can get a pixel-perfect design of the solution that will help define, even at the discovery phase, whether something should be changed. It helps prevent a situation where significant improvements are suddenly required much later, after the product is substantially developed, causing serious shifts in deadlines.In some cases, instead of the entire design, it is enough to present only wireframes. These usually include the most basic visuals and content. They are usually not interactive and merely serve as checkpoints for the project team at the initial stages of the design process. They help to visualize and test concepts and requirements. However, wireframes can also present more precise visualizations. It all depends on the client’s demands.
- Development plan and detailed estimates. The team describes all the development steps, with set deadlines and tasks included in each step. The provided information also includes estimates that will help clients to better allocate and manage the budget and understand what they are paying for.
- Backlog with user stories and acceptance criteria. User stories are informal explanations of the product’s features, written from the perspective of the app users. They serve to describe how a particular feature will bring real value to a user. The Agile discovery phase approach usually includes user stories in a backlog, a list of tasks needed to be fulfilled for building a product.
A backlog also contains acceptance criteria that explain the expected outcomes in simple language, clearly stating what is acceptable and what is not.
Duration and cost of a scoping phase
The time and resources needed for conducting this research and getting the key deliverables greatly vary based on the individual peculiarities of each project.
On average, a discovery phase takes 2–6 weeks. But the exact duration of this stage will depend on the complexity and size of your project. For example, for small projects, a discovery team is able to fulfill all the required tasks just within 1-3 days. Nevertheless, if you have a large project (such as the development of a huge enterprise system), this phase may take more than 6 weeks.
The cost of such services can also differ significantly. You can work with a discovery team on the terms of either a fixed price or Time & Material model. In the second case, the amount will be calculated based on hourly rates and the time that each member of the team has spent on the tasks related to your solution.
It’s not an exaggeration to say that the discovery phase is one of the most crucial stages for minimizing project failure risks. Some may argue that this phase is an unnecessary expense, but the reality is that it is part of a money-wise approach to software development.
At Cogniteq, we pay a lot of attention to market research and concept analysis, as we strongly believe that data gathered at the preparatory stage will help organize the development process in a feasible and efficient way, plan the budget, and set deadlines that will be met successfully.
We encourage customers not to skip this step, as it is also a great opportunity to get to know each other better and to build trust with your vendor.
If you have an idea of the project, our experts are always ready to help you with the development of all the necessary tech documentation and market research needed to ensure your project thrives. Leave your message for us and we will contact you as soon as possible.