Agile Requirements Gathering: Practical Advice to Improve Traceability
If you are trying to find answers about Agile requirements gathering, this page may be one attempt of many. The truth is: doing requirements gathering the Agile way is not always straightforward.
Why isn’t it simple? Mainly because:
- It can be difficult to get team members to agree on a process to follow.
- Not every project can be built in an Agile way. Especially one that requires a PRD (product requirements document).
- One of the major goals in Agile is to reduce documentation. And yet requirements are very much documented, and are very much necessary documentation if you’re in a regulated industry.
So where does that leave us?
You’re probably not in a pure Agile environment, so you know the deal. The key is to get ideas for how to make this work, and apply what fits for your team. (Spoiler alert: this is a whole lot easier with a requirements management tool suited for hybrid Agile).
Back to top
How is Agile Requirements Gathering Different from Traditional (Waterfall)?
Traditional (Waterfall) project requirements are set early on in development, at which point they are reviewed and approved. Approved requirements don’t often change. Customer feedback does not usually inform requirements, and it typically comes via bug fixes or features. The PRD clearly outlines what the requirements are, not why they need to be met.
Conversely, Agile requirements adhere more to the Agile manifesto. For instance, they put the customer first by outlining what the requirements are and why they matter to the user or stakeholder in the form of a user story. Gathering requirements is a collaborative process in which stakeholders review and update requirements throughout the development lifecycle. The feedback loop is much shorter in Agile requirements gathering compared to Waterfall.
While, again, your process may not be purely Agile, requirements gathering should allow teams to embrace change, especially through frequent delivery and face-to-face conversations, for example.
Gathering user stories for a release still covers the same elements of a traditional PRD — purpose, features, criteria, and timeline. However, the Agile document usually lives through some sort of interactive document or task board that enables simplicity, whereas a traditional PRD is typically a relatively static document.
Back to topHow to Gather Requirements, the Agile Way
No matter which methodology your team uses, requirements gathering essentially involves consulting stakeholders like customers, users, and admins to collect their input. Typical steps include assigning roles, conducting interviews, listing requirements expectations, monitoring and tracking requirements, and getting feedback.
Agile requirements gathering differs in that it is more collaborative, with shorter feedback loops and new requirements being gathered more often throughout development. Developers will be included in conversations about what is needed and why.
When you follow the Agile methodology, requirements gathering can be a lot more flexible, allowing for ongoing changes and evolving to better address user needs — which makes it a compelling approach. However, the iterative nature of gathering requirements the Agile way can make traceability trickier.
For those stringent requirements, like regulatory requirements, you may still need to follow a more traditional approach — but include links to static documents within the user stories to define the strict parameters required to meet regulatory compliance. This is made easier by using a requirements management tool that accommodates hybrid Agile environments.
The above guidelines may be amended with principles from the Agile manifesto:
1. Have teams form groups.
2. Ask customer for requirements (face-to-face when possible) and deliver ASAP.
3. Discuss via daily meetings of Business and Dev teams.
4. Measure progress through working software.
5. Continue to obtain feedback and embrace customer change.
6. Reflect and grow.
Agile Requirements Gathering Techniques
When you have a list of relevant sources, there are a number of ways you can go about capturing the requirements. It’s good to use more than one approach so that you don’t miss anything.
Before we dive into specific techniques for Agile requirements gathering, let’s review a short list of traditional requirements gathering techniques for context:
- Brainstorming: Gather ideas, then organize and prioritize them with a facilitator (such as the product owner).
- Interviews or questionnaires: Engage stakeholders directly or with surveys to assess business needs and product solutions.
- Review similar systems: Examine documentation from existing systems for insights and a starting framework.
- Observe the target environment: Observe user interactions in the target environment to uncover requirements and improvement areas.
- Talk to support teams: Learn from support, training, and installation teams about common user challenges and implementation issues.
With Agile requirements gathering, the information you’re aiming to get still answers the basic outline of purpose, features, criteria, and timeline. Some differences lie in the way you will document, use the information, and potentially the way you organize or prioritize the requirements (more on this later).
Here are some techniques specific to Agile requirements gathering:
Detail User Stories With Critical Links
Rather than create requirements statements, you’re describing what is needed and why through user stories. When it comes to things like compliance, you need that information available without compromising the simplicity of the user story. In these cases, add links within the stories to pertinent documents. Additionally, you can provide acceptance criteria in the user stories to provide the right amount of detail.
Prioritize
It’s not that you don’t assign priorities in Waterfall; you do. But here you should still rely on your product owner to prioritize the user requirements and maintain a backlog like usual where possible. You may still use index cards, a Kanban board, or whatever Agile methodology makes your team successful.
Track Status and Communication With Stakeholders
As you’re working through sprints and sharing updates with stakeholders, track feedback. If traceability is critical for your team, it’s wise to use a tool that allows you to link their comments to the user stories. Additionally, tracking change history is crucial for maintaining accountability and understanding how requirements evolve. Detailed records, status checks, and an immutable change history — showing who made what changes and when — help Agile teams ensure traceability and stakeholder alignment throughout the development lifecycle.
Use Prototypes
This is a great example of how Agile requirements gathering does not all happen before the project begins. You can get valuable information from stakeholders by sharing a demo or prototype before the build or final release. People don’t always know what they need until they see the end result, so you can save a lot of rework with a sneak peek.
Use a Requirements Management Tool
This is important for a couple of reasons. First— and especially if regulatory compliance is of concern — you can use a tool like Perforce Helix ALM to get end-to-end traceability across your requirements, issues, and test cases. It’s more than handy when trying to maintain documentation in the anti-documentation world of Agile. Second, the tool should spare you the need for a manual template. Plus, dropdowns and pre-populated fields will help you build user stories much more quickly. Talk about agility!
If you don’t need traceability and you don’t have a tool with a built-in template, you can find a suitable requirements gathering template in Excel, or you could outline everything in a text doc. Those could look something like this:
A Note on Using Text Docs and Spreadsheets
There are a number of downsides to using a spreadsheet or text doc for this, including maintenance. People often struggle to hunt down the most recent version and check that it has captured everyone’s feedback.
Also, it isn’t as available to all the teams who need it if it’s stored outside of the tools they are using to build or test the project. It is difficult to use in Waterfall development, and nearly impossible in Agile.
A requirements management tool solves these problems and makes it much easier to perform your tasks.
Back to topEvaluating Requirements Management Solutions?
Our Requirements Management Software Buyer's Guide is a must-read for small teams who are exploring traceability tools to replace their manual processes — especially any teams working within highly-regulated industries in which compliance is critical. Learn to learn 5 questions to ask when comparing requirements management solutions.
Where a Flexible Requirements Management Tool Comes In
If you want a more scalable solution than manually gathering and tracking requirements in text docs and spreadsheets, you will need to find a requirements management tool that is suited to Agile (or hybrid Agile), and most of the popular tools on the market check this box.
Beyond that, if you work in a regulated industry but want to reap the benefits of hybrid Agile, you’ll need to find a tool that is flexible while offering complete traceability.
Helix ALM, application lifecycle management software by Perforce, has all of the above — it supports multiple methodologies, including Waterfall and Agile. It gives you end-to-end traceability. It is also highly configurableto your team’s needs and workflows, allowing you to organize, manage, and track evolving requirements in whatever way works for you.
As mentioned previously, one of the potential differences between a traditional and Agile requirements gathering workflow is how you organize or prioritize requirements. Helix ALM’s unique, configurable folder capabilities, in particular, can help you create a streamlined Agile requirements workflow.
Here’s how:
Helix ALM’s Flexible, Configurable Folder Structure
In Helix ALM, you can create a hierarchical folder structure to visually represent and manage any part of a project — products, releases, iterations, backlogs, tests, teams, etc.
Agile or hybrid Agile teams can use folders to group items like user stories, tasks, defects, and test cases. You can create folders for iterations or sprints, like this:
Having the flexibility to structure folders however you want gives you clarity. It lets you quickly and easily check on progress so you always know where your team stands on every element of your project.
Simplify Requirements Gathering
Perforce Helix ALM is a flexible yet robust application lifecycle management tool designed to support a variety of development methodologies, including Agile and hybrid Agile. Want to learn more about how Helix ALM can simplify requirements gathering and management and enable enable end-to-end traceability across the development lifecycle? Watch a short demo to see it in action:
This blog was originally posted in 2021 and was updated in December 2024 for accuracy and relevance.
Back to top