What Makes a Project Discovery Phase Vital for Software Development?
Originally published at onix-systems.com.
In a recent article, we listed certain metrics to measure product success. Monitoring them is vital for any software company, and especially SaaS startups, 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 suggest one of the possible ways, elaborating on the role of the discovery phase in a project and how it should be conducted.
Software development is a continuous process of conceptualizing and developing a product based on certain requirements and available resources. The discovery phase, which chronologically precedes the development itself, deals exactly with these two factors. Thus, the discovery stage not only impacts subsequent product development stages but largely determines the overall product success or failure.
Project Discovery Phase in the Product Development Process
The software development process comprises several phases that may be called different terms and run simultaneously or consequentially. However, regardless of the development process model, the discovery phase should always come first, and here’s why:
1. The discovery phase can be viewed as intensive brainstorming before the proper development process. It defines the future product through its specification, architecture, and design, and enables the project’s cost estimation.
During the discovery phase, the client and the development team usually 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. After the project requirements have been formulated and a project plan approved, software designers and engineers can start working. Having a coherent plan helps create correct time and budget estimates and lowers the risks of missed deadlines or money loss. The deliverables of the discovery phase can attract extra funding, which is a significant starting point for creating a successful product.
Moreover, during the discovery phase that implies regular and profound communication and discussions about the future product, the client can get to know the chosen team better. If in the process both sides find out they do not make a great fit, it is possible to make a switch with minimum losses.
2. The product development stage follows and proceeds according to the approved plan, client requirements, and incremental reviews. For developers, it is a genuine treasure to have a step-by-step plan they can keep to. This plan will be useful for the client as well since it will be possible to check the timeline with all deliverables and deadlines, seeing how an idea for a product becomes an actual product.
3. During the review phase, 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 is about delivering 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 is a constant process that 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 it or decide to skip it for various reasons. However, there are some cases when failure to conduct a professional project discovery can prove fatal to a development effort.
When the Product Discovery Stage Is Indispensable
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, various methods of discovery, including legacy code review, 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), blockchain, 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).
PoC 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 phase of projects 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 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 discovery phase deliverables will also help make a stronger presentation for pitching to the board of directors or investors.
How the Discovery Phase Is Conducted
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 and participate in frequent strategic calls and other communication, and evaluate the resulting prototype.
Every project requires an individual approach to its discovery phase due to the different specifics and circumstances. Different methods of discovery may be used as well. However, standard activities may be summarized as follows:
1. Business analysis. In simple terms, business analysis helps the team understand and define a problem through an analysis of stakeholders and users. There is no place for prejudice or bias as just raw data matters here. The primary sources of such data are the competition, users, and the business:
- Competition. It is important to test a product, albeit still only a concept, against the direct and indirect competition. Researching the competition 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 are meant to 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, informal impressions of the customers, etc.
Once the problem has been defined, it gets framed, and the product vision statement is born.
2. 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 and 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.
4. Branding. 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.
We 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.
The length of the discovery stage usually lasts 2–6 weeks, depending on the complexity of the project and the information that is available initially. Sometimes, there is only a business idea. Sometimes, a client comes with market research, a detailed description that includes potential users, monetization strategy, and functionalities, and even a design. In the latter case, the discovery phase may only last a few days, but it is still necessary as there are always more questions to address.
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.
The discovery phase is both a strategy and an instrument of 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 make sure that everything is done according to plan with nothing being missed, and the final product meets all the requirements. As the saying goes, well planned is half done.
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. Companies may do this for various reasons, but 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 connecting the client, the stakeholders, and the team, and bringing them all together on the same page. Without this phase, they can’t work together towards product success while the risks of failure increases.
Therefore, the discovery phase can be viewed as building the foundation for the success of your product. 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.