A couple of weeks back, I called my mom to learn how to make baati, an Indian bread that you eat with daal (lentils). It can be difficult to make because it requires different utensils and preparation styles than I’m used to. When I asked my mom how to make it, she wanted to know the following:
Without knowing it, my mom applied a product management approach to our conversation. Using this exchange as an example, the questions she asked formed the requirements gathering phase we use in our jobs as PMs.
In this article, you will learn what requirements gathering is and how to best conduct it to ensure the success of your software development.
Requirements gathering is the part of the software development life cycle where the team collects all the relevant information needed to build the software. This involves talking and gathering insights from stakeholders, such as end users, higher management, and project team members. This also includes market research and competitive analysis.
The end goal of requirements gathering is to create a comprehensive list of requirements that will serve as a single source of information for the project’s development. This process also ensures that the project meets the timelines and expectations to deliver the outcomes.
Requirements gathering can involve a range of techniques, such as interviews, surveys, and workshops, and requires careful planning and execution to ensure that all requirements are identified and addressed.
One of the most interesting requirements gathering phases I was a part of was at Zalando, a fashion ecommerce company, where I interviewed end users during the COVID-19 pandemic to understand how the virus impacted their buying decisions. We used these insights to understand how we could modify our roadmap for that year.
There are a number of different ways you can approach requirements gathering that range in cost. Five of the most common methods are:
Conduct interviews with stakeholders, users, and subject matter experts to gather requirements.
This method involves talking directly with your users. These interviews used to happen face-to-face, but since the pandemic, a lot of these have shifted online. However, the team is free to decide whether to conduct these interviews online or face-to-face. There are multiple tools available for organizing online interviews such as Zoom, Google Meet, etc., while face-to-face interviews are held at specific locations.
You should approach interviews with detailed questions for the users and record their answers for further analysis. Use open-ended questions, like “Can you explain how you book a ride on Uber?” Avoid close-ended questions, like “What problems do you face while booking a ride on uber?” — these will limit the quality of response.
These questions help to understand how users think and can be used as a guiding light to solve problems. However, interviews are difficult to scale and struggle to capture the opinions of a large group.
Organize interactive sessions with stakeholders and end-users to identify requirements and gather feedback.
Workshops are interactive sessions where multiple other activities such as role-playing, group discussions, design sprint, etc. are organized. Unlike interviews, there isn’t a specific list of questions that are asked to the users. Instead, there are discussions on the defined topics to understand user problems and gather requirements.
Workshops are a bit more scalable than interviews, but are expensive. They require more time and effort to capture the consideration of the right members.
Send out questionnaires to a large group of people to gather their requirements and preferences.
Surveys are one of the most cost-effective ways to gather requirements from users. These mostly take place online and require little effort to set up.
There are multiple tools available in the market to send surveys, such as SurveyMonkey, and TypeForm. They can help to gather quantitative as well quantitative opinions and feedback. They are also scalable, meaning they can be sent to a large group.
With surveys, the data can be limited depending on how well the questionnaire is designed to accommodate for biases
Create a basic prototype of the product to gather feedback from users and stakeholders.
Prototyping is one of the most expensive ways to gather requirements and feedback, but can help teams gather quality insights from the users. The method requires teams to build a small prototype and take it to users to test and gather feedback. This helps the users to use the product firsthand, which allows them to give relevant feedback.
You can use prototyping to test specific solutions to the problem that the product is trying to solve. Prototyping might require engineering and design input depending on how complex it is. Because of this, it’s extremely important to decide the scope of the prototype early on and stick to it.
Conduct group sessions with a selected group of users or stakeholders to identify requirements and gather feedback.
Focus groups are a mix of workshops and interviews. They are targeted to a select group. This group could be based on interests, gender, age, location, or any other relevant factor. These can be conducted online or face-to-face. This particular requirements gathering method can be tailored to a specific persona or user group.
Focus groups, like workshops, can be time consuming and require meticulous planning. In addition, the results of the focus groups are only from a specific group, which limits the scope of the method.
This five-step process will help you navigate requirements gathering in an effective way:
This forms the very first step of the requirements gathering phase. All the other phases are connected with this step.
It’s extremely important to understand what problem the team is trying to solve. This includes understanding business needs, as well as the short and long term goals of the project.
Once the problem is identified, the next step is to identify stakeholders.
Your stakeholders could be higher management, end users, engineers, third party companies, or anyone else that could be directly or indirectly impacted by the problem and would be interested in a potential solution.
During this step, the requirements are gathered using one of the above mentioned methods. The key to this phase is to go in with an open mind so that there is no confirmation bias. Also, the goal should be to capture as many insights as possible, regardless of what seems trivial or redundant.
After you’ve gathered the requirements, it’s time to prioritize them.
I find it useful to group the requirements into themes and then prioritize them. Themes help to identify patterns and trends and help maintain focus on the important requirements.
After the requirements are prioritized, the next step should be to validate them with the entire team. You can do this by creating a collaborative document that can be shared with the team for initial feedback.
Follow this up with a session with the entire team to go through all possible questions and ensure that the requirements are complete, accurate, and meet the needs.
Effective requirements gathering requires planning and execution from multiple teams and a product manager remains at the forefront of this process. It helps the teams to ensure that the final product meets the expectations of the stakeholders and more importantly, cost effectively solves their problems.
Below are three main benefits of effective requirements gathering:
The software development process is a long-term activity and requires a strong project plan and alignment with stakeholders to deliver the product. A meticulous and effective requirements gathering phase can help teams plan projects by understanding their user needs early on and aligning the relevant stakeholders. This also helps the team to come up with a realistic timeline and required budget, identify potential risks, and communicate them to the right stakeholders.
Every project includes risks. Through requirements gathering, these risks can be identified and mitigated as much as possible.
Well-documented and insightful requirements can help teams discover these risks early on, allowing you to solve user problems before they impact the health of the business.
Every team wants to build a product that solves the pain points of users. An effective requirements gathering process helps teams to connect the pain points with the solution. By doing so, the team improves customer satisfaction because the product can be tailored directly to customer needs.
While I was at Zalando, one of the most common challenges we faced was understanding how we could reach out to the end users for requirements gathering. Zalando had 30 million daily active users back then. This made it difficult to know who to interview.
You will also come across challenges in the requirements gathering phase. Below are four of the most common issues that may arise:
As alluded to above, it’s not easy to identify who to talk to understand problems associated with, say, the return feature on an ecommerce website when it serves 30 million daily active users. Hence, it’s important to minimize the scope of the problem.
In our case, we identified that most of the sizing problems were related to plus-size customers. This helped us to shrink our user group and only focus on plus size customers.
Documentation is at the heart of the requirements gathering phase. It helps everyone to understand the insights received from the stakeholders.
Unclear documentation causes requirements gathering to go awry. It’s important to clearly state the tools used to capture the requirements and distribute the documentation to all the relevant stakeholders to ensure timely feedback.
There are cases when the end users or stakeholders might not speak the same language as the organizers of the requirements-gathering phase. This mostly happens when the product is international and has users around the globe.
In such cases, it is important to appoint a translator or someone from the team who understands the language of the stakeholders.
Every team has limited resources in terms of time, money, capacity, etc. To overcome this challenge, it’s important to choose the right scope, set the right priorities, and focus on the most important needs and requirements.
There are a range of different tools and softwares that can help you navigate the requirements gathering phase. Depending on your specific needs, the following list highlights the strength of each program and the situation you would use it for:
Using a requirements gathering template can help streamline the process of collecting and organizing the necessary information for your project.
This template is designed to help product managers follow the requirements gathering process described above and create comprehensive documentation to distribute to team members and stakeholders:
Now let’s look at an example to show how requirements gathering works in practice.
Let’s say you’re managing an ecommerce product and your team is responsible for optimizing the return process on the website. To document the requirements and requirements gathering process, you might fill out the template above as follows:
Requirements gathering is crucial for the success of any product. It helps teams connect the problems of the users with the solutions.
Requirements gathering also helps to identify risks early on, enabling teams to build exactly what the users need.
By avoiding the common traps described above, teams can increase their chances of delivering a product its users will enjoy. This phase requires time, effort, and resources, but a well-documented set of requirements will lead to a better outcome.
LogRocket identifies friction points in the user experience so you can make informed decisions about product and design changes that must happen to hit your goals.
With LogRocket, you can understand the scope of the issues affecting your product and prioritize the changes that need to be made. LogRocket simplifies workflows by allowing Engineering, Product, UX, and Design teams to work from the same data as you, eliminating any confusion about what needs to be done.
Get your teams on the same page — try LogRocket today.
Value has many forms outside of the exchange of money for products/services. It can be in the form of saving time, increasing revenue, etc.
Concept evaluation bridges the gap between what seems like an out-of-the-world idea and what users truly need.
Nick Ehle talks about minimizing dependencies by designing teams and organizations to be as empowered as possible.
Value-based pricing is about using the perceived value, also referred to as willingness-to-pay, to set the right price points for the product.