Managing Requirements the Agile Way
Requirements are at the very root of the transition process that is considered by some as revolutionary to the way we develop software. This evolutionary process gave rise to Agile, and thus, requirements can be seen as the main driving force behind Agile’s growing adoption and popularity.
USER STORIES
PLANNING & prioritizatioN
RELEASES
SPRINTS
TASKS
BACKLOG
Any Agile development project aims to deliver working software as fast as possible, where “working” actually means a product that is able to successfully resolve the customer’s problems. In order to be able to deliver a solution, one must first understand what the problem is.
That’s why Requirements Management is (or at least should be) at the heart of any Agile project.
Where to start?
Most practitioners advise that an initial requirements envisioning phase is fundamental in your requirements management lifecycle. Your aim here is to identify your project’s scope, which will help you to understand and estimate the cost and time needs of the project.
Once the project’s high-level goals, schedule, and costs have been agreed on, it’s time to really get the Agile requirements management lifecycle rolling…
3
2
Creating the requirements backlog
Requirements planning and prioritization
Releases, Sprints, Tasks
Decomposition, grooming, creating the product backlog
4
1
Creating the requirements backlog
Start by building a requirements backlog. This is where perhaps the most important and useful concept comes in: user stories.
User stories are short, informal descriptions of an everyday use case – basically, one or a few sentences in plain, everyday, or business language describing how the user expects the software to work in a certain scenario. Your requirements backlog could include visual models or UML diagrams, functional requirements, user stories, etc.
2
Requirements planning and prioritization
The next stage of the process aims to evaluate requirements based on business strategy and objectives and to define what needs to be built.
Requirements (user stories, functional requirements, etc.) will be prioritized based on their importance, time, and effort needs.
3
Decomposition, grooming, creating the product backlog
The resulting set of general requirements will go through decomposition and some “grooming” before making their way to the product backlog. Essentially, this stage of the process helps you refine requirements and “translate” them into actual features (i.e. directions that your developers will understand).
By including your development team and customer, you can make sure that the project is not derailed by a fundamental misunderstanding of goals.
4
Releases, Sprints, Tasks
From the product backlog, tasks and features are distributed into release backlogs, which are then further broken down into release backlogs, sprint backlogs, and actual tasks.
Tip: Ensure user stories can be traced to features and tasks, so that developers not only understand what their task is, but why they are doing what they’re doing.
ONE LAST TIP...
Remember to include your customers in the entire process of capturing and refining requirements (rather than showing them at certain points what you’ve accomplished on your own), you can make sure that the project is not derailed by a fundamental misunderstanding of goals.
These tips and practices barely scratch the surface of this vast topic. But remember, it stems from the very substance of Agile, which says that you should favor communication, collaboration, flexibility and working software over tools, processes, or documents set in stone.
Trying to build a future-proof Requirements Management process?
Learn about the ten success factorsyou must consider.
Read Now
1
2
3
4
