Use Case inspection checklist
This inspection checklist was originally created to support my OO courses,
but turned out to be very effective for live use on projects. There is a companion
checklist that covers OO Design, Enjoy.
- Do the intended users agree that the Use Case correctly describes what they
want to be able to do with the system?
- Does the entire team agree on the vision for the system?
- Does the entire team agree that there was sufficient exploration
of the requirements space?
- Are the Use Cases complete with respect to the Actors Goals and System
Scope?
- How do we know we have all of the stakeholders?
- Are all of the interests of all of the stakeholders captured?
- Have the Use Cases been prioritized for delivery?
- Are all Use Cases classified to Must Have, Should Have
or Nice to Have?
- For this delivery increment, are all of the Use Cases at
the same level of Precision? (Ensure that the various authors are close enough
in style and precision.)
- Is the team actively deferring capturing implementation level detail
for the Use Cases that are not part of this delivery increment?
- Is the set of Actor:Goal pairs complete for this scope?
- Are the bulk of the Use Cases defined using a Task level goal?
(Strategic and Sub-function goals are to be expected, but should be in a minority)
- For each Use Case, are all of the interested parties identified so that
they can be involved in creating and reviewing the Use Cases?
- Is each Use Case goal written using an active verb phrase, something the
system can deliver to the primary actor?
- For every Use Case, is Goal Success defined? Is Goal Failure defined?
- Does Goal Success protect the interests of the stakeholders?
- Does each Use Case have a Main Success Scenario and are the failure conditions
defined?
- Are the recoverable failures recorded as Extensions?
- Are the potential goal failures documented for each subgoal?
- Do the Scenario steps reference back to the Stakeholder Interests?
- Is the behavior following Unrecoverable Failures specified?
- Even in the case of Unrecoverable Failure, are the interests of the stakeholders
protected?(the Minimal Guarantee)
- Is the number of steps in the complex scenarios excessive (12 to 15 is
getting borderline)?
- Are all scenarios at the same conceptual level?
- For the Task level Use Cases that contain internal design or implementation
detail, does the entire team agree that these are valid development constraints?
- Is there any potential parallelism in the steps of a scenario?
- Do Use Cases with significant Use Interaction include a sketch of the User
Interface?
- Can test cases be generated for every Use Case? (Given a defined system
state, is it possible to define some inputs and the resulting expected outputs
and end state?)
- Is the presentation and formatting consistent?
(C) 2000 Software Craftsmanship Inc., all rights reserved.