Benefits of Use Cases
From Requirements Management School
There are many benefits to using use cases. Use cases can be used successfully in a wide variety of software development projects. Use cases generally work best when used for environments where there are many system interfaces. They are also of use where there are multiple classes of user. This is because they help to disassemble complexity.
In complex software projects, use cases are integral to maximizing the probability of a successful project -- on time, within budget and achieving high levels of customer satisfaction. The main benefits of using use cases are outlines below:
- Avoidance of creep by re-enforcing the scope of the project.
- Provision of context removes ambiguity.
- The process ensures that firsthand knowledge is gathered from all user classes. This provides a fuller picture which gives analysts and developers a holistic view of the entire project.
- User expectations can be better managed which eliminates a lot of customer dissatisfaction when the system is deployed.
- A full understanding of the functionality and business processes involved deters over specification of requirements.
- Use cases help users to specify what happens in the usual course of events; in alternative scenarios; and when the scenario is not successfully completed. This means that specification of the functionality is more complete.
Stages of Software Projects Where Use Cases Help
Use cases are key to the analysis phase of requirements engineering as they provide a holistic view of the project. This enables the analyst to identify and prioritize the requirements based on sound data that has been captured from each user class. The data can be easily weighted to take into account business requirements; usage frequency; favored classes of users; and legal and regulatory requirements.
At the validation stage use cases facilitate an improved process. They are written in business language which means that they are more easily digested and understood by all classes of stakeholder. This helps to foster buy in from the stakeholders.
Use cases come into their own again further down the line. They are detailed scripts of the processes and as such can be used to create the test cases which will form the basis for acceptance testing.
When it comes to putting a user manual together, use cases can provide a good framework. The use cases can often be easily translated into a user manual.

