In this episode, Ivar Jacobson shares with us the birth of Use Cases, how to apply Use Cases in agile environments, and what lies beyond Use Cases.
After listening to this episode, you'll understand:
- How the concept of a Use Case was first developed
- How to use Use Cases in an agile environment
- Why Use Cases can be a powerful tool in agile development
The term ‘Use Case’ has become a common term even outside of software development. To project professionals, it’s a way of describing the interaction between a user/role and the system and is a powerful tool for analyzing and documenting requirements. But where did the idea of Use Cases come from?
The Birth of Use Cases
In the mid-1980s, Ivar Jacobson was working in telecommunications and needed a way to describe the flow of events for a system function. Ivar decided to treat the system as a black box. He was less concerned about the internal working of the system and more concerned with how users would interact with the system and the value that users get from the system.
From his abstraction, he created a generic construct (Use Cases) that could be used in many situations to describe a system’s functionality through its interaction with the user. Ian Spence and others helped iterate on the Use Case concept through the popular tool it has become today.
Use Cases not only allow you to specify requirements; they are the beginning of test cases. As we describe the system interactions with Use Cases, the corresponding test cases emerge in a way similar to test first design.
Use Case 2.0 for Agility
As Ivar began looking at Use Case analysis and development, he realized that each Use Case may be made up of multiple threads (flows of events, scenarios, or slices). The best approach is to start with the most important thread an only about 10% of threads represent the architectural baseline.
By slicing Use Cases, the system can be developed and tested in small, valuable pieces that represent the architectural baseline.
In looking at scrum, Ian Spence connected Use Case slices to a product backlog. Each slice represented one or more user stories. This makes it possible to scale by seeing the whole system through a Use Case Diagram and delivering the system in small slices that can be used in iterative development.
Ivar and Ian wrote a book (Use Case 2.0) describing how to apply Use Cases in agile environments while including testing and reusable elements.
Listen to Ivar’s full interview for more details and find out what lies beyond use cases.
Related content: Episode 34 – Use Case 2.0
Learn about applying Use Case 2.0 so that you can apply this approach in either traditional or agile environments. It allows you to see the big picture while also slicing large efforts into smaller, prioritized pieces.
Dr. Ivar Jacobson
Founder, Ivar Jacobson International
Dr. Ivar Jacobson is a father of use cases, the Unified Modeling Language, and the Rational Unified Process. He has contributed to modern business modeling and aspect-oriented software development. He is the principal author of seven influential and best-selling books including Business Process Reengineering with Objects, Object Oriented Software Engineering: A Use Case Driven Approach, and Aspect-Oriented Software Development with Use Cases. Most recently, Ivar has been working on how to deal with methods and tools in an agile and lean way.
Thank you for listening to the program
To get more valuable content to enhance your skills and advance your career, you can subscribe on iTunes.