How do you go about describing requirements? As Use Cases? Well, then you are in good company. According to a recent study 73% of German companies apply Use Cases. A major advantage mentioned is the ability of Use Cases to depict the functional correlation of a system and thus giving a quick overview of the system’s functionality.
Use Cases are not a new concept. They were introduced by Ivar Jacobson 27 years ago, at the OOPSLA ’87. In a world with an increasing focus on agile development, aren’t Use Cases outdated?
Are Use Cases Irrelevant for Agile Projects?
Easy answer: not at all.
It is exactly this Big Picture of a system offered by Use Cases that is lacking in agile projects, which then leads to a lack of orientation and decisions on the scope as well as the use and costs.
The question is: How can we make use of Use Cases and still organize projects in a way that enables us to manage projects agilely and develop systems incrementally? The internet is filled with tutorials of how to derive User Stories from Use Cases based on a model like the following:
As <Role> I want <Goal>, to <Use>
Considerable doubts are warranted. Is it really useful to transform one methodological concept to another, to “translate” one specific language in to another? Wouldn’t it be easier and more effective to plan agilely with Use Cases, without taking a detour?
Ivar Jacobson and his co-authors Spencer and Bittner gave the answer in 2011: Yes, it is, and yes, there is a way to do so. The answer: Use Case 2.0, a technique based on the idea of “slicing”, i.e. the cutting of Use Cases into manageable units.
A Use Case is a sequence of actions a system performs which create benefits for the users of the system. Each Use Case contains a Basic Flow. A basic flow is a sequence of steps leading to directly to a successful completion. In most cases there are so-called Alternative Flows, i.e. deviations from the direct way.
The way from the beginning of a Use Case to its end is called a Use Case Story, be it a direct way or by way of a few detours. But: It has to be useful and create a benefit for the user.
How does this view on the structure of Use Cases facilitate agile project planning? By merging one or more Use Case Stories to a planning unit, a Use Case Slice. The Use Case Slice is then used as a Backlog Item in agile development.
In addition to Use Case Stories in the form of Use Case start-end-flows, Test Cases are an integral part of Use Case Slices. Two Use Case Slices may include identical Use Case Stories but different Test Cases.
There is a reason why Use Cases are popular. For many companies they are the method of choice for stakeholder communication. They help to understand how a system supports users in reaching their goals and to generate the necessary results.
Use Case 2.0 is little known concept. What makes Use Case 2.0 so special is its integration of established Requirements Engineering techniques and an agile approach. This way Use Cases offer many advantages for agile projects.
 HK Business Solutions, Fraunhofer IESE: Ergebnisbericht „Use Cases in der Praxis“, 2013
 Ivar Jacobson, Ian Spence, Kurt Bittner: Use-Case 2.0 ebook, Ivar Jacobson International, 2011