,

Use Case Essentials

An agile, scalable approach to requirements management, development and system testing

Use this practice to capture requirements in an accessible form that can be used to drive the development of the software.

This practice allows teams to:

  • work with customers to capture the truly essential requirements
  • work together more effectively to quickly develop a useable solution 
  • identify and deliver the value expected from the system
  • establish the correct level of requirements detail to support their needs and the needs of their customers
  • prioritize and sub-set requirements to identify a minimal solution and drive iterative development
  • use a systematic approach to ensure the correct design, implementation and verification of requirements



Things to Produce

This practice involves the production of a number of requirements, design and test artifacts:

  • A use-case based specification of the requirements, scenarios and test cases.
  • The realization of the use cases and scenarios to drive the development of the software.
  • Test specifications and test results to test the resulting system and record the results of the testing.


Key Competencies

This practice requires the team to be skilled in software requirements capture, design, coding, integration and testing.

This requires the following competencies to be in place:

The most important of these are the skills of the customer representative and the analyst as without these the wrong thing may well be developed and tested.



Things to do

The practice starts by finding actors and use cases, and selecting and prioritizing the use cases to be developed.

It continues by specifying the use cases and their tests, and then implementing software to meet the tests. It concludes by executing the tests and tracking progress in terms of verified, working software.