Requirements gathering: Best practices
One of the key aspects of a project life cycle is requirements gathering and management.
What is Requirements gathering?
Requirements gathering is the process of collecting or eliciting the requirements for a project from all stakeholders through meetings and interviews. I would prefer the term requirement "elicitation" since we will need to deep dive into each requirement rather than accepting it as-is.
What is Requirements Management?
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project.
Often times, as an organization, we tend to give less focus on requirements gathering and management and this results in bigger challenges during later phases of the project. The project might begin with a baseline requirement set which should ideally evolve into a matured set of requirements devoid of any ambiguity.
Did you know that:
1 in 5 organizations report high requirements management maturity
47% unsuccessful projects fail to meet goals due to poor requirements management
49% organizations report that they have the necessary resources in place to properly perform requirements management, leaving the other half of organizations lacking resources
27% organizations as a whole —fully value requirements management as a critical competency for projects and strategic initiatives
In some organizations, requirements gathering is the responsibility of the BSA(Business System Analyst), while in some Project Managers are responsible. As a Project Manager, I would like to engage all my stakeholders in the requirements gathering deep dive session. I normally use a white board, colored markers and post-its during these sessions. I have often found this useful during brain storming requirements as well as creating user stories or understanding the data flows.
Here are some best practices for successful requirements gathering sessions:
Go prepared for the requirements gathering meeting– If you have a baseline version of requirements that you have received from the stakeholders beforehand, read through it before the deep dive session
Ask questions- Make the requirements session interactive and ask as many relevant questions as you can
Engage all stakeholders in the Requirements gathering session (both from business and technology)
Avoid using technical terms - Do not over burden stakeholders with technical terms, use terms which are easy for them to comprehend
Be a good listener- Understand the perspective of the user and be a good listener during requirements gathering meetings
Creating user stories together helps in requirements gathering – Use white boards, markers and post-its to better visualize each requirement
Using brainstorming technique- If a requirement is not clear, use brainstorming techniques to come up with a clearer requirement, remove the ambiguity from the requirement
Requirements alignment with project goals- Ensure that the requirements align with the goals and strategic vision of the project
Try to categorize requirements into “core/non-core” or “must-have/good-have”
Do not assume a requirement- Ensure to repeat the requirement based on your understanding and align with the stakeholder
SMART Requirements- Requirements should be Specific, Measurable, Agreed-Upon, Realistic and Time Based
Requirements follow up- Some requirements would require follow up sessions. We must conduct them and follow up on those specific requirements before finalizing the requirements document
Prioritize requirements- Requirements must be prioritized and this is specifically helpful for agile delivery model
Requirements Sign Off- Remember to take a sign off on the requirements from stakeholders
Change Requests for additional requirements- Any changes requested beyond the signed off requirements should be part of a Change Request
Try to make the requirements gathering sessions interactive, productive and fun. Do not hesitate to conduct multiple such sessions or workshops if required. A successful requirements gathering session translates into a good requirements document aligned by all stakeholders. This lays the foundation of successful design and development phases and helps in achieving the project goals.