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

Leave a Reply