by Andreas Birk and Gerald Heller
When agile methods emerged during the 1990s and until quite long into the first decade of the 21st century, agile requirements were widely synonymous with user stories. This was a major contribution and step forward for requirements practices on team level. However, for larger multi-team development efforts, for continuous product development as well as for product- and portfolio-level planning, effective guidance for agile requirements management was still mostly missing. This situation has improved gradually since around 2005 when frameworks for scaling agile appeared on the scene. Most notable examples are: Scaling Software Agility by Dean Leffingwell (2007) and Scaling Lean & Agile Development by Craig Larman and Bas Vodde (2008). Follow-up publications of these authors have provided valuable additional guidance also for requirements management. In particular, Dean Leffingwell published the first comprehensive agile requirements framework in 2010: Agile Software Requirements, the approach is now known as the Scaled Agile Framework (SAFe).
Today, we have quite a variety of agile requirements frameworks. But now it has become difficult to survey the entire scene and find the suitable approaches relevant for one’s own specific software or system development context. For this reason, we want to give an overview here, providing orientation and guidance in the growing field of agile requirements management. You find a survey of those frameworks we find most important along with links for further information. Of course, this selection is subjective, and for sure we have overlooked some important approaches. So we will be grateful, if you can comment on the following list and send us additional hints (feedback link). We will include them into future updates of this list.
Scaled Agile Framework SAFe (Leffingwell)
SAFe has been the first comprehensive framework for agile requirements management, defined by Dean Leffingwell. Published in its initial version in 2010 and partly based on earlier works, we view it still as the most important reference and entry point for agile requirements management. The website provides a very rich collection of valuable information. The book is an excellent introduction and resource on agile requirements. Dean Leffingwell’s earlier book makes a good extension for understanding the large-scale agile development process.
Scaling Lean & Agile Development LeSS (Larman, Vodde)
LeSS does not focus on requirements management in particular, rather it addresses the entire spectrum of agile development activities. However, it includes very many practices and techniques relevant to agile requirements management. A good introduction to LeSS is the May 2013 article in CrossTalk magazine. Additional information provide the homepages and blogs of Craig Larman and Bas Vodde. An interesting experience report is the article on Large Scale Scrum (LeSS) @ J.P. Morgan at InfoQ. The comprehensive resources are the two books on basic concepts (2008) and on practices (2010) of the approach.
Disciplined Agile Delivery DAD (Ambler)
DAD is a “process decision framework” that aims at helping projects and organizations to create their suitable agile development approaches. As such it includes various agile requirements practices along with guidance to design requirements and software delivery processes. The approach is relatively new, dating from 2012. There is an accompanying book available.
Discover to Deliver (Gottesdiener)
Discover to Deliver is an approach to agile product planning and (requirements/business/system) analysis. It extends established product planning and analysis techniques and transforms them into the agile world. A book introduces the approach, and a short 2-minutes video clip explains the essential concepts.
Specification by Example SBE (Adzic, Fowler, and others)
“Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements.” (Wikipedia) It provides a consistent framework to agile requirements management utilizing high-level tests and test automation. Among the main proponents are Gojko Adzic and Martin Fowler. Gojko Adzic maintains the specificationbyexample.com website and has written a good instructive book on the topic. Martin Fowler has written a concise article that motivates and introduces the approach.
Acceptance Test Driven Development ATDD (Gärtner, Koskela, and others)
ATDD is another consistent approach for accomplishing agile requirements and testing tasks in an integrated fashion. It features several agile requirements practices that can be very useful in the context of other approaches as well (e.g., the Given-When-Then template for specifying system behaviour and tests). A Wikipedia article provides a good introduction. Introductory books are available from Markus Gärtner. Lasse Koskela has written a brief introduction as well as a very instructive book on ATDD.
User Stories Applied (Cohn)
User stories are the nucleous or starting point of all agile requirements management. Mike Cohn’s classical book on the topic provides an excellent introduction and explains the application of use cases in agile development projects.
Use Case 2.0 (Jacobson)
Ivar Jacobson has coined the concept of use cases as early as in the 1980s. With Use Case 2.0 he and his colleagues have refurbished the use cases approach for the agile age. The approach differs partly from other agile requirements frameworks (e.g., stronger emphasize on more or less formal information structure and (only) apparently less emphasis on stakeholder communication procedures). However, this makes it particularly relevant as a source of additional inspiration for agile requirements managers. It also can provide important guidance for environments in which other agile approaches don’t appear suitable (e.g., possibly in development of technical products using model-based approaches). An eBook explains the approach.
Agile Product Canvas (Pichler)
Roman Pichler is the author of the book Agile Product Management with Scrum (2010). Since then he has developed several additional and very useful tools. One of them is the Agile Product Canvas, which collects all important overall product-related requirements information on one easy-to-understand and easy-to-use pane.
Agile Modeling & Agile Documentation (Ambler, Rüping and others)
Quite early during the emergence of agile methods, Scott Ambler and Andreas Rüping had taken attention to aspects beyond coding. First, Scott Ambler wrote a book on agile modeling (2002). He also now maintains a comprehensive website on the topic, which contains a good overview article. Soon later, Andreas Rüping has added another book on agile documentation (2003). In 2012, Andreas Rüping published an updated and extended version of the book (available in German only). These works complement the other frameworks on agile requirements management by providing guidance also for the interfaces of requirements management to adjacent disciplines like graphical modeling (e.g., business process models, UML, SysML), architecture specifications, and user documentation.
At the end of this article, let us emphasize again: We will be very glad, if you share your thoughts on agile requirements management with us. Do you disagree with (parts of) what we have written here? Would you have additional framework suggestions? Do you have agile requirements experiences that you want to share with others? Don’t hesitate to contact us via firstname.lastname@example.org.