Use Case vs User Story
Allen Holub explains the difference between a use case and a user story -
Bob Martin describes use cases pretty well in his book Clean Architecture:
"A use case is a description of the way that an automated system is used. It specifies the input to be provided by the user, the output to be returned to the user, and the processing steps involved in producing that output." Put another way, a use case describes how a user uses a computer program. A use case describes how to use an existing program, or, if the program can't do everything necessary, it identifies aspects of the program we'll have to create. Use cases live in the implementation space.
A user story, on the other hand, is a description of the user's work. It is literally the user's story. The story describes a domain-level problem and, when fleshed out, describes how a user solves that problem when working at the domain level. The story describes the user's work, not ours. A story does not describe or specify a computer program at all. It does not describe how a computer program works. Stories live in the domain—in the problem space.
Neither use cases nor stories specify programmer tasks. You cannot represent them as "tickets" (despite what Jira claims). They are part of the architectural process, not the construction process. That's true even when architecture and construction are concurrent. You cannot estimate either because neither has anything to do with the construction.
Both use cases and stories are useful in different ways. Both are elements of the architectural process, but you cannot even think about implementation until that architecture, or a portion of it, is at least roughed out in your head. A skilled programmer can work on both simultaneously.
Comments
Post a Comment