Discovery Phase in Software Development
Discovery Phase in Software Development
This article is focused on the role of the discovery phase in software development. We will explain why it is important and how it affects project outcomes and bottom line (talking from our decade-long experience as a software development company). You will also learn about a step-by-step process and deliverables of Discovery.
In this article:
- What is a discovery phase in a project?
- Who does a Discovery project?
- Why do you need it?
- Benefits of a discovery phase.
- Key Steps of the Discovery project.
- Deliverables in a discovery phase of a project.
- How much it costs.
- Success story.
What is a discovery phase in software development?
So what is a discovery phase in software development? To put it simply, this is the preparatory stage of the project when we do all the groundwork. At this stage, we analyze market and competition, study target audience, gather industry insights and best practices as well as explore technologies and business opportunities that could be relevant for the project.
During the discovery phase, we collect requirements, assign priorities and, importantly, create a roadmap that describes how the system will evolve from idea to launch.
Who does the discovery phase of your project?
As a rule, these roles are engaged in a discovery phase of a software project.
On the client’s side
Stakeholders and domain experts
Stakeholders play a key role in a discovery phase. They provide the background information about the project and share necessary industry insights. Everyone on the client’s side who has an interest in the project and can add value becomes a stakeholder, including executive managers, product owners, marketing and tech specialists and domain experts. Stakeholders tell us about project goals, describe their requirements and expectations, give a general idea about the environment, infrastructure and audience, share ideas, provide examples if there are any, etc.
On the vendor's side
Lead designers and UX experts
UX/UI designers take an active part in a discovery phase, particularly, in the competitor analysis, audience research and product vision development. Pro designers have valuable experience and knowledge of UX/UI best practices and make huge contribution when it comes to understanding users and their goals and creating a winning user experience.
Tech lead, senior engineers and architects, CTO
Engaging a powerful tech team is the key to a successful Discovery project. After all, we are building a digital system. These experts gather and analyze tech requirements and help select the optimal stack based on their knowledge of platforms, solutions and technologies. Tech team can break down a system that is yet to be developed into functional components and work out its architecture and logic.
Business analysts and project managers
BAs and PMs are the least in the list but the first to take action during the discovery phase. Business analysts study project goals and explore its potential from the market perspective. Project managers connect all the roles, make sure clients and vendors are on the same page, all requirements and aspects of the project are taken into consideration and expectations are met.
Why starting your software product development with a Discovery project?
Good question. Why do you need to roll out Discovery and engage so many people before you even start the development? Experience suggests that this is the way to save a ton of time and money and avoid painful mistakes.
Here are several benefits of discovery phase in software projects that explain how exactly this works.
Get a comprehensive view
Discovery phase of a software development project is a unique opportunity to introduce the cross-industry experience to your project. You are a pro in your domain and know exactly how things should work in your field. When you start a Discovery project with an IT service provider, you bring in the experience and knowledge of multiple experts who have worked in various industries and markets, who are fluent in design best practices, who can suggest a shortcut or, on the contrary, point out important things to look into.
Example: In 2020, we started working with a new client, a photo lab from Canada. They wanted to improve their eCommerce experience and develop new online services and products. We started with a Discovery project. At Digiteum, we have a solid experience in photo and eCommerce and first-hand knowledge of how to build software in these domains. We used our expertise in these areas, experience from other highly competitive niches and geos and blended it with the insights we gained after researching the client’s market. As a result, we could develop a clear vision of how the client’s online services could evolve in line with industry standards and global best practices in eCommerce.
Bring tech competence
Similar to the previous point, Discovery project is an opportunity to bring in tech expertise to your project. From a software engineering standpoint, Discovery is the step when we collect the data that helps make essential architectural and technical decisions. This benefit is particularly important for companies and startups that don’t have in-house tech teams or any experience in software development. However, even tech-savvy clients find it useful to engage IT vendors to bridge their gaps in tech expertise and enrich their vision.
Optimize the cost of development
Discovery phase is a practical step. It allows to work out an idea in minute detail, carefully plan design and development and, as a result, avoid costly delays, hitches or serious strategic blunders.
Find your competitive edge
If you are building a new software in a highly competitive niche, say retail, finding and formulating your competitive advantage is essential. To do that, you need to study the market, competition and future audience and find a way to provide more or/and better value than any similar product in this niche. When we make a Discovery project, we conduct thorough research, determine the strengths and weaknesses of the competitors, find the gaps in their offer and identify user needs that haven’t been addressed yet. Using these insights, we can shape your value proposition and build up your competitive edge.
Create a clear product vision
One of the main reasons for a discovery phase of a project is to develop a clear vision of a software product. Often, a client has a breakthrough idea but a vague understanding of what exactly a product is and how to bring it to life. In this case, discovery phase becomes a key step to fill in the gaps, collect necessary data, define project goals and draw a clear product vision. Moreover, the insights gathered during Discovery help refine product idea and give a new perspective on how it should be implemented.
Other benefits of a discovery phase in software project implementation
What about the measurable benefits? Here are the pros that show the importance of project discovery phase in software development and convince even the most pragmatic minds that it is worth every penny.
New product development is always associated with certain risks. Thorough research that we conduct during the discovery phase helps assess and minimize these risks such as:
- Unnecessary investment to features and functionality that has no demand on the market.
- Poor design and technology choices that will require amends, change in tech stack and result in the delayed launch and added expenses.
- Failure to identify and properly address user needs and market requirements.
- Discovering issues or limitations in the middle of project development.
Project estimate is an essential deliverable of the discovery phase. It clarifies what you will need to build your system and put it to the market.
- How much time it will take to design, develop and deploy the system, including a detailed timeline and milestones.
- Team and expertise you will need to implement the project.
- Preliminary cost of design and development.
- Other resources you might need to engage.
We will go through the list of deliverables later in the article, so stay tuned.
Clever feature prioritization is one of the pillars of successful product development. It helps avoid requirements creep, optimize the time and cost of development and make sure all the necessary features get to the scope.
There are different methods to prioritize and document requirements. During Discovery, we gather important information about end users, project goals and available resources to assign priorities, build a development strategy and project roadmap.
Have a breakthrough business idea and looking for a skilled team to verify its viability? No time to waste, let’s start with a Discovery project! Drop us a message with a high-level description of your idea and we will get back to you within a couple of days to discuss how we can help.
Let's discuss your project
Key steps of your Discovery project
Depending on the project, Discovery can take a couple of weeks or several months. In most cases, we break it down into 4 simple steps.
- Interview. We conduct a series of interviews with the client and domain experts to learn about the concept of the future software. We ask about competitors, audience, existing infrastructure, collect project requirements and any other information that can help us understand stakeholders’ expectations and goals. If a client has already made preliminary research, for example, a marketing study or user survey, we bring in these insights to create a more comprehensive view of the project and its potential.
- Research. This step engages the key participants of the Discovery project on our side — business analysts, lead tech and design experts and management. We conduct a detailed analysis of the input data and make research. Our specialists study audience, market, competition, trends, industry standards, client’s brand specifics and existing infrastructure, technologies as well as third-party platforms and solutions that could fit the scope of the project.
- Workshop. Transparency and effective communication are important at all stages of a project, discovery phase is not an exception. Therefore, as soon as we have articulated project requirements and findings, we conduct a workshop with key stakeholders and the analytics team to approve the scope, go over the details and make sure everyone is on the same page. Then, we can get down to deliverables.
- Deliverables. It’s time to present the result of the Discovery. We prepare all the documentation, reports and other deliverables. As a rule, we conduct another workshop with the client and other stakeholders to communicate the results of our research, explain the proposed strategy and offer a step-by-step plan for system development.
Deliverables of discovery phase in software development
Here’s the list of deliverables that you could receive at the end of the Discovery. You may get some or all of the deliverables listed below. It depends on many factors, including the stage of development, project goals and available resources.
User portfolio describes the personas that represent the future users of your system, their characteristics, goals, requirements, etc. This document stores vital information needed to create an excellent user experience.
Report on competition and market research
This report includes the findings of competition and market research and expert recommendations on how to outdo competitors and better address the demand of the market.
Project goal statement and value proposition
One of the essential deliverables will articulate project goals, provide a detailed vision of the future system and its main advantages.
Documented project requirements include all functional and non-functional requirements, detailed and prioritized. This document gives a glimpse of how the product could evolve from a prototype to an MVP and then to a fully-fledged system.
Project scope and estimate
You get a detailed project scope that explains what resources you need to implement the project and how much time it will take.
Project implementation plan
Project roadmap is a product development plan visualized and shown on a timeline to provide a clear picture of the development process and delivery.
Visualized concept of the future system
Depending on the terms of the Discovery project, it can be a set of black-and-white wireframes that demonstrate user flows and system functionality, user interface design ideas, a clickable prototype or even a finished UI design.
How much it will cost
Discovery project that does not include UX/UI development will cost around $5k and won’t take more than a month. It is a perfect option for a moderately complex software development project that lasts 3-12 months. Typically, it does not require a very detailed development specification.
The cost of Discovery grows depending on the complexity of the project and required deliverables. For example, if it includes UX/UI design and detailed specification, the cost will go up to $10-15k. This is, however, a rare case usually related to large multiplatform systems.
Let's discuss your project
The best way to show what a Discovery project can do for a company is to tell a real story.
We have been working with a leading US photo printing lab, Printique, as official tech providers for almost a decade. They have always been pioneers and innovators in their niche, and it is our job to help them stay atop and show tech excellence in every online service they provide.
So when the time came for Printique to automate the photo book building process and create a suitable software product, discovery phase was the right starting point. We went through the top 10 most advanced competitors, studied their offers for the same service, found out their strengths along with the gaps and figured what we could do to provide a better service.
At the same time, our BA and design team made a profound research work on Printique’s diverse audience, created unique personas and user stories for each group and laid down the groundwork for the future user experience. Tech team selected technologies, integrations and worked our strategy to develop a fully-automated HTML5 wizard to build photo books online. By the end of the Discovery project, we could present a well-developed product vision to Printique’s management and roll out a detailed implementation plan.
Right after the discovery phase, we got down to design and development and released a custom wizard on time and on budget. New tools were widely appraised by both end-users and independent reviewers. In a 2020 review,
How do you know if you need a Discovery for your project? Discovery phase in custom software development is an industry standard. It is essential if you are building a new digital product from zero, planning to upgrade a legacy system or start a grand digital transformation project, or simply have an idea and need to know how to move on with it.
However, it does not mean that every single software project should start with a Discovery. If you are somewhat in the middle, have an approved UX and UI design and come to a new vendor to develop a system for you, you won’t need to roll back to Discovery. If you have a well-structured strategy and know your scope, you can also skip the Discovery.
Either way, talk to your software development provider to find the best course of action in your particular case. If you are looking for someone to give you a free consultation on this subject, leave us a message.
Let's discuss your project