Table of Contents
- What It Is and Why You Need It
- Project Discovery Phase Deliverables
- Benefits Of The Software Development Discovery Phase
- Software Development Discovery Phase Stages
- Project Discovery Phase Tools
- Dangers Of Skipping The Project Discovery Phase
- Product Development Discovery Phase Checklist
- Project Discovery Phase Duration And Price
Every software development project should go through the discovery phase one way or another. It allows you to comprehensively cover the entire project, answer some questions in advance, and identify possible pitfalls. Usually, every idea differs from the implemented project in some way, shape, or form. To avoid unnecessary frustrations with the final product, the opening phase is carefully handled by the development team in tandem with the client.
The discovery phase of a software project can be compared with a long journey. Having a limited budget, it’s always better to build a roadmap, where it’s possible to mark all the places you want to visit. Sure, you can enjoy any sudden occasion or unexpected beautiful place during your journey, but there are other risks that can be very dangerous. That’s why preliminary research and consultations with experienced people are highly important.
So let’s dispel as many questions as possible about the software development discovery phase.
What It Is and Why You Need It
The project discovery phase is the process of describing and writing documentation, which talks about the steps and actions that will be taken during the development process, how they will be done, and for what purpose. This documentation does not contain programming code. It collects all information about the project, its target market, and its audience.
Typically, the team members involved include a project manager, a business analyst, and an account manager. Also, team leads, designers, and other specialists can take part in this phase if their involvement is necessary.
It is advisable to initiate the discovery phase of a software project if:
- You just got an idea for a project;
- You have an idea for a project and some specifications, but you are not ready to start the development phase. Reasons could be different: unclear technical solutions or existing one requires additional research, lack of specifications to make a decision about project architecture, limited budget, or features development prioritization;
- You have a project idea, its full specification, but no market research has been done;
- You want to improve an existing product that does not meet certain expectations.
Project Discovery Phase Deliverables
Going through the discovery phase will help you get the following:
- Solution vision document. It describes how the development team see the future solution: language, technologies, third-party systems and so one;
- Specification of system requirements. Typically, it describes the project itself, its goals, architecture, and the technologies used;
- Risk assessment and mitigation plan. This plan includes the description of all possible risks, the way to estimate them and activities to minimize risks;
- Wireframes & prototype. An early-stage prototype looks like a set of sketches or simple images that display the future app’s appearance, as well as the general plan of their interaction;
- Project estimation and development plan for an MVP. This includes an estimation of the budget, the skills needed, and the time required to complete it.
Benefits Of The Software Development Discovery Phase
Running a project discovery phase before starting product development brings some undoubtful benefits:
- Building trust. Product development discovery phase is a reliable tool to build trustful relationships between the client and the development team. Communication during this stage will help you better understand the development company as a partner and build a trusting relationship that is likely to flow into a long-term partnership;
- Reducing risks. The plan developed during the opening phase will allow you to avoid unnecessary actions, which can have a positive impact on the budget. It is also very likely that the risk of missing the deadline will be minimised;
- Building a roadmap. If you already have concrete project requirements during the project discovery phase, it becomes possible to build a step-by-step plan scheduling the entire project timeline with all the intermediate goals and deadlines laid out. This plan will allow you to clearly lead the project from idea to launch without unnecessary transfers and changes. This plan and the prototypes can also be shown to investors and potential users, helping them get a more complete picture of the future product.
Software Development Discovery Phase Stages
So, let’s take a closer look at the steps that are taken during the project discovery phase.
Identification And Communication With Stakeholders
A list of stakeholders, such as the product owner, investors, developers, end-users, and everyone else who will somehow interact with the product, should be drawn up. The team involved in product development must communicate with the client to understand their vision of the final product, as well as interact with other stakeholders to meet all the requirements.
Acquaintance With Documentation And Market Research
If market research has not been done yet, it is carried out at this stage. Market research allows you to analyze existing solutions, find their weak points, and identify a free market niche. After receiving all the necessary information, the business analyst conducts a review and analysis of everything needed. This allows the team to create a specific list of actions required during the development of the project.
Collecting System Requirements
This stage requires close communication with the Product Owner and gathering all the requirements in one place. Based on the information received, user stories, potential features, and software requirements specifications are written. This stage also involves close interaction with the designer, who creates the wireframes of the interface, as well as the prototype of the UX design. It’s important to mention that this stage involves the creation of use case diagrams, which summarize the details of your system’s users and their interactions with the system.
Project Architecture Formation and Definition Of a Technical Solution for Development
This stage defines the technologies to use to transform a project from idea to reality. According to the received system requirements, the development team has to figure out the technologies that are better to use in the project. Here, it’s important to highlight possible restrictions on these technologies. And this stage also requires the definition of project architecture, possible third-party systems integrations, and non-technical requirements, such as data protection protocols and others.
Budget And Time Estimation
After all the necessary information has already been aggregated in one place, the development team can start estimating the project. It means defining the amount of time and money required to bring the idea to life, to create an MVP or the full-fledged product.
Project Discovery Phase Tools
There are some tools that can be used during certain stages of the product development discovery phase:
A mind map is an interaction diagram showing the needs of the project, as well as the various roles, modules, and integrations it has. This diagram shows the boundaries of the project, the links within it, as well as all the requirements it needs to meet.
User stories show how potential users will interact with your application, and what actions they will take. Thus, every possible problem can be countered with a specific feature.
This diagram comprehensively visualizes all the interactions with your application. For example, what actions the user performs to reach their goal, what the most frequent ways of interacting with the system are, how information enters the application, etc.
This tool works with technical documentation, which lists the conditions for interacting with third-party systems: what data the system will request, and what it will receive.
Non-Functional Requirements Diagram
When drawing up a diagram like this, it is necessary to consider the most important non-functional requirements for the business. Then you’ll be able to determine their impact on the budget and the labour costs of the project.
Communication between the team and the client is very important when drawing up a project design concept. It is crucial to clearly assess all of the client’s wishes in terms of their usefulness and feasibility. It is also important to have a designer who is up to date with the current UX/UI trends, as visual appeal and usability are important factors of the project’s success.
Recently we posted an article about e-Commerce App Design Trends and Tips, so feel free to read it: https://bambooagile.eu/insights/e-commerce-app-design-trends-and-tips-of-2021/.
Dangers Of Skipping The Project Discovery Phase
Having talked about the advantages of the software development discovery phase, one must mention the dangers of skipping this stage.
Lack of a clear plan, lack of communication, and misunderstandings can lead to a huge difference between the expected product and the final one. It can also lead to wasted time and budget.
Misdirection, unclear goals, or lack thereof can lead to requirements being changed too often. Because of this, additional funding will be required, which may lead to you overspending or running out of budget long before the product – or even the MVP – is finished.
It is almost impossible to set deadlines when your action plan is vague. Therefore, it is also impossible to finish development phases on time. All this leads to the postponement of deadlines and the loss of finances.
All these dangers can lead to the need of software project rescue. During this process the specialists analyse your existing solution and propose a plan to fix all the detected issues.
Product Development Discovery Phase Checklist
To make sure that the project is covered as fully as possible during the project discovery phase, it is necessary to make a list of the points that need coverage. We’ve put them together for you in a kind of general checklist.
- Client: the project (development from scratch or an upgrade to an existing one), goals, users, research;
- Market: existing solutions, buying habits, comprehensive market research;
- Competition: direct and indirect, failure analysis, USP;
- Users: drawing up a complete portrait (geography, demography), user scenarios;
- Technical requirements: specifications, list of features, technology stack;
- If a solution already exists: analysis of the solution, search for reasons for failure, test results, technical analysis, user reviews.
Of course, these are far from all the points that are necessary for a comprehensive study of the project discovery phase. However, following these points, you can draw up a basic picture of the project, which can then be worked out and supplemented with more information.
Project Discovery Phase Duration And Price
As a rule, the software development life cycle consists of five stages: initiation, planning, execution, control, and closure. The software development discovery phase here is kind of a bridge between the initiation and planning phases.
Usually, if the Agile methodology is applied in the development company, the project discovery phase is carried out during the first sprint. It helps to clarify how well a development team and client understand each other from the beginning.
According to project size, the development phase can last from a few days to even a month. Small projects can expect this phase to last from 1 to 3 days. Projects of a medium size have to be ready for the duration of 1-2 weeks. Large projects require a minimum of 3-4 weeks or more.
The price of the product development discovery phase closely depends on the people involved in the process and the time spent on it.
The project discovery phase can significantly help you and, most importantly, the client to avoid not only unnecessary disappointments but also temporal and monetary losses. However, it should be understood that it’s better to entrust this phase to professionals, rather than to carry it out on your own. Bamboo Agile is no stranger to software development, and the team has successfully gone through the discovery phase dozens of times. Contact us to get a free consultation about your product and be sure to get all the profit from our collaboration!
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?