No matter how incredible and unique the initial idea of a project is, the customer doesn’t always receive the exact product they wanted immediately. According to the recent survey conducted by Project Management Institute, approximately one in three IT projects fails. Only 75% of customers meet their initial goals, nearly 65% of projects are completed within budget, and around 60% are finished on time. In addition to the above, roughly one in three projects experience scope creep.
Even if the customer formulates their idea in lay terms and developers manage to fully understand the concept, there can be many small details that are not immediately apparent but will have a huge impact on the project development later. Revealing problems in the development process leads to spontaneous changes in the already written code, unplanned budget spending, and, as a result, missed deadlines, project freezing, or even its failure. Such an outcome for the project can be avoided by conducting a Discovery phase. In this piece, top-notch Business Analysts will provide in-depth coverage of the Discovery phase in software development, its steps, advantages, and experts involved, and consider whether a project can do without it.
What a Discovery phase is
A Project Discovery phase is the process of gathering information about the customer’s industry, their business, and the target audience of the future product. As a result, a software development company gains valuable insights into the expectations of the customer and end-users from the technology that’s being created. Project Discovery follows the Presale phase and precedes product development.
The Discovery phase’s objective is to provide the customer with a technical proposal that they might subsequently accept or decline. During this stage, customer needs are translated into product requirements. The information gathered in the course of the Discovery phase serves as the basis for defining the project’s scope, timelines, and work plan. Consequently, the customer will take ownership of a high-quality software solution designed and developed with consideration of their business needs.
Who is involved in the Discovery phase of a software project?
Both the customer and software development company’s representatives take part in the Discovery phase’s activities. The key people participating in this stage from the customer’s side are decision-makers, a Product Owner or a Project Manager, tech specialists, and other involved stakeholders.
From the IT vendor’s side, the following experts are involved:
A Delivery Manager
A Delivery Manager is responsible for organizing the entire Project Discovery, drawing up the project budget, and establishing its timelines.
A Project Manager
This expert provides the customer with reports containing updates on the project’s current state. The PM is responsible for establishing effective communication between the customer and the vendor and resolving conflicts.
A Business Analyst
This expert interviews the customer to gather product requirements, subsequently passing them to the vendor’s team. The BA thoroughly examines the customer’s business processes to create the documents needed for product development, e.g. Vision and Scope, Software Requirements Specification, tech specifications, and more. This expert also works on other Discovery phase deliverables such as prototypes, charts, diagrams, etc.
A Solution Architect
This expert works closely with the BA and a System Analyst enquiring about software functional and non-functional requirements and building detailed product architecture. A Software Architecture Document, Architecture Vision, and Architecture Design Document are created as a result of this work. The Solution Architect also consults with Back-end and Front-end developers, DevOps engineers, and other specialists about the preferable approach to creating product architecture. Consequently, this expert draws up an implementation roadmap that includes implementation milestones, project estimations, specification of a technology stack, and recommended team composition.
A UI/UX Designer
This specialist communicates with the BAs and other experts involved in the project to better understand end-users’ needs and collect ideas for creating product mock-ups or prototypes.
Back-end and Front-end developers, QA specialists, DevOps engineers, and Security engineers might participate in the Discovery phase activities if needed. They interact with customers to clarify product requirements, consult them on technical matters, take part in elaborating software architectural design and choosing the technology stack, assess risks, plan product testing, carry out audits for software compliance with security standards, and more.
These experts take part in the project Discovery phase when needed, helping both the customer and the software development company’s in-house specialists plan for product features and identify risks and possible limitations based on industry-specific standards and requirements.
The Discovery phase steps
The duration of the Discovery phase may vary. As a rule, it takes from several weeks to a month, or even more — it depends on the project complexity. Accordingly, some steps of the Discovery phase may be omitted or, conversely, may be given more attention. In general, a plan for the project Discovery phase is as follows:
Identifying specialists who will be involved in the project
Contact between all participants should be established in order to get the most complete picture of the project and make it possible to quickly eliminate any shortcomings that may arise during the development process.
Setting clear objectives
At this step, answers to the following questions are formulated:
- What is the goal of the product?
- What problems of the user can it solve?
- What should it look like?
- What requirements should it meet?
Going through the above questions will help the experts involved in the project get a general idea of the interface and functions of the future product.
Checking the already existing studies and documentation
At this step, the BAs collect information that can considerably simplify and speed up the development process. The BAs also know how to present this information better and more clearly — for example, by supplementing it with charts and other visual tools. In the end, the SWOT/AsIsToBe analysis can be formed.
Studying the targeted audience and the end-users
The BAs can both consider the existing studies or conduct new ones in various formats. If a service or a product is being developed for use within one particular company, its employees can be surveyed as future users.
At this step, a specialist not only carries out market research but also finds out what is unique about this particular product and what new features it can offer. By comparing the ideas proposed by the customer with those already implemented by their competitors, the BAs determine what currently unavailable functionality a new product can provide.
Investigating the data obtained
This step involves drawing up a list of requirements for the future product, which will be sent to the development team.
Formulating a Software Architecture Document
The above document contains detailed architectural layouts of software modules and their integrations with each other and external systems.
Estimating the budget and development time
This is perhaps the most important step of the Discovery phase, where the main role is played by an IT Architect. By identifying all functional and non-functional requirements for the product, the number of necessary development participants, and all development-related factors, the Architect can more accurately calculate the project completion time and its cost. It is worth noting that the Architect doesn’t do the estimation alone — other experts, for example, DevOps engineers, can be involved.
Next, at a meeting with the Architect, PM, and the rest of the team, the BAs explain clearly and in detail all the functional features of the product. This will allow the team to estimate the approximate planned labor costs, according to which approximate terms are defined. Based on this data, a Gantt chart is made.
Drawing up the final package of documents with the research results
The package can be of various formats and content. The BAs present the results in the form of, among other things, a Vision and Scope document, a Software Requirements Specification, and mind maps.
The customer receives documents containing the following information:
- project objectives;
- non-functional requirements and duration of the project;
- recommendations on system properties or constraints, which are not related to system behavior: optimal technology stack, infrastructure architecture, and expected load;
- product requirements and characteristics.
The Architect provides the client with a Software Architecture Document, and a UI/UX designer provides software mock-ups and prototypes.
This data reflects the vision of all development process participants and is adjusted by the BAs based on competitor and end-user research. The above Discovery phase steps create an excellent base for timely project completion and the success of the finished product.
The main benefits of a Discovery phase for software development
The Discovery phase helps the customer and their software partner clarify their vision of the product and agree on its features. During this stage, user goals, problems, and expectations are defined, and the user roles are determined. The product risks, limitations, and dependencies are outlined.
Based on all these valuable insights, project documentation is drawn up and agreed upon with the customer, including a detailed development plan with estimations and prioritizations.
Therefore, the project Discovery phase has the following benefits:
A clear plan containing all the necessary requirements for the product is laid out
It is often difficult for a customer to communicate their idea to tech specialists correctly. In such a case, the BAs act as intermediaries and communicators between the customer and the team, saving the customer from wasting time on technical issues that arise.
The Architect, in turn, completely sets up the processes in the team, ensures strict compliance with the requirements, and conveys knowledge to the tech lead, preparing them for independent project management.
The documents prepared in the course of the Discovery phase give the team a clear plan of action so that the finished product satisfies the customer. All team members have a clear idea of why the product being developed is needed, what its purpose is, and who will be using it.
The duration of work and its cost are determine
Clear deadlines and a pre-planned list of functionalities with prioritization help the development company accurately calculate the budget and allow the team to follow the set path, without deviating or being distracted by additional changes.
A team of specialists required for successful product development is formed
The Discovery phase of a software project helps to determine in advance how many specialists should be involved, each of them having their role and scope of tasks.
The development process is sped up
A benefit of the Discovery phase is that new suggestions and ideas are offered by its participants. For example, since the BAs monitor the latest market changes, they assess the relevance of the customer's idea and convert it into a concept, suggesting ways to simplify the development or modernize it. This helps the customer save money and time.
What if the Discovery phase is skipped in the software development process?
Andersen’s experts strongly recommend all our customers include a Discovery phase. Without this preliminary project analysis, your project is in danger of developing the following flaws:
- there is no clear vision of the product as some ideas won’t be documented;
- the product strategy won’t be defined, and business goals will be vague;
- the future product’s cost will be unclear;
- in complex products, the development will most likely exceed the allotted time and require unexpected expenses.
To sum up, including a Discovery phase in the software development lifecycle prevents many problems while significantly saving money and time. Conducting preliminary analysis and drawing up a well-thought-out plan will surely provide the most beneficial and efficient development.
If you have an idea for an outstanding software project that will help your business prosper, contact us for a free software development consultation. Andersen's top-notch experts in Business Analysis and Project Management will be delighted to consult with you on how we can be a help in delivering you the best possible outcomes for your business.
Wir sind immer bereit, Ihre Herausforderung zu analysieren und Ihnen dabei zu helfen. Rufen Sie uns für einen Start an!
Kostenlose Beratung anfordern
Benötigen Sie Unterstützung bei der kundenspezifischen Softwareentwicklung?
Nach Analyse Ihrer Geschäftsanforderungen wird unser Experte Sie umgehend kontaktieren
Bei Bedarf können wir auch eine NDA unterzeichnen, um den Datenschutz zu gewährleisten
Unser Pre-Sales-Manager wird Ihnen ein umfassendes Projektangebot vorlegen, das Schätzungen, Fristen und Kandidatenprofile für Ihre spezifische Anfrage enthält
Kunden, die uns vertrauen:
Kostenlose Beratung anfordern
Benötigen Sie Unterstützung bei der kundenspezifischen Softwareentwicklung?