Aug 11, 2023

Katherine Lazarevich

discovery project

Digital Strategy, Expert View

Discovery Phase in Software Development: Everything You Need to Know

Roughly one in three software development projects substantially exceeds its budget, misses its deadline, or fails completely. The reasons for failure vary from unrealistic expectations and inaccurate cost estimates to poor planning and requirements management. One industry-standard method helps prevent project failure, foresee possible issues, and mitigate risks — start with a discovery phase.

discovery phase statistics

This guide 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 the bottom line (talking from our decade-long experience as a software development company). You will also learn about the deliverables, timeframe, costs, and stages of a project discovery phase. Finally, we will show a real example of how conducting a discovery phase in web development impacts product strategy and helps you design and build top-notch software without draining your budget.

What is a discovery phase in software development?

So what is a discovery phase in software product development? The simplest definition suggests that this is the preparatory stage of the project. At this stage, we do all the groundwork – analyze the market and competition, study the target audience, gather industry insights and best practices as well as explore technologies and business opportunities that could be relevant to the project.

During the software development 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.

discovery phase in software development participants

On the client’s side

Stakeholders and domain experts

Stakeholders play a key role in the discovery phase. They provide 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 the discovery phase, particularly, in competitor analysis, audience research, and product vision development. Pro designers have valuable experience and knowledge of UX/UI best practices and make huge contributions 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, using their knowledge of how to compare frameworks, help choose the right platforms, solutions, and technologies for the project. 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 software 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 start your software product development with a discovery phase?

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.

Discovery Project benefits

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 tech and business professionals 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. During the discovery phase of a web project, we could develop a clear vision of how the client’s web system could evolve in line with industry standards and global best practices in eCommerce.

Discovery deliverable

Need to start a web system or website development discovery phase on your project and are looking for a skilled web development services provider to kick off? We can help! Contact our team and tell us what exactly you are looking for.

Bring tech competence

Similar to the previous point, the 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 is a practical step. It allows you 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 new software in a highly competitive niche, e.g. 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, build up your competitive edge, and create a market-driven product strategy.

Create a clear product vision

One of the main reasons for starting with 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 becomes a key strategy to fill in the gaps, collect necessary data, define project goals, and draw a clear product vision. Moreover, the insights gathered during the project discovery phase of software development will help refine a 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.

Minimize risks

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 in features and functionality that has no demand on the market.
  • Poor design and technology choices that will require amends, changes in tech stack, and result in 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.

Estimate resources

discovery phase

Project estimate is an essential deliverable of the discovery phase. It clarifies what you will need to build your system and put it on 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 all project discovery phase deliverables later in the article, so stay tuned.

Assign priorities

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.

Key stages of a project discovery phase

discovery phase in software development process steps

Depending on the project, Discovery can take a couple of weeks or several months. In most cases, discovery phase process in software development can be broken down into 4 simple steps.

Stakeholder interviews

We conduct a series of interviews with the client and domain experts to learn about the concept of 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 involves 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.

Workshops

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 software 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 outcome of the discovery process. We prepare project documentation, reports, and other discovery phase 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.

Here’s the checklist 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, collaboration scheme, and available resources.

User portfolio

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.

user personas UX

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 and provide a detailed vision of the future system and its main advantages.

Documented requirements

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 design prototypes to an MVP and then to a fully-fledged system.

Read: Flutter MVP development to speed up time to market

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.

Design concept of the future system

mockup improve user experience

Depending on the terms of the project, it can be a set of black-and-white wireframes that demonstrate user flows and system functionality, user interface design ideas and elements, a clickable prototype or even a finished UI design.

How to determine the cost of discovery phase

Depending on the size and scope of a project, discovery phase in custom software development would cost between $6k and $15k. Discovery project that does not include UX/UI development will cost around $6-8k. 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 together with the complexity of the project and required deliverables. For example, if it includes UX/UI design, detailed specifications, the cost will go up to $10-15k. This is, however, a rare case usually related to large multicomponent systems.

Yes, Discovery project is an upfront expense. But the cost for discovery phase as a percentage of project is insignificant. It usually covers less than 10% providing tremendous benefits and minimizing costly risks.

How long will the software discovery phase take?

Normally, the discovery phase takes 2 to 4 weeks depending on the complexity of the project and required deliverables. During this timeframe, we gather all necessary information, make profound research, and prepare a comprehensive set of deliverables, including research findings, project roadmap and detailed estimate, and design concept.

Some software projects, however, require longer Discovery that may last up to 2 months. For instance, for complex multicomponent systems that require comprehensive technical analysis, review of infrastructure, and research and selection of integrations and third-party components. A Discovery project that includes a complete UX/UI design or redesign may also last several months.

Ready to start your Discovery? Let's talk about your ideas and bring them to life!

Discovery phase in web development: example from our portfolio

The development of a complex user-centered web application is a resource-intensive task that requires competence, time and a significant budget. This is why starting with the discovery phase in web development is a common approach. It helps businesses work out a detailed strategy, estimate resources and understand what technologies to use to deliver a scalable future-proof web application.

The scope of the discovery phase of a web project includes among other things:

  • Analysis of business and technology requirements: business goals and product vision, functional requirements, scalability expectations, hosting approach.
  • Profound technology research: existing infrastructure, industry standards, available technologies and tools in the market, third-party integrations, technological limitations and constraints.
  • Technology solution proposal: technology stack, frameworks and platforms for project implementation, maintenance and testing, visualization of high-level system architecture.
  • Analytics strategy: analytics strategy and tools for web app performance monitoring and management.

Real-world example of successful project discovery phase

The best way to demonstrate the impact of the Discovery project on business outcomes is to tell a real success story. This story shows how the Discovery project helped a major US photo printing lab create an unparalleled user experience for millions of customers and establish strong leadership in the market.

Digiteum has been working with the Client as an official tech provider for almost a decade. They have always been pioneers and innovators in their niche, and it has always been our job to help the company stay atop and show tech excellence in every online service they provide.

So when the time came for the Client to automate the photo book building process and create a suitable web application, we kicked off with the discovery phase. We went through the top 10 most advanced web platforms that provide similar or related services, studied their offer, found out their strengths along with the gaps, and figured out what we could do to provide a better service.

At the same time, our BA and design team made profound research on the Client'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 out the strategy to develop a fully-automated HTML5 wizard to build photo books online. By the end of the discovery phase, we could present a well-developed product vision to the stakeholders on the Client's side and roll out a detailed implementation plan.

user experience workflow

Right after the discovery phase, we got down to design and development and released a custom web application on time and on budget. New tools were widely appraised by both end-users and independent reviewers. In a 2020 review, PCMag wrote that the company “boasts a superior web interface”, pointing out “superior website usability and features” as some of the major pros of their services.

The role of discovery phase in this project

Research and analysis that we conducted during the discovery phase of a web project allowed us to gather important insights and build an efficient design and agile development strategy. As a result, we could:

  • Develop an effective user-centered design based on real user requirements and needs.
  • Prioritize requirements effectively and make sure the scope of work is relevant. We were working on the right functionality in the right order and could avoid unnecessary iterations saving the Client a lot of time and money.
  • Choose optimal tech stack from the start and know what skills and competence we needed to deliver the product.
  • Enable fast time to market.

Remove guesswork from your software project

Start your software project with clear requirements, accurate estimate, and detailed roadmap.

HIRE DISCOVERY TEAM

Ensure the success of your software project with Digiteum

Leverage our rich experience in custom software design and development to kick off on the right foot. We will help you build a solid foundation for the success of your project. During the last 14 years, we have helped several companies use the power of Discovery to transform vague ideas and unclear requirements into successful digital products.

  • We conducted a comprehensive Discovery project to help a leading photo printing company in the US design and build unique online photo editing and printing services. Since launch, the company has beaten the competition time and again, maintained leadership in a highly-competitive niche, and won countless awards for excellent online experience. Read the full success story...
  • Our client in Canada needed to completely redesign and reengineer their legacy web application to successfully compete and provide excellent user experience to B2B clients. We kicked off with a 1-months discovery phase to analyze the market and the Client's goals and build an effective modernization strategy. Based on the results of the Discovery, we redesigned and build a fast and high-performing application seamlessly integrated into the client's business process. Read the success full story...

Final thought

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 an experienced and well-qualified team to help you estimate the cost and conduct a discovery phase for software development project leave us a message.

This post was originally published on January 26, 2020 and updated on August 11, 2023.

FAQ

Does every software project need a discovery phase?
Many businesses understand the importance of the project discovery phase in software development. However, not every project has to start with Discovery. If you already have documented project requirements, UX/UI or ready-to-go product strategy, you don't have to get back to the discovery phase.
How to estimate the cost of discovery phase for software development?
The cost of Discovery depends on the complexity of the project, goals, resources, and deliverables. On average, the cost of a Discovery project conducted by an experienced software provider will range from $5k to $15k.
What does the process of Discovery consist of?
A typical discovery phase process in software development includes several key stages:
  • Client interviews.
  • Detailed research on audience, competition, market, technologies, ecosystem, trends, etc.
  • Workshops with key stakeholders.
  • Presentation and deliverables.
How long on average would a software discovery phase take?
On average, a discovery phase takes 2-4 weeks depending on requirements and deliverables. Complex projects that require detailed technical analysis, UX/UI design, and prototyping take longer and involve more specialists.