Outsourcing
Discovery Phase of Project: Key Steps to Follow
As companies continue to shift towards a project-based approach, understanding the lifecycle of a project becomes exceedingly important. Whether we're talking about software development or UI/UX design, each project goes through multiple stages. However, the focus of this article will be on a particularly crucial phase that often sets the tone for the entire project - the discovery phase.
The idea behind the discovery phase is similar to building a house – without a solid foundation, risks come at a high cost. This stage is where you will minimize these risks, remove uncertainty, set achievable goals, and make decisions based on real market demand.
Below, we will share the steps we take at ElifTech during the discovery phase of project. We will explain the benefits, discuss team roles, suggest ways to improve this phase and explore what happens if you skip it.
What is the discovery phase of project?
There is always a gap between a new idea that may cross your mind and a detailed plan that helps turn it into a reality. That's where project discovery comes in.
Project discovery is the initial phase of a project that focuses on gathering information, exploring ideas and the target market, and setting technical specifications. It's also a stage dedicated to understanding the project scope and requirements before moving into actual development.
At the end of the project discovery phase, the client receives a well-planned project roadmap that includes objectives, requirements, necessary resources, timelines, and strategies to manage risks. In other words, a part of software product development service is to provide the customer with all the documentation needed to start the project.
Components of the discovery phase of a project:
- Business Analysis: Understanding the business goals, market demands, target audience, and competitive landscape. This ensures that your project is aligned with your business objectives and will cater to your audience's needs effectively.
- Technical Analysis: Evaluating the technical requirements, scalability needs, security considerations, and third-party integrations. It helps in choosing the right tech stack for your project.
- Risk Assessment: Identifying potential project risks and challenges allows for the formulation of strategies to mitigate them.
- Roadmap Creation: Developing a detailed project roadmap that outlines timelines, resources, project scope, and task allocation.
Even when your project is underway, it's never too late to begin the discovery phase. You can run this process whenever you need to identify and address important factors that were overlooked or missed before they impact the final product.
Why does a project discovery phase matter?
If you are unsure whether your idea will work if you don't understand if it will appeal to the intended market, if you doubt whether the budget is sufficient, or if you have serious plans to succeed in the long run, the discovery phase in software development is undoubtedly crucial for you. Here, we detail each benefit you can get from project discovery.
- Clear and shared project vision
The discovery phase of a software project is where all stakeholders gather to brainstorm and analyze ideas, explore solutions, minimize misconceptions, and decide on an action plan with a clear goal and direction. While this stage helps businesses foresee challenges and find the best solutions to problems, it also helps establish a unified vision toward a common goal before the development starts. For example, a digital wallet discovery phase might involve gathering insights from financial experts, developers, and end users to identify key features.
- Wisely planned budget
Understanding the product environment, audience, and business model lowers uncertainty during implementation. That makes the project discovery phase a crucial part of the process that allows you to plan every aspect of the project, reducing risks of hidden costs and unexpected surprises.
To achieve this, quality software product discovery services define the necessary features and chooses the best tech stack, estimates development efforts, and predicts launch costs. All of this information is compiled into a clear plan with clear requirements and specifications. Developers and designers strictly follow this plan, and deviations from it simply do not make sense.
- Deep understanding of the problems that need to be solved
Creating a product that is merely a "nice-to-have" for your end customers is pointless. Ultimately, your investment will go into a solution that doesn't deliver value to users. This is exactly the scenario that the discovery phase helps to avoid. It allows you to understand your target market better, learn about user pain points, and focus on the fundamental problems that need to be solved, ensuring user interest.
- Risk mitigation
One of the goals of the discovery phase is to be well-prepared for development, cutting down risks in two key ways:
Spotting problems early – by looking closely for issues during discovery, we can solve them before they cause big trouble in development.
Making smart, well-grounded choices – understanding the needs, what users want, and technical challenges helps us make informed decisions and reduce mistakes.
- Faster time to market
Rather than testing ideas after delivery, product discovery allows you to reject wrong assumptions in the initial phase. This speeds up the final product release to consumers while also saving time and resources that would otherwise be spent on post-delivery testing or rework.
- Competitive advantage
A well-planned project discovery phase helps your organization identify market opportunities more effectively, thereby developing a product that customers need, not just want. Product discovery uncovers unique values for competitiveness and business success.
The world of software development is like navigating unpaved roads, each turn offering new possibilities and challenges. One crucial stage that often sets the tone for the entire journey is the Discovery Phase. However, it's often misunderstood or underestimated. Let’s decode the Discovery Phase and see why it's the cornerstone of every successful software development project.
Discovery phase process
At first glance, the Discovery Phase seems like just another preparatory step. However, it is far from a simple preliminary activity. An equivalent to the blueprint of an architectural project, the Discovery Phase is a tour de force that sets the pathway and defines the vision of the project.
During this initial phase, various activities take place to ensure a thorough understanding of the project's goals and requirements. These activities typically involve brainstorming, workshops, qualitative and quantitative research, risk analysis, and initial project documentation.
It's the stage where stakeholders, business analysts, and technical specialists come together to define the project’s purpose, outline the requirements, study the business ecosystem, and evaluate technical feasibility. In essence, the Discovery Phase is your compass, guiding your software development journey toward a successful destination.
The power of insight
One powerful asset you acquire in the Discovery Phase is insight. By delving deep into the project background, the target audience, the problem it aims to solve, and the expected outcomes, stakeholders can make informed decisions and develop a more effective strategy.
Market research
The Discovery Phase typically starts with market research. It's crucial to understand the target audience and their needs and preferences. This involves conducting surveys, interviews, or analyzing existing data. According to a McKinsey study, companies that put data at the core of their decision-making process are 23 times more likely to acquire customers and six times more likely to retain those customers than their counterparts.
Competitor analysis
This phase also consists of competitor analysis, where you closely examine competing products or services in the market to identify their strengths and weaknesses. By doing this, you can detect gaps your software can fill to outperform your competition. In fact, Harvard Business School research found that businesses that invest time in monitoring competitors are 54% more likely to achieve higher growth rates.
Exploring emerging trends
The Discovery Phase gives you an opportunity to explore emerging trends and technologies that could potentially enhance your software and elevate its value proposition. For example, implementing AI, machine learning, or blockchain technology could differentiate your software from its competitors and give it a future-proof edge. A PwC study revealed that 72% of business leaders believe that AI will have a significant impact on their industry.
Identifying Unique Selling Propositions
Once you have conducted your research, it's time to identify your software product's unique selling propositions (USPs). These USPs will help you stand tall amidst the competition and create software that resonates with your target audience. According to a Nielsen study, 59% of consumers prefer to buy new products from familiar brands, and 21% say they're more likely to buy a new product if it's from a brand they consider innovative.
Technological assessment
The Discovery Phase of project also opens up a constructive dialogue between technical feasibility and creative aspirations. Here, the technological goals and constraints are evaluated and aligned with the envisioned software concept. It paves the way for a software product that is both innovative and pragmatic, balancing creativity with functionality.
Determining the technology Stack
This step involves determining the best technology stack for the project. The chosen technology stack will not only impact the quality and performance of the software but also the overall costs and delivery timeline. Popular technology stacks include LAMP (Linux, Apache, MySQL, PHP), MEAN (MongoDB, Express, AngularJS, Node.js), and MERN (MongoDB, Express, React, Node.js). According to the Stack Overflow Developer Survey 2021, JavaScript remains the most popular language at 64.96%, followed by HTML/CSS at 55.61%.
Identifying resource requirements
In this sub-phase, the development team identifies the needed skill sets and expertise in building the software product. This often includes deciding between hiring in-house, outsourcing to a software development company, or a combination of both. Determining this will assist in accurate resource planning and allocation. A Deloitte survey revealed that 53% of companies outsource software development to focus on their core business, while 47% do so to reduce costs.
Evaluating third-party integrations
Evaluating and selecting the most suitable third-party integrations is another vital aspect of the Discovery Phase. These integrations, such as APIs, plugins, and libraries, can speed up your software development process, enhance functionality, and ensure a seamless user experience. As per a ProgrammableWeb estimate, there are over 22,000 public APIs available, showcasing the popularity of third-party integrations.
Cementing the foundations
Another critical aspect of the Discovery Phase is setting the course for project management, specifications, timeline, and budget. It solidifies your development strategy and mitigates risks associated with budget overruns or shifting deadlines. In short, it forms the backbone of your project’s operational plan.
Project management methodology
Deciding on the right project management methodology is an integral part of the Discovery Phase. Well-known methodologies include Agile, Waterfall, Scrum, and Kanban. Each methodology offers its benefits and drawbacks in software development. According to a PMI report, 77% of high-performing organizations use a value-driven Agile approach.
Project specifications and scope
At this stage, your team will create project specifications and define the scope of the project. A vivid scope and detailed specifications help guide the development process while avoiding scope creep and unnecessary rework. As per research by the Standish Group, 46.3% of projects experienced scope creep, resulting in cost and schedule overruns.
Timeline and budget
The Discovery Phase helps in estimating the project timeline and budget more accurately. By having a clear understanding of the project requirements and available resources, you're more likely to meet deadlines and control expenses. Research by PMI reveals that just 37% of all organizations deliver projects on time, highlighting the need for precise timeline projections.
What might happen if you skip the discovery phase?
Project failures can have many reasons beyond just skipping the project discovery phase. However, this doesn't make the consequences any less significant for you. Here are reasons why you shouldn't skip the discovery stage of a project, even if you're close to the final launch.
Product/market fit mismatch
Market, product, and customer research are all activities typically done during the discovery phase. Failing to conduct these activities may result in a lack of understanding of consumer preferences, pain points, or market trends, leading to a disconnect between the final product and the target audience's true needs.
Example: A real-world example of a startup that faced this problem is Color Labs. The company created a photo-sharing application that gained initial traction but failed to meet market needs and eventually shut down. The company rushed the launch without conducting proper research and failed to meet customers' expectations.
Scope shifts
If the project needs and goals are not thoroughly examined during the discovery phase, there is a risk of scope changes later on. Scope changes can result from newly discovered needs or unclear initial goals. The lack of clarity can lead to shifts in the project's direction and size, ultimately impacting the budget and deadlines. One of the easiest way to access the knowledge needed to clear scope defining is to attend software product discovery workshops.
Cost overruns
Insufficient planning and analysis in the project discovery phase of a project can cause unexpected expenses, missed budget estimates, or underestimating resource needs, resulting in going over the planned budget. This happens because not everything was carefully thought out at the beginning, leading to surprise costs.
Missed deadlines
An incomplete understanding of the project's ins and outs during the discovery phase can make it tough to guess how long each part will take. This incomplete planning might cause delays and missed deadlines as the project moves ahead.
Example: The music streaming service Rdio failed to gain traction against competitors like Spotify and Apple Music. The company missed several deadlines for product updates and eventually filed for bankruptcy in 2015.
Stakeholder frustration and misunderstandings
When there aren't clear project goals, team members and stakeholders might not understand the same things. This confusion can lead to frustration and conflicts, making it hard for everyone to work together and succeed on the project.
Example: The startup Homejoy was a home cleaning service that had a lot of investor interest and raised over $40 million. However, miscommunications and service issues led to multiple lawsuits, which eventually forced the company to shut down in 2015.
Team roles involved in the project discovery phase
The size and composition of the discovery team may vary depending on the project and outsourcing vendor. We divide team members' roles according to their level of involvement in specific project phases of discovery.
Roles involved in all phases of the software discovery process:
- A project manager (PM): organizes meetings, gathers information, handles documents, and keeps the team working together.
- A business analyst (BA): studies gathered data, identifies market trends, and offers solutions.
- Client/product owner: creates goals, agrees on ideas, and handles the budget.
- Sales manager: helps the BA and client communicate well. They support BA in understanding the client's business and product ideas.
- Software architect: analyzes initial technical requirements and offers tools and methodologies for developing the best product. They create the architecture and logic of your product.
Roles that participate partially in the discovery phase:
- UI/UX experts: participate in the initial research and solution design. Initially, they examine users' needs, working with PM or BA. Later, they create an intuitive interface to make your product as appealing as possible.
- Backend engineers: estimate time for backend jobs in the feature list; create and evaluate solution ideas.
- QA estimators: provide estimates for quality checks from the list of features.
Please note that roles may be assigned to anyone on your team. A project manager can also do the job of business analytics, for example. As long as it doesn't negatively affect the performance, it's ok.
Our approach to the discovery phase of project
The approach and number of steps during the project discovery phase of a software project may vary depending on the vendor and project specifics. However, typically, we have the following discovery phase steps in our flow, which may take anywhere from 1 to 3 weeks.
Project initiation
At this step, we set up an initial scope call, a type of interview with our client where we aim to learn as much as possible about the client’s business context, goals, and requirements. Our BAs and PMs typically ask questions about the idea itself and its expected value for end customers.
During these Q&A sessions, our goal is to understand the desired product, the problems it would solve, the expected time to market, preliminary target audience characteristics, and the monetization plan or investment type for the project. This helps us identify the critical problem and gather sufficient context to analyze it and propose a viable solution.
Accordingly, the more details we gather, the clearer our vision becomes on how to bring the idea to life.
Research and requirements elicitation
Once the discovery team understands the stakeholders' concerns and goals, the next step is to align them with market opportunities and potential customer needs. Our holistic approach to analyzing and researching clients' ideas from all sides consists of the following steps:
Market research: This involves analyzing the market size, latest trends, and key players in the niche.
Competitor analysis: We explore similar products that already exist in the market, evaluating the features they offer, identifying their shortcomings, and determining what works and what doesn't.
Target audience research: We identify the various customer segments interested in the product.
We pay great attention to target audience research, analyzing important factors such as age, gender, lifestyle, place of residence, and occupation to create an ideal customer profile (ICP) and design buyer personas. This information also helps our designers create an exceptional user experience and enables our developers to offer features and functionality that will be most attractive to customers while filtering out ideas that would be redundant to implement.
Solution development
At this stage, our team delves into creating the best solution that aligns with the project's objectives. We focus on brainstorming, generating ideas, and conceptualizing the most suitable solution based on prior research findings.
We engage various specialists, such as UI/UX designers, QA experts, and developers, in a collaborative brainstorming session where every expert can freely share thoughts and ideas without restrictions. Sometimes, even unconventional ideas can lead to significant innovations.
Mind mapping is another helpful tool we use. It's a popular way that involves using visuals. The manager writes the main issues at the center of a whiteboard. Team members add possible steps around them, linking all steps. This helps create different plans to solve the problem.
Estimation and planning
Based on information gathered earlier, we offer estimates for successful project development and deliver a ready-to-go roadmap. Everyone involved in the previous steps, including a BA, PM, backend and frontend engineers, UI/UX designers, and QA specialists, work together to finalize the following:
- Estimate key features development, prioritizing different stages of development
- MVP scope design (the set of features to develop first prioritized by their value to end users)
- Recommendations of the most suitable technology stack for the product's complexity and performance needs
- Suggestions for product architecture style
- Recommended post-MVP scope (development of the full product version)
- Defined project team composition and schedule
- Cost estimates for both the MVP and full product development
- Hosting proposal for deploying server infrastructure for your product
Alignment and approval
If you wonder, “What comes after the discovery phase in a project?” – this step sets the stage for the next actions. We pitch our results to the client’s team, ensuring they understand the concept, approve the results, and understand all project management discovery findings. If any questions are left unaddressed, we answer them as well.
For new product development + if the client accepts our proposal, we will continue collaborating by creating an MVP, launching a prototype to the market, gathering customer feedback, and implementing necessary improvements.
Discovery phase deliverables
- Defined requirements and scope - a document that includes data collected during the market, user, and competitor research. It consists of numbers and trends and provides a basis for building a project management discovery phase template.
- Software requirements specification (SRS) - (SRS) lists all tech specifications (both functional and non-functional) and functionality required to develop the product.
- An entity relationship diagram (ERD) - illustrates individuals and their roles (client, end user, etc), business objects (product, market), and others. These diagrams demonstrate the relationships between all elements and aspects of the discovery project.
- The third-party integration document - describes all integrations with their costs and comments. This document helps the client decide on what services to integrate.
- Design concept - visually describes a product through sketches. It also includes written statements to help clients, designers, and developers stay on the same page.
- Prototypes - preliminary versions of a product or system designed for testing and validation of concepts, functionalities, and user interactions before full-scale development.
- Proposal - includes a step-by-step development plan with the project time and cost estimates.
How to run project discovery: Useful tips
If it's been worked through responsibly, the discovery phase of a software project becomes a powerful tool that shapes an idea into a detailed and well-structured plan of action. That's why we recommend you stick to the following rules:
Set a realistic deadline
We never shorten the timeframe to tell clients what they want to hear. Our cooperation is built on transparency, and we are completely realistic about deliverables.
Discuss cooperation
Before starting, discuss how and how often the team and client will communicate, as well as which channels will be used. This ensures clarity, enables planning, and promotes stress-free cooperation based on trust. It also helps address any questions in a timely manner and deliver the best possible prototype.
Test as much as needed
Test the hypothesis with real users. Get feedback from your potential customers, collect it, and use it in the following iterations. They might prove some assumptions and dismiss others.
Leave room for creativity
You never know what idea might cross your mind, especially during market research or designing wireframes. Pay attention to all the ideas crossing your teammates' minds. The agile discovery phase encourages brainstorming sessions with the following presentation of the ideas to the client. Those can make all the difference, eventually.
Don't research too much
Teams often have trouble keeping their research focused on what's necessary for the required outcomes. Remember to always justify your efforts with results.
Involve the design team and developers
When we plan a discovery project, we discuss the estimation and plan with the team in advance to avoid obstacles during the work. This helps us plan better. For example, involving the design team or developers early on allows them to assess additional stages, determine the best technologies to use, and identify preferred features. This way, we can refine the workflow and suggest improvements to the client already during the kick-off meeting.
Conclusion
To make your idea work, we highly recommend starting with a software product discovery phase. This is your opportunity to avoid guesswork and make informed decisions based on real market findings and customer needs.
However, the discovery phase is just one component of success. Another crucial aspect is approaching the project discovery process professionally and having expertise in the field.
The ElifTech team has experience working with companies of different sizes and fields, so we know how to provide project discovery services. Our approach is time-proven and well-tested so that we can help clients with different ambitions.
If you are looking for a reliable partner to help with a discovery phase or have any questions still unanswered — feel free to contact us.