Use Cases 101

No, it’s not used cases…I mean Use Case
What is a Use Case?
- Text based description of how a system performs a behavior in response to an external actor’s request.
- Use cases at first should always be simple enough that BOTH technical experts and business persons can understand it.
- Use cases are robust enough to increase/decrease in complexity.
Who does Use Cases?
- It’s formally the role of requirements analysts who collect information from the client and their end users.
- Then they narrow the scope of each problem into a scenario. Each scenario logically has a use case that addresses a particular problem.
Where do Use Cases come from and where are they used?
- They are used as a formal component of the software development methodology called Unified Process (UP).
When should a Use Case be done?
- Under a UP methodology, they are done during the requirements collection phase or the Elaboration stage. Once a general high-level view of a system behavior (10%) is outlined in a use case, production ready coding may begin.
- Similarly in website design, they can be used to document expectations between the client and the UI designer as to what is expected when a user visits the site and performs an action. Think text based storyboards.
Why… You should do a use case?
- Provides an objective corner stone: It serves a common platform between developers, business persons, and the end-users.
- Guideline For Implementation: Makes for a good checklist that the system is performing to specification.
- Accountability: If the system performs to the official specification but it fails to do an unspecified task, then it is easier to figure out who is responsible.
- Late entrants can catch up: By having use case documentation, people who join the project in the later stages can get up to speed.
Why you shouldn’t do a Use Case?
- Use cases can be too narrow of a description that it ignores the formal definition of the problem domain.
- Use cases are systems centric and do not revolve around the user experience. Therefore, use cases are not helpful in UI design.
- Use cases can be abused in the amount of resources (time and money), which may undermine resource-limited goals like software delivery deadlines.
- Process heavy projects tend to fail because they people get to wrapped up in the process.
More About Use Cases
http://alistair.cockburn.us/index.php/Use_case_fundamentals




