Agile in Requirements Management
Agile is certainly becoming a preferred development methodology as the focus today continues to move towards earlier deliveries.So how can agile methodology and requirements management work together? The focus of Agile is on individuals interacting and collaborating with customers to create software that works. Agile also provides for a quick response to change and actually encourages change. Traditional methods are more focused on tools and processes, in particular requirements definition and management. The problem is marrying these two together in a way that embraces the best of both worlds. Too much of either methodology can result in issues on a project.
Some think that Agile means “no documentation” and is undisciplined. Neither is true. Agile encourages documentation that is necessary to the project, but discourages “documentation for the sake of documentation”. Agile requires a great deal of discipline. It is not a free for all. Any methodology can become Agile by focusing on the right information, collaboration in teams that span both business and IT, and working in iterations toward the end result.
Implementing Agile in your Requirement Management process
Some major challenges with Agile are focused around people versus the methodology. Teams do not ask for help and plug along with questionable results.Often they end up going back to their old way of doing things. Teams have no structured way to share what they have learned. Teams have no way to measure the success of the agile methodology. Disciplined Agile extends Agile development to the entire lifecycle. It is not focused on just the software development phase.
Here are some key points to remember if you are considering moving to Agile.
- Know the complexity of your project. Consider size, estimated time and effort, number of people involved and location of those people.
- Get experts to help you and don’t be afraid to ask them for help. If your process is in chaos now, moving to Agile without some structure and discipline will just create Agile chaos.
- Thank about ways to segregate your requirements definition work. Do requirements as needed instead of trying to get them all completed up front. There are several ways to break up the work, features being one of them.
- Start the Agile approach at the beginning and use it throughout the lifecycle, from requirements to development and testing.
- Consider ways to measure the success of Agile and consistently keep metrics on these measures.
Agile – Scrum process with a Requirement Management tool
One of the most famous processes in the agile world is Scrum. In theory, Scrum does not need any software tools for managing “epics”, “user stories”, “product backlogs” or “sprints”. Simply speaking you just need a whiteboard and lots of post-it®. But what if your Scrum team is distributed? Or if you want to benefit from the work done in the past? Then it would be useful to have the data stored somewhere…
Why not using a flexible requirements management solution which is capable to enforce any kind of process. Let’s take the following process as an example for an implementation of a Scrum process:
The Product Owner will describe “epics” and “user stories” derived from them (traceability!) where “user stories” will automatically be included in the “product backlog” getting some product backlog specific attributes (e.g. delivery date, priority, assigned team). Each Scrum team can easily find the “user stories” assigned to their team and decide which stories they want to deliver in the next sprint. As soon as the story is assigned to a dedicated sprint (but not before) the scrum team is allowed to derive individual “tasks” which are assigned to certain team members. Each “task” will also have a status (to do à in progress à done).
Using a professional requirements management solution will allow:
- the product Owner to see which “user stories” is/was implemented in which sprint:
- the Product Owner to see the current status of the tasks derived from the “user stories” for a particular sprint:
- The Scrum team member to focus on his tasks:
Professional requirements management solutions allow to define role-based views on the data which improve efficiency tremendously.
Furthermore generation of various reports (e.g. burndown chart) from the actual data is just a single click – if not done in batch mode. Those reports might be in HTML format to include them in the intranet.