This blog article has been reprinted with permission from Blueprint Software Systems
Use cases have been around for almost 30 years as a requirements approach and have been part of the inspiration for more recent development artifacts such as user stories. Now the inspiration has flown in the other direction. Use-Case 2.0, as developed by Ivar Jacobson, Ian Spence, and Brian Kerr, is the new generation of use-case-driven development—light, Agile, and lean—inspired by user stories and the Agile methodologies of Scrum and Kanban. Use-Case 2.0 has all the popular values from the past, such as supporting requirements alongside architecture, design, test, and user experience, but now includes the introduction of an important new concept, the use case slice.
We recently sat down with Ivar Jacobson, who is widely touted as the father of component architecture, aspect-oriented software development, UML, RUP, and a multitude of other principles that have shaped the current software development landscape, to discuss his book Use-Case 2.0 and the role of use cases in Agile development practices.
Use cases, as argued by Jacobson, “include the techniques that are provided by user stories, but offer significantly more for larger systems, larger teams, and more complex and demanding development projects than user stories alone. They are as lightweight as user stories but can also scale in a smooth and structured way to incorporate as much detail as needed. Most importantly, they drive and connect many other aspects of software development.”
Where do Use Cases fit in Agile?
With this in mind, we’ve recently seen a shift where enterprises that are building large, complex systems are moving away from traditional waterfall development in favor of Agile processes. This made us wonder how use cases fit into Agile processes, particularly with the Agile focus on user stories.
Jacobson shared that “use cases were always very well received in large, enterprise organizations, but since [they] added the use case slice construct in Use Case 2.0, use cases now include everything that you get from user stories but offer a better way of understanding the whole system.” Without an understanding of the system as a whole, teams will find it impossible to make the correct decisions about what to include in the system, what to leave out, what it will cost, and what benefit it will provide.
“For instance,” says Jacobson, “a system with a dozen use cases is a reasonably good piece of software. But when you scale it down – or zoom in as we say – you’ll get maybe several hundred user stories, maybe even thousands of user stories. The problem with all these user stories is that, to understand the bigger picture, you’ll end up drowning in the details, and user stories are usually not maintained after you have developed the system. Whereas with use cases, the big picture is more easily available to help teams understand how a system will be used, and the value it will provide to its users and other stakeholders.” How do Use Cases help organizations become more Agile and responsive?
Agile is touted as being a means to respond to market feedback, user feedback, and customer feedback in the business setting. When asked how use cases support organizations becoming more Agile and responsive, Jacobson shared that, “with use cases in Agile development, you don’t throw away everything when you go from release to release – you keep most of it. And the value in having this persisting use case picture is that you can gradually grow it and add more use case slices” as you receive feedback from customers and the market.
“Every use case slice is a number of user stories that bring value in some way to the customer. But value is generated only if the product you’re delivering is actually embraced and used by your intended audience, so it is much better to focus on delivering usable value than on long lists of the functions or features your product will offer.” Use cases provide this focus to Agile by concentrating on how the system will be used to achieve a specific goal for a particular user but are still light and flexible enough to support the working processes of Agile teams.
Listen to the complete interview between Ivar Jacobson and Blueprint’s Adam Lacombe [15 minutes].