21 Jan 2008

User Stories and Use Cases: Better Together than Apart

Use cases have been a popular approach to structuring requirements in modern software development approaches for quite some time. Many teams shifting to Agile approaches abandon Use Cases in favour of User Stories.

A Use Case describes the interaction between a primary system actor and the system itself as a sequence of simple steps. A Use Case is used primarily to illustrate the goals of the system. Compared with User Stories, Use Cases are not a particularly good way to organise systems development activity - especially for week to week development episodes.

A User Story describes one way in which the customer would like the system to be different than it currently is. A User Story is used primarily as a means to prioritise and structure activity. Compared with Use Cases, User Stories are not a particularly good way to illustrate what a system actually does - especially across the systems entire lifecycle.

Use Cases and User Stories serve different purposes. They are not incompatible. Project's that use both Use Cases and User Stories are less likely to try to over-reach with either.