Engineering Quality Solutions
Learn how the Discovery phase helps in gathering requirements and understanding the project’s vision, ideas, concept and expectations.
By Paresh Mayani
Last updated on: November 12, 2024
The Discovery phase is an initial phase where we start gathering requirements from the client and understand the vision and concept of the project. This is a checkpoint to validate if the product is viable and what the target market for the same could be. Usually, gathering requirements is not straightforward. There are certain iterations while finalizing the scope, if these iterations are not understood or documented clearly it can bring many challenges or disputes at the later stage which can be the reason for the failure of the project too. So, it’s very important to start it right.
Let’s start with what is the Discovery Phase, Why we use it, and how we can eliminate failure or disputes.
There are many technical terms for this phase such as “Requirement gathering”, “Initialization Phase”, “Business Analysis (BA) Phase”, “Preparation Phase” etc. If we try to understand it in simple language, it simply answers two things. What needs to be done, and How will we do it? If we are on the same page with these “WHAT” and “HOW” questions, we can reduce the chances of disputes at a later stage.
The expected outcome from the Discovery phase is a well-defined scope of work that iterates the list of modules (WHAT modules to include) and flow (How it will function) with technical specifications (What technologies will be used for development).
As per agile development, there are 6 phases of the project life cycle, and each phase has a different set of activities.
In many cases, clients or companies choose not to have the discovery phase as they think they are going to build a similar product or common product whose concept and features are similar and do not require more brainstorming or any more detailing.
Unfortunately, they end up in the following Situations.
Common Problem Situation.
How can the Discovery Phase help here
Common Problem Situation.
How can the Discovery Phase help here
Common Problem Situation.
How can the Discovery Phase help here
Common Problem Situation.
How can the Discovery Phase help here
Stakeholders’ involvement depends on the organization and how they plan it. Usually, all the members who are responsible for creating and using the final product are the stakeholders while in the discovery phase. Stakeholders collaborate internally to define the scope of the product they want to build.
Stakeholder | Reason |
Sales Team Member | Sales team members take care of cost-related things in a project, such as how much it may cost. How long it may take etc. |
Business Analyst | BA team members help to analyze and validate the product requirements. They also help to document it or prepare the wireframes or diagrams to understand the flow. |
Technical Team Member | Technical team members help to validate the product features and operations |
Customers | Customers explain their desire to build a product and share their vision of the product |
Investors | Investors can finalize the modules and priorities as per budget. |
End users | End users can share their expectations and purpose of using the product |
Developers | Developers can help validate the expected time to build the product and can collaborate with the client to understand the requirements. |
There are many ways to execute the discovery phase, and there are no certain rules to execute the same, but as long as it gives you a clear specification, you can consider it right.
Here, we have some steps you can use as a reference.
It purely depends on the project size and how we choose to move forward with it. If we plan to develop the full flagged product, it can be long, whereas if you just want to go with the MVP version (minimum viable product version), it can be shorter.
Usually, it takes approximately one week to 2 months’ time depending on the project size.
As we discussed earlier in the What is discovery phase, the expected outcome of this phase is a well-defined scope of work, however we can expect items below from the delivery phase.
As stated earlier, the expected outcome of this phase is a well-defined scope of work. Basically, the answers are “What” and “How”. It should define what we’ll be building and How we’ll build it.
In Technical Language, define modules, Features, and Tech stakes. But the key point is to make sure that everything is clear and all the stakeholders are on the same page.
A Famous author once said:
Half-knowledge is worse than ignorance. – Thomas B. Macaulay
Similarly, half-defined or high-level discovery can lead to miscommunication or misunderstandings. Here are a few key points to cover in the Discovery Phase.
Screen-wise wireframing can be helpful when you are in the discovery phase.
Benefits to Company | Benefits to Customer |
It becomes easy to demonstrate how you are planning to build the product. | It helps to get an idea about how things will look like. |
It becomes easy to explain what features will be included and how they will work. | It helps to collect feedback from team members on wireframes rather than on documents. |
It helps to prepare the final design from Basic wireframes. | You can easily identify if anything does not match your expectations. |
It helps to define UX (User Experience) for all screen | It helps to understand the process/Logic of how the system/product will work and can be validated at an early stage. |
There are many tools available for wireframing with drag-and-drop features, such as Balsamiq, Visio, mockups, etc.
All we tend to do in the initial phase is to hide the limitations of the product, but it’s the ideal time to be transparent and list out all limitations along with the Feature details.
Let’s have an example here.
If you define the Limitation here as “You can upload video up to 2 GB, and it will only Support .mov and .mp4 format”
It sets the expectations. If a client wants to upload big files, you’ll realize it earlier and will be able to accommodate it.
We are in an era of gadgets, we have a vast range of mobile screen resolutions, iPad, tablets, laptops, smartwatches, etc. It’s hard to build a program/system that runs well on all devices, browsers, and resolutions.
For the sake of transparency, it’s wise to identify and notify the client about what device support we can have for the program we’re going to build.
There are many programming languages available to build a program/system these days. It’s also recommended to notify clients about which technology/programming language and version we’re planning to use to build the system.
Being in the programming field, we are privileged with many ready-made libraries, Themes, and services that can be used to build a product/system.
It can be helpful to identify the third-party libraries/services that can be used in a project so we can analyze them with clients and make sure they are worth using.
In most cases, clients are bearing the third-party charges. If they are discussed during the discovery phase – Clients can review the cost and plan to modify/remove any module from the scope of work.
Developing any product/system requires some assets such as images, hosting server details, website content, email templates, SMTP details, etc.
If all these assets are identified and listed with the details of who will provide what – It can be a lot easier while being in the development phase.
It also helps to foresee the delay if any key assets are delayed.
These are five key points we recommend considering while being in the discovery phase. Happy Discovery!
We have some awesome tips for you which can be helpful.
The Discovery phase plays a crucial role in figuring out the requirements, understanding the expectations of the stakeholders, and also keeping everyone on the same page before we proceed with the software development. Hence, it’s an essential step before we proceed with software development. If you have a software idea and are looking forward to building custom software with a talented team, starting from the discovery phase to the delivery of the project, let’s brainstorm over it together.
Written by
Paresh is a Co-Founder and CEO at SolGuruz, who has been exploring the software industry's horizon for over 15 years. With extensive experience in mobile, Web and Backend technologies, he has excelled in working closely with startups and enterprises. His expertise in understanding tech has helped businesses achieve excellence over the long run. He believes in giving back to the society, and with that he has founded a community chapter called "Google Developers Group Ahmedabad", he has organised 100+ events and have delivered 150+ tech talks across the world, he has been recognized as one of the top 10 highest reputation points holders for the Android tag on Stack Overflow. At SolGuruz, we believe in delivering a combination of technology and management. Our commitment to quality engineering is unwavering, and we never want to waste your time or ours. So when you work with us, you can rest assured that we will deliver on our promises, no matter what.
Sign up for our free newsletter