Requirements in Agile Software Development - A Brief Overview - codecentric AG Blog
Currently there is a large number of different techniques for Agile Requirements Gathering and Management.
Some of them are use cases, user stories, innovation games, color modeling, user stories mapping, and, one of the most recent additions, impact mapping.
All of these techniques serve by solving different problems, have differing purposes, and, therefore, differ in which way they are used.
Use Cases belong to now classical techniques in the requirements gathering and management. At the same time, they could be used in the agile way – one of the signatories of Agile Manifest Alistair Cockburn is, as well, a recognized expert on Use Cases.
User Stories – Can we divide requirements into small enough pieces, so, they could be independently prioritized, planned and delivered during one sprint?
User Stories are often described as consisting of “Card, Conversation and Confirmation” or 3C for short, and they have to be understood as a token for planning and conversations that are to happen.
Alistair Cockburn explains the difference between user story and use cases as follows: “A user story is the title of one scenario whereas a use case is the contents of multiple scenarios”.
Innovation Games were created for creating and developing ideas for the development of new products. They are based on research that people are able to express themselves better when playing games than in a serious and strict atmosphere of a business meeting. The best time to play these innovation games is at the start of the new application development.
Color modeling is a technique of Feature Driven Development or FDD. Its goal is to swiftly create a domain model in terms of significant events, and the people and organizations that are taking part in these events, and furthermore the roles in which they participate. This technique was used for projects, ranging from 2 persons for 2 weeks’ time to the 50 person 2 years project. As an additional benefit, this technique allows estimating the duration of project when the modeling phase is complete.
User Story Mapping – When developing a new product, can we define the minimal viable scope for the product, the smallest scope that still brings any value to customer? A user story map arranges user stories into a model helping to understand the functionality of the system, identify holes and omissions in a backlog, and effectively plan releases that deliver value to users and business with each release.
User story mapping allows to create a plan for the whole product which can then be divided into several releases.
Impact Mapping was created by Gojko Adzic and has its roots in the User Experience or UX Effect Mapping method. The idea of impact mapping is to present requirements in a visual way that links together Goals, Actors and Impact to be achieved. This makes it a good tool in order to achieve the link between business goals and functionality to be developed in software during the release, and therefore, very suitable for release planning. Additionally, this method allows to uncover assumptions, it eases prioritization of different stories and provides focus for delivery.
Do you already have experience with methods for gathering and managing requirements in an agile way? Would you like to exchange your experiences or learn more about Impact Mapping? Then visit the Agile Stammtisch Frankfurt. The lightning talk on the next Stammtisch will be on “Impact Mapping”.
The 10th Agile Stammtisch Frankfurt will be on 3rd of April 2014 at 19:00 at “die Zentrale”. Free Registration on XING.