This blog deals with software product success a lot. We wrote about finding product-market fit and various metrics to measure product success once the product is on the market. But can it be too late? What can be done before release to facilitate success?
In this post, we would like to elaborate on the role of the discovery phase in software development, how it should be conducted, and what Onix-Systems offers to this end.
Table of contents
- Project Discovery Phase in the Product Development Process
- The Benefits of Discovery Phase in Software Projects
- When the Product Discovery Stage Is Indispensable
- The Project Discovery Process
- Some Tips for a Better Project Discovery Process and Results
- How Onix-Systems Provides Software Discovery Phase Services
- How Much Does a Discovery Phase Cost?
- Summing Up the Importance of Discovery Phase Services for Product Development
In 2023, Wilbur Labs surveyed 150+ startup founders and analyzed data from CB Insights to learn why startups fail and how they can prevent that. 75% of the surveyed founders who faced potential business failures admitted that they were not adequately prepared for the business. Along with financial factors, such as running out of money, insufficient financing or investor interest, and the consequences of the pandemic, the following reasons for failure were identified:
- A product without a business model (27%)
- No market need (17%)
- Legal challenges (16%)
- Competition (16%)
- Discord among the team or investors (14%)
- Pricing / cost issues (14%)
- User-unfriendly product (13%)
- Wrong team (13%)
- Mistimed product (11%)
Read on to learn how a startup or business undergoing a digital transformation can mitigate against some of these risks and how Onix can facilitate the success of your software product development.
Software development is a continuous process of conceptualizing and developing a product based on certain requirements and available resources. The discovery phase of a software development project deals exactly with these two factors.
The software development process can be divided into several phases. They may be called differently and run simultaneously or consequentially but, regardless of the development process model, the discovery stage should always come first. It impacts subsequent product development stages but largely determines the overall product success or failure. Here’s why:
1. The discovery phase
The discovery phase of a software project is the process of gathering and analyzing information about a product, its target audience, and market to form a thorough understanding of its goals, scope, limitations, and budget before the proper development process.
During the startup development discovery phase, the client and the engineering team usually intensively brainstorm and agree on the features of a minimum viable product (MVP) for a web or mobile app – the best way to market-test an idea for an app at minimum cost. They define the future product through its specification, architecture, and design.
They also develop a project plan that helps create time and budget estimates. The deliverables of the discovery phase can also help attract funding, which is a significant starting point for creating a successful product.
Moreover, during the discovery phase that implies regular and profound Moreover, during regular communication and discussions, the client can get to know the new team better. If both sides find out they do not make a great fit, it is possible to make a switch with minimum impact.
After the project requirements have been formulated and a project plan approved, software designers and engineers can start working.
2. The product development stage
This stage proceeds according to the approved plan, client requirements, and incremental reviews. For developers, it is a blessing to have a step-by-step plan they can keep to. For the client, this plan means the ability to check the timeline with all deliverables and deadlines, seeing how an idea for a product becomes an actual product.
3. The review phase
During this stage, the team members find errors or defects and fix them so the product meets the requirements defined during the discovery phase.
4. The deployment phase
Now the team has to deliver the product to users. Before releasing it to the actual market, the product may also be moved through additional testing or staging deployment environments. It is possible to play with the product safely and clean up any remaining mistakes that may jeopardize the product’s success. Upon release, a product that went through a proper discovery phase will be less likely to fail in the market.
5. The maintenance phase
This constant process guarantees consistency of the product’s quality and reliability. However, as time goes by, the product grows, and the market changes, the requirements and needs may need to be revised, prompting another discovery phase in a project.
Although the discovery phase is regarded as a standard part of the software development process, sometimes clients either neglect or decide to skip it for various reasons. This may be a grave mistake, because they miss out on the multiple benefits a proper discovery can yield.
The importance of a professionally performed discovery phase for software development manifests in the following advantages:
Smoother, faster, and more effective development
When the team relies on a set of requirements established through consultative processes, they can develop a more detailed specification, wireframes, and a step-by-step plan that facilitate smoother and faster development. The development can take off with clearly defined milestones and possibly lower costs. As the saying goes, well planned is half done.
Regular communication and in-depth discussions help establish two-way trust early in the project, promoting a smooth collaboration. A productive discovery stage that involves the development team from the project onset also helps set the focus necessary for efficient and timely delivery.
Suppose you hire a digital agency to conduct the discovery phase for you before contracting them for the proper software development. In that case, you can see whether they can be a competent and reliable partner on a long journey in the product development process. You can also validate your project idea with potential users instead of going ahead with mere assumptions.
Effective communication and a shared understanding of the product and project goals established at the earliest stage reduce the risk of misunderstandings and mistakes. Clear goals help control requirements changes that increase expenses. A coherent project plan developed during the discovery stage further lowers the risks of scope creep, missed deadlines, and money loss.
A proper discovery phase is a time- and money-saving investment. Accurate documentation and a team that knows all the ins and outs of a project since the product conception can help reduce the software development cost considerably. A clear early understanding of the project goals and requirements dramatically reduces the need for changes during the advanced stages of the development process when they are more costly.
Better final product
The product discovery helps understand the end-users’ needs, requirements, preferences, and tastes. These are the prerequisites for creating a product that more people will like, use regularly, and pay for. When the team has an in-depth understanding of the project background and sufficient time, they can develop, suggest, and discuss better technical solutions and value-added features. A discovery performed by experienced professionals is especially beneficial for companies and startups that don’t have in-house IT teams or any experience in a particular type of software development.
Moreover, there are some cases when failure to conduct a professional software development discovery phase can prove fatal to an entrepreneur’s effort.
1. A company’s first-ever software development project.
Cooperation with an experienced team during the discovery phase will give the client a clear understanding of aligning their business goals with the end-users’ needs, optimal user experience (UX), product development stages, and what results they can expect. A team with a solid industry understanding can spot issues and challenges that might be overlooked otherwise, predict possible risks, and suggest ways to address them in a timely manner.
2. An existing system is rebuilt.
In this case, legacy code review and other methods of discovery will help understand the system’s current state, strengths, and weaknesses, and define the scope for transformation. Experts will provide the recommendations for improvement, detect potential bottlenecks and risks, and work through the most effective solutions. A clearly defined scope of work will also facilitate critical decision-making by the project team, the company’s upper management, marketers, and others.
3. The software is complex and innovative.
If the desired solution integrates unique combinations of third-party APIs, software libraries, artificial intelligence (AI) algorithms, Augmented Reality (AR), Virtual Reality (VR), smart sensors, or other innovative or complex technology, a team of specialists may provide the necessary consultations, research, and support for innovative software development.
4. The project’s requirements are vague or evolving.
Occasionally, entrepreneurs have a brilliant high-level business idea but aren’t sure how to meet the end-users’ needs best. The discovery phase allows for the planning of a future product from the user perspective, ensuring user satisfaction, retention, and loyalty down the line.
It’s reasonable to entrust the job to a reliable software development team that has built dozens of custom solutions. An experienced team can also identify and suggest the most suitable tools and technologies to make your idea a reality.
5. The project requires Proof of Concept (PoC).
Proof of concept is the evidence that a solution can be implemented and be a commercial success. If the solution employs cutting-edge technologies or APIs that haven’t been used for this purpose before, a PoC will help test its feasibility.
The business case, competition, and target audience analysis done at the discovery stage facilitate rapid creation of solutions based on market need instead of spending months and wasting money on a potentially stillborn product. A prototype built during the discovery phase can provide quick feedback from real users and investors.
6. The project’s budget is limited.
During the project discovery phase, experienced professionals can help define the product’s essential architecture and functionalities to be implemented, laying aside all redundant features. After evaluating the product development or extension cost, they can suggest ways to reduce overall expenses and warn of possible hidden costs and risks that might cause over-budgeting. The project discovery phase deliverables will also help make a stronger presentation for pitching to the board of directors or investors.
A whole team of specialists is involved in the discovery phase, which may include a project manager, solutions architect, designers, and web or mobile developers, as well as AR/VR, IoT, and other tech leads as needed. The customer’s role is to give the team all the initial data they need to start the work, answer multiple written questions, participate in strategic calls and other communication, and evaluate the resulting prototype.
Every project requires an individual approach due to the different specifics and circumstances, and different methods of discovery may be used. However, standard activities may be summarized as follows:
1. Business analysis
To understand and define the problem and possible solutions, the team studies:
- Competition. It is important to test a product, albeit while still only a concept, against the direct and indirect competition. Competitor research provides several angles to explore. The team may exploit and learn from the sensitive areas of the competition, unveil some unexplored opportunities, and bring valuable innovations to the future product.
- Users. The point here is to get information about those who will use the future product, not from somebody’s idea of what users want. Gathered information may include the characteristics of potential users, what reasons they have to use the product, under what circumstances they may use it, and so on.
- Business. All the information the client can share about their business and the future product may be useful: analytical data, history of the business, internal processes, pain points, the customers’ impressions, etc.
Once the problem has been defined, it gets framed, and the product vision statement is born.
2. System architecture design
The system architecture design defines how everything interacts within the software and how to use it. The technical vision of the product is born, including integrations and APIs, restrictions, localization, performance, scalability, and portability.
3. User experience (UX) and user interface (UI) design
Based on the analysis of the target audience, competitors, and the client’s requirements, a UI & UX designer prepares a prototype demonstrating the interface and features of the future product more or less realistically.
Branding is a vital step in creating a unique experience with the product. It aims at developing a better understanding of users and
building better communication with them. If the brand guidelines already exist, branding in the discovery phase helps improve the way it works after dedicated analysis through the user’s perspective.
At Onix, we typically organize two stages of a project discovery phase:
First, we elicit high-level requirements from the client’s product manager and preferably from top managers, users, and other stakeholders. It takes several meetings and surveys to find out, discuss, and formulate everyone’s needs.
If the task is to rebuild an existing system, we clarify the reasons and evaluate the current features, content, design, code, tech stack, customer feedback, internal documents, marketing and branding strategies, etc.
Onix’s experts study the target audience’s demographics and buying habits, the niche for the product, the competitors’ strengths, weaknesses, and unique selling propositions. They also explore market surveys, trends, and other industry-specific information.
Based on the business objectives and system requirements formulated during Stage #1, the team prioritizes and approves the main user stories and features of the MVP.
The UX designer first creates user screen flows and then a prototype.
Simultaneously, the solution architect and tech leads develop the most suitable architecture for it, propose the optimal technologies, determine the level of automation and continuous integration and continuous delivery pipeline, and define and discuss with the client any technical limits to their goals. If needed, they also develop PoC, the first programmed version of the future product, typically of one feature that raises concerns, to test its technical feasibility.
Using the prototype and PoC, the team validates all assumptions and hypotheses from the business analysis, user experience, and IT architecture perspectives. Finally, they approve the project scope, develop a project roadmap, and estimate the project timeline and budget.
We also distinguish between two types of discovery stages: when our specialists conduct the activities at the client’s facility, and when they work remotely. As an outsourcing company, we have always preferred to conduct all activities, from the first discovery session to the development kick-off meeting, online. This has proven to be an advantage during the coronavirus crisis.
- It’s crucial to involve all the stakeholders in the process and ensure everyone can openly speak their mind.
- On complex projects, it’s recommended to involve in research, discussions, and planning the entire team that will design, program, test, and deploy the product, or at least engage experts in each of the areas.
- Clearly define the project discovery phase deliverables you expect at the end and make sure everyone understands the task.
- Listen to all and document all ideas and suggestions.
- During the business analysis, there is no place for prejudice or bias; only raw data matters.
- Do not rely solely on industry publications, stats, etc., which cannot give you an understanding of the users and their needs.
- Only real customers and users can help you prove or disprove any hypothesis about a software product. As many team members as possible should interact with as many users as possible, at least online.
- The research and planning phase should be proportional to the overall duration and budget of a project. It’s possible to build a simple internal solution after a talk or two with the main stakeholders. If you plan to shell out millions, it is reasonable to test ideas and technologies more thoroughly, plan for a longer term, etc.
There are three scenarios of Onix’s handling project discovery:
1) Onix’s team is contracted to build a product based on research and planning that the client conducted independently
Some clients would provide us with market research, a detailed description of the potential users and monetization strategy, product specifications, wireframes, or even completed design and ready-to-go product strategy. In the latter case, our research and planning may only last a few days but are still necessary as there are always more questions to address.
2) We carry out discovery phase services for product development by Onix
For example, during the development of ProjectX, an end-to-end fitness platform for online coaching, Onix was responsible for identifying and collecting the product requirements and business goals. Among other things, Onix’s team
- thoroughly researched the target audience and their needs
- carried out a competitor analysis, visualizing the comparison through charts
- prepared user personas, i.e. profiles of ideal customers
One of the deliverables, a mind map visualizing the users’ interactions with the product, is presented on the case study page.
Based on the collected information, the UX/UI designer prepared the first basic version of the application’s design, and the tech team suggested a tech stack and third-party services that would guarantee high-quality product operation.
The result of the project is a fully-functional and well-structured web application with mobile-responsive design that provides high-quality online fitness coaching services for thousands of users.
3) Onix provides research and planning as an independent service.
Typically, clients that order the discovery phase service for a software project mean to validate their product idea while testing the abilities and knowledge of a possible outsourcing partner with a minimum investment. In this case, a successful discovery stage would entail a contract for the design, programming, and subsequent SDLC activities.
The MiPaddle project is an example of this scenario. The client contacted Onix because they had no technical knowledge whatsoever. Two friends, paddle tennis coaches, decided to start online courses during the COVID pandemic but didn’t know how to bring their idea to life.
When they approached us, all they had was an idea, and all they wanted was a project budget estimate. In such cases, reputable contractors may give up the task to avoid the risk of wasting resources or damaging their reputation, should the projection prove inaccurate or the business idea fails. Startupers may turn to less scrupulous vendors and often make the mistake of choosing the lowest bidder.
We honestly told the client that we cannot provide a precise budget estimate but could do the research and provide them with a technical specification, flow chart, and assessment of an MVP development scope in man/hours. It would not oblige them to contract Onix for the project execution but would prepare them for choosing the best contractor. Having clear project requirements, the client would be able to reach out to multiple developers contractors, explain the task quickly, ask for quotes, and eventually choose the most suitable contractor.
The job took two weeks, including three phone calls with the PM and the clients to elicit their requirements and make corrections to the collected information.
Satisfied with the project discovery process and results, the founders of MiPaddle decided to stay with Onix. Our team proceeded to develop the MVP and further planning of full-fledged product development.
Occasionally, Onix also provides the discovery phase service for a software project that will be completed by someone else: the client’s in-house programming team, freelancers, or another outsourced development company.
Generally, the cost of the services during the product discovery stage is either fixed or calculated based on the time spent and the experts’ hourly rates.
Software providers’ prices for project discovery services may range from $5K to $20K. Without design development, it may cost around $5K, whereas a PoC, complete UX/UI design, specification, clickable prototype, etc., for large multicomponent systems may take several weeks to develop and cost up to $20K.
Onix bills the service according to the time-and-material pricing model. The discovery stage usually lasts 2-6 weeks, depending on
- the project’s complexity
- information that was available initially
- expertise involved in the discovery phase (project management, web or mobile app design, programming, solutions architect, etc.)
- type and format of required deliverables
The discovery phase is integral to successful and cost-effective product development. It provides an opportunity for a client and a development team to define a baseline of a future product, document the project requirements, develop optimal technical solutions, and create a project plan. Eventually, it will help them ensure that everything is done according to the plan and the final product meets all the requirements.
Still, when the world moves so fast and everything changes so quickly, it is natural to want to get a product up and running as fast as possible. Startups may also wish to save funds by minimizing or entirely skipping the discovery stage. The consequences can often be painful. Most of the reasons why startups fail can be attributed to an inadequate discovery phase.
The discovery phase of projects is not about generating stacks of documentation but about bringing the client, the stakeholders, and the team all together on the same page. Therefore, the discovery phase can be viewed as building the foundation for the product’s success. Investing moderate time and money into getting to know your product better will pay off tenfold during the development and after the product launch.
Do you need technical expertise or professional advice on your future product’s viability? Not sure if your project budget will suffice? Wondering how to validate a software/app idea without building the product? Please don’t hesitate to reach out to Onix’s experts to get your answers.
What is a discovery phase in software development?
Put simply, the discovery/scoping phase or initial research is the preparatory stage of a software product development project, preceding software development itself. It is aimed at collecting and analyzing information about a project to identify its vision, goals, and scope and dispelling doubts and proving assumptions.
During this stage, the discovery team members collect information about the business and user needs, problems, and expectations, the intended market for the product, the target audience, rival products, etc., define the product’s features and all possible business and technical specifics, and test ideas against the reality. The results of their effort take the form at least of documentation needed to start the development process.
What projects require a full product discovery phase?
- A company’s first-ever software development project
- An existing system remake
- A complex and innovative software product
- A project that requires validation via a Proof of Concept
- Projects with vague or evolving requirements
- Projects with limited budgets
What are the benefits of a discovery phase for software development?
- Smoother, faster, and more effective product development
- Risk reduction and early mitigation
- Better final product
What methods of discovery are used most often?
- Discovery sessions with the client and key stakeholders
- User interviews
- User research
- Creation of customer personas
- Competitor analysis
- Market and trends research
- Research into technologies, ecosystem, etc.
- Development of user stories, screen flow diagrams, etc.
- Creation of wireframes
- Creation of a clickable prototype and its testing with users and stakeholders
- Creation of a proof of concept
- Presentation and discussion of deliverables
Can I order software discovery phase services from Onix?
Yes. Onix-Systems offers initial research and planning as a separate service.