Writing Effective Use Cases with Alistair Cockburn
This course provides attendees with both theory and practice in writing use cases for the requirements of a system to be designed. People will work through sequenced exercises in small groups, discussing the results with the class at large.
In each section of the course a concept gets introduced, the groups do an exercise and discuss, and the entire room discusses their results. In this way, each person gets to participate in both exercises and discussions.
Several different domains will be used for exercises, for different degrees of difficulty. For each exercise, we shall write, then peer review the writing, and discuss the issues that came up in the writing. There are many aspects of writing use cases in a consistent way that bedevil the writer, and many ways of dealing with those difficulties. Each person will have a chance to develop their own preferences.
Topics Covered:
- What is a use case? What does one look like?
- How do use cases fit into the overall requirements process and requirements document?
- The four steps in writing a use case.
- Finding the boundaries of the system.
- Searching for actors and their goals.
- Establishing the scope and level of the use case.
- Writing a simple scenario of usage.
- Searching for exceptional and failure situations.
- Linking use cases.
- Layering use cases for larger systems.
- Protecting against technology change.
- Making use cases easier to read.
Course goals for attendees:
- Able to describe to others what a use case is, is good for, and ways of writing them.
- Able to collect and organize information about the users’ goals for the system, and to draft the functional requirements for a system.
- Knowing the limitations of use case requirements, as well as alternative writing forms.
Target audience: Beginner and Intermediate level. Anyone tasked with writing, reviewing, or working from use cases, whether from an organizational process perspective, or from the perspective of describing the behavior of a technical system to be designed. Best if a mix of people from business and technical design are included.