A scalable, agile practice that uses use cases to capture a set of requirements and drive the incremental development of a system to fulfill them.
Use this practice to capture requirements in an accessible form and drive the development of software.
This practice allows teams to:
- Describe exactly what a software system must do.
- Group parts of the requirements together.
- Change the priority of what the customer wants at any time.
- Produce a simple visual model and meaningful requirements that are understandable to developers and customers alike.
- Take advantage of the benefits of iterative development.