Why the intense focus on use cases? That's a fair question. The benefits of use cases include the following.
Compared to traditional requirement methods , use cases are relatively easy to write and easier to read.
Use cases force developers to think through the design of a system from the perspective of a user .
Use cases engage the users in the requirements process, helping them understand the system that is being proposed and giving them a way to communicate and document their needs.
Use cases give context for the requirements of the system. One can understand why a requirement is what it is as well as how the system meets its objectives.
Use cases provide an ordering mechanism for requirements; one can tell what has to happen before the next thing happens, and so on.
In most circumstances, developers write the use cases. That means not only that there actually are understood requirements but also that the developers know they are responsible for determining them.
Use cases are a critical tool in the analysis process, helping us understand what the system needs to do and how it might go about doing it.
Use cases are a critical tool in the design and implementation process, reducing the risk of transitioning from an expression of requirements to a differing implementation (Chapter 25).
Use cases carry over directly into the testing process, helping to assure that the system actually does what it was intended to do (Chapter 26).
Use cases serve as inputs to the user documentation, conveniently organized in a step-by-step format.
Use cases simply tell a better requirements story. Use them.
Yes, it's a pretty long list of benefits, yet not an exhaustive one. Simply put, use cases tell a better requirements story ” a story that can be better understood by the prospective users who use the system, the developers who write and implement the use cases, the testers who use them as a basis for testing, and the documentation team members who develop the user guides and online help. No, you don't have to develop use cases; traditional forms of requirements specifications still work. But isn't your job hard enough already?