How to Benefit with 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 the bottom line (talking from our decade-long experience as a software development company). You will also learn about the step-by-step process and deliverables of Discovery. Finally, we will show a real example of how conducting a discovery phase in web development impacts product strategy and helps design and build top-notch software.
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 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 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.
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, using their knowledge on 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 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.
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. 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.
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, 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 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 and build up your competitive edge.
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.
What about the measurable benefits? Here are the pros that show the importance of the 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 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 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.
Depending on the project, Discovery can take a couple of weeks or several months. In most cases, discover phase process in software development can be broken 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.
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, collaboration scheme, 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 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.
Depending on the size and scope of a project, discovery phase in custom software development would cost between $5k to $15k. 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, detailed specifications, the cost will go up to $10-15k. This is, however, a rare case usually related to large multicomponent systems.
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.
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 project. 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 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 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 the stakeholders on the Client's side and roll out a detailed implementation plan.
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,
The role of Discovery in this success story
Research and analysis that we have conducted during the discovery phase of a web project allowed us to gather important insights and build an efficient design and 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.
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 team to help you estimate the cost and conduct a discovery phase for software development project, leave us a message.
- Client interviews.
- Detailed research on audience, competition, market, technologies, ecosystem, trends, etc.
- Workshops with key stakeholders.
- Presentation and deliverables.