Dr. Ivar Jacobson is widely regarded as the father of the use case, Unified Modeling Language and Rational Unified Process. Jacobson’s thinking was vital to modern business modeling and aspect-oriented software development. His recent piece, “Ivar Jacobson’s Use Case 2.0,” advises developers on how to deal with methods and tools in a super-light and agile way.
Use Case 2.0 re-focuses on the basics and offers software teams, a slimmed down, leaner way of working, allowing for increased benefits of iterative, incremental development on an enterprise level. It is a scalable, agile practice that leverages use cases to capture a set of requirements and drive incremental development of a system in order to fulfill those requirements more efficiently.
Jacobson’s sees six basic principles as being at the core of any successful application of use cases:
- Keep it simple by telling stories – When using storytelling as a technique to communicate requirements, it is essential to make sure that the stories are captured in a way that makes them actionable and testable.
- Understand the big picture — Without an understanding of the system as a whole, you will find it impossible to make correct decisions about what to include in the system, what to leave out, what it will cost, and what benefit it will provide.
- Focus on value — It is much better to focus on how the system will be used than on long lists of the functions or features it will offer.
- Build the system in slices — Identify the most important goals that the system has and focus on those. Use cases should be divided to create suitably sized work items. Where the system itself is evolved, use cases should be sliced more thinly.
- Deliver the system in increments –– The most basic facilities may be enough to get this up and running. By slicing up, the use cases we can achieve the more granular control required to maximize the value of each release.
- Adapt to meet the team’s needs – Recognize that different teams and situations require different styles and different levels of detail. Adapt your approach based on the individual team’s needs.
Jacobson and his team focuses on the content of the practice itself: things to work with , working appliances and products, and things to do.
Use Case 2.0 is compatible with many other software development practices such as Continuous Integration, Intentional Architecture, and Test-Driven Development.
- Download Jacobson’s paper http://www.ivarjacobson.com/Use_Case2.0_ebook/
- Visit Jacobson’s blog for more information: http://blog.ivarjacobson.com/ivarblog/