Preliminary analysis of customer needs, market, competitors, target audience, the upcoming scope of work, resources, prototyping, solution architecture, and roadmapping is carried out in any area where the contractor wants to qualitatively fulfill its obligations to the client. This approach allows the software development team to protect a client from the emergence of unplanned costs and clearly define the terms of the team that will be engaged in developing the software product.
What is the Discovery Phase?
Discovery phase is the first and obligatory stage of product development. Here the requirements are identified, and business goals are analyzed to make a proposal for technical implementation, prepare the prototypes with low-fidelity design, and estimate the development cost.
Advantages of the discovery phase:
- Risk reduction. If you are unsatisfied with the development company or the team and decide to stop cooperating, the financial and time losses will be much less.
- Opportunity to test hypotheses. At the discovery phase, you get the first answers to the basic questions like “Is this even possible to do?”, “Does the technology exist for the implementation of the product?” and others.
- Simplification of the software development start. By understanding what is offered and what results will be achieved, it is easier to launch the software development project.
- Time for software development team building. At the discovery phase, the necessary competencies for the project are determined, which gives some head start on team building and training people for the project development.
Conducting the discovery phase is essential both for the client and for the IT company because it brings benefits to both parties.
Discovery phase artifacts
The main artifacts that come out of the discovery phase are technical and business documentation.
Technical documentation. Technical documentation will include different types of product or service requirements:
- Functional requirements – what the final software product should be, basic functions, possible integrations with existing client-side systems, etc.
- Non-functional requirements – load requirements, security requirements, reliability and fault tolerance requirements, usability requirements, etc.
- Visuals – mockups, prototypes of the final product, and the basic flow of transitions between screens.
A separate presentation is also prepared, describing the development, design, and testing approaches, the architecture scheme of the future software product, etc.
Business documentation. This should describe all organizational aspects: team, competencies, funding, and timelines. The business documentation includes:
- Roadmap – what development team will do and in what sequence, what specialists will be involved, and what timelines will be delivered.
- Team composition – who and how much will be involved, what competencies and experience the team members have, and who the main points of contact are.
- Project financing – a plan for financing the software project, what the client pays for, when, and how much.
For the customer, the discovery phase is a preliminary preparation for the implementation of the project.
Main stages of the discovery phase
There are 4 main stages of the discovery phase. Let`s discuss them.
Getting to know the client’s business and defining the goals. At this discovery phase stage, the development company discusses the current state of the client’s product and identifies the main needs. They hold meetings about the requirements and future cooperation terms.
The main task at this discovery phase stage is to determine what needs to be done. The main participants on the contractor side are the business analyst and the project manager.
Identification of requirements. During this discovery phase stage, the IT company formulates technical terms on how to achieve the desired results for the client. Functional and non-functional requirements are formulated, sketches and mock-ups are prepared, and technical evaluation and business architecture sketches of the future product are made.
The main participants are a business analyst and a technical specialist. It is also ideal to add a designer.
Proposal creation. This discovery phase stage involves the design of the product delivery proposal, analysis of SDLC processes, and review of the architecture with the customer. The main task of this discovery phase stage is to present everything the development company plan to do in the project.
The main participants are the technical specialist and the project manager.
Formation and justification of MVP. At this discovery phase stage, a comprehensive proposal is created with specifics: for what price, what terms, and with what level of quality the software product will be delivered. A specific amount of work for the first software version (MVP) is defined.
It is worth noting that these discovery phase stages can be combined in any sequence or excluded. This depends on the project, the client, and the company itself.
Voypost – experienced software development team
At Voypost, we pay great attention to the discovery phase. Our founder Nikita Sviridenko is a Solution Architect with 13 years of software development experience. He participated in dozens of discovery phases for the most different products. Feel free to consult with Nikita by filling out the application form here.