29 June 2021
Discovery Phase: a Must-have Step in Software Development
According to BCG estimations, 70% of digital transformation efforts fall short of meeting targets. The Standish Group’s 2020 CHAOS report estimated that around 66% of software projects fail, and a 2020 CISQ report demonstrated that the total cost of unsuccessful development projects among US firms reached $260B. If you don’t want to become part of these sad statistics, we recommend paying due attention to the initial discovery phase of a software development project. In this article, we’ll talk about what exactly the discovery phase includes and how it can benefit your product. We’ll also dwell on the main stages, deliverables, and cost.
What’s a Discovery Phase in Software Development?
The discovery phase in software development is the preliminary step where requirements are identified and business goals are analyzed. This phase is essential to make a proposal for UI&UX design and technical implementation, to fix the project scope, and to estimate development costs. In order to do this, the project team needs to identify the product that the customer wants to develop, as well as its core audience and its functions.
Usually, there a number of stakeholders are involved in the discovery phase of a project. A stakeholder’s function is to determine project goals, describe its requirements and expectations, and to give a general idea about the environment, infrastructure, and audience.
- Business analysts and project managers. BAs and PMs are the first to take action during the discovery phase. BAs study the project goals and explore its potential on the market. PMs connect all the roles, make sure that clients and vendors are on the same page, and that all requirements of the project are taken into consideration.
- Design experts. UX/UI designers take an active part in the discovery phase design process. They participate in competitor analysis, audience research, and product vision development.
- CTO, tech lead, and engineers. They are involved in the technical discovery phase in software development. These experts gather and analyze tech requirements and select the right stack based on their experience with similar projects, as well as their knowledge of platforms, solutions, and technologies.
Benefits of Discovery Phase In Software Projects
We’ve singled out five major benefits that demonstrate the importance of the project discovery phase in software development.
Come to a common understanding of the project
When client and vendor are on the same page, the chances of the project’s success are increased. With a prototype created by the discovery team, you will avoid a situation in which the final project is not what you intended to create. The vendor’s team can always get back to the prototype and correct things, which is positively reflected in the project budget.
See the project in detail
Your contractor will give you a document in which several ways of technical implementation with development milestones and project versions are suggested. The document is of great value when checking what other vendors on the market have to offer.
The importance of project discovery phase in software development is to enable the vendor’s team to make sure the project will be viable. They address the project’s requirements, understand the wants and needs of core users, and the situation on the market, which considerably minimizes the risk of failure.
Gauge the project budget
If you don’t have the discovery phase, the final cost of UI UX design and development can be excessive. Carrying out a detailed analysis from the beginning means allocating the budget for the work of the specialists who will be involved. However, it will save you money during further development and help to avoid mistakes.
Receive quick feedback
When the design discovery team creates a prototype, you approve what the future project will look like or adjust your requirements to receive the product you want.
What’s more, you can conduct beta testing and allow end-users to test your prototype using such software as Figma or InVisionApp. Their feedback will give you valuable insights and allow you to make the final project even better.
Main Stages of The Discovery Phase in Software Projects
The discovery phase of a software development project includes several sub-stages. We will describe Agente’s approach.
Interview and research
We conduct a series of interviews with our client and domain experts to identify the concept of the future software. We also collect project requirements and any other information that can help us to understand the client’s expectations and goals.
At this stage, we research the target audience, market trends, and competitors.
- Audience. We determine the customers and their needs.
- Market. We understand the market capacity and dynamics (as we do in the UX audit), as well as how it has changed in several years.
- Competitors. By studying your competitors, you first get a specific business education in your field and learn the business's best practical tools.
During this discovery phase in software development, our UX/UI specialists determine what the final product will look like. The Agente team always applies design thinking in a discovery phase of a software project, which is reflected in the process:
- Structuring all the ideas properly, formulating the strategy of the actions with time and financial benefits in mind.
- Creating user personas, user stories, user flows, and information architecture.
- User personas represent the various user types with their needs, experiences, behaviors, and goals.
- User stories demonstrate how a particular feature will deliver a particular value to the customer.
- User flows show how a user goes from their entry point through a set of steps towards a successful outcome and final action.
- Information architecture gives you a visual representation of the product’s infrastructure, features, and hierarchy.
Source: Agente case
- User personas represent the various user types with their needs, experiences, behaviors, and goals.
- Building a low-fidelity wireframe with a basic layout. It helps your stakeholders to focus on a page's key purpose and functionality by deliberately excluding specific details like colors, fonts, logos, and exact sizing.
When the design team has prepared a rough visual presentation,it’s time to dive into technical details.
At this stage, our technical specialists prepare all the documentation for the development process (technical documentation, code review, architecture). We deliver a set of documents that describe the creation, installation, configuration, and use of the software. Product architecture is the structure behind the entire project. It shows how functional elements of the software interact with each other, how data is sourced, how third-party apps should be integrated, etc.
Project Discovery Phase Deliverables
Our client receives a set of deliverables that include the following:
The document describes the types of user personas of your system, their social status, characteristics, goals, needs, etc. This document stores the vital information needed to create an excellent UX.
A user story reminds everyone involved about the desired outcome of each product feature. This allows designers to visualize the functionality of the product, as well as organize and prioritize the way each function is designed. A well-written user story often has the following traits:
- It has a defined user problem/need that has to be solved using your product.
- It’s brief, providing enough information for designers and developers to understand the functional need of a product without detailing how they’ll tackle it.
- It can be easily updated and formatted as the product and project evolve.
We provide an information architecture that focuses on organizing, structuring, and labeling content in an effective and sustainable way. It helps our clients to see how the pieces fit together in order to create the larger picture.
We prepare user flow diagrams that represent the workflow or process from the user’s perspective. In the basic form, user flows represent tasks in the form of a picture with blocks connected by arrows.
A site map is a diagram that shows the organization of app or website content and functions. It gives our clients an overview of the whole content and the way it will fit together. Site maps typically use boxes to represent pages or page states and arrows or lines to show connections.
While a site map provides an overview of an application or a website organization, wireframes show the designs of individual pages. Low-fidelity wireframes are usually black-and-white line drawings of the content and features on a particular page or screen.
How to Determine the Cost of Discovery Phase?
The discovery project won’t take more than 100 hours. It is a perfect option for a moderately complex software development project that lasts 3 to 12 months.
The cost of the discovery phase in software development is $2000 to $4000 on average.
Considering the benefits it brings, the number of specialists involved, and the amount of work to perform, the price is reasonable. The exact cost also depends on the complexity of the project and required deliverables.
There is no project that won’t benefit from the discovery phase. Meanwhile, there are cases when it’s a must:
- When you have no complete idea of the final product
- When there are many responsible and interested people
- When the project is complicated
- When you have a long-term project idea
Among Agente projects with the discovery phase, we want to describe the following two examples: TUOMBO and Franklinmint.
In the first case, our client came with the idea of a platform that would unite people with unique talents and create a community of followers who are eager to learn something new.
From the very beginning, we got a rough idea of the project and started to work out the details. We took users’ needs and market analysis as a basis and developed a set of functions that would satisfy the requirements of every user persona.
The second project is an NFT marketplace, which had to be based on the functionality of opensea.io. We took this platform as a reference and crafted a set of functions that would cover the core audience’s needs.
The Agente team helped both clients to define the project’s functionality and provided them with persona maps, use stories, site maps, and low-fidelity wireframes. We also prepared all the documents for the technical process.
A discovery phase is a software development standard that is essential if you are building a new digital product from scratch, if you are planning to upgrade a legacy system, or if you are starting a grand digital transformation project. It guarantees that the team will provide a competent solution and satisfy your requests.
The discovery phase helps to reduce the overall project budget and also ensures deadlines are met, thanks to a detailed analysis prior to coding and designing the interface.
If you want to unlock all the benefits that the discovery phase of a software project can bring and get detailed advice on your case, don’t hesitate to consult the Agente team.
Frequently asked questions
Whether you represent a private business, a large enterprise or an educational institution, our e-learning platform development services will greatly improve the performance of your company.
Why do you need a discovery phase for software projects?
A discovery phase is an essential step in the software development process. It involves gathering information and understanding the specific needs and requirements of a project prior to the design and development stages. This phase allows stakeholders to identify the goals and objectives of the project, as well as any potential challenges that may arise. As a result, the discovery phase helps to ensure the desired outcomes of the project
How long does the discovery phase in software development last?
The discovery phase is a short stage which usually takes around 100 hours.
Can changes to the requirements be made after the discovery phase is over?
After the discovery phase of a project, it is generally not advisable to make significant changes to the requirements. The discovery is an important stage where the project team defines the goals of the project and gathers the stakeholders’ requirements. Any changes made after this phase can disrupt the project's timeline and budget. However, minor changes or adjustments can be made through careful evaluation and proper change management.
Can the discovery phase be skipped?
The discovery phase involves understanding requirements, defining the goals and objectives, and identifying the scope of the project. Skipping this phase can lead to misunderstandings, miscommunication, and a lack of alignment between stakeholders. Additionally, the discovery phase helps in identifying the resources needed, estimating timelines, and setting realistic expectations. Therefore, skipping the discovery phase can significantly impact the overall success of a software project.
Is there a challenge your organization or company needs help solving? We’d love to discuss it.