It seems that the links on this page mainly focus on dangers of Use Cases and not their advantages. So I made a list and hope people will comment it. I take most ideas from
Writing Effective Use Cases – When Use Cases Add Value By Alistair Cockburn
http://www.ksc.com/article7.htmUse Cases: the Pros and Cons By Donald G. Firesmith
Actually I need ideas to convince managers. Advantages of Use Cases
For writing functional requirements
[list]Use Cases help you discover functional requirements. Use Cases allow you to capture the user’s need by focusing on a task that the user needs to do.
Use Cases help you define the right functionalities. As you centre on the user’s need, the Use cases help ensure that the correct system is developed by capturing the requirements from the user's point of view.
Use Cases are easy to read. Because you first describe a main success scenario and only after all the extensions, the reader is not immediately lost but can focus on a simple scenario first.
Use Cases are easy to read by the customer. Use Cases are written from the user perspective, like a user manual.
Use Cases gives an immediate feedback to the customer. Use cases are popular largely because they tell coherent stories about how the system will behave in use. The users of the system get to see just what this new system will be. They get to react early, to fine-tune or reject the stories ("You mean we’ll have to do what?").
Use Cases modelling is cheap. There is no need for an expensive computer-aided software engineering (CASE) tool. The UML diagram only needed is a Use Case diagram. The UML sequence diagram for exchange between the user and the system can be drawn at the beginning but the final document will contain simple text with numbered actions: 1. The User does that…2. The System does that 3. The user does that …
Use Cases help you find the boundary of the system. “What is in” are the Use Cases and “what is out” are the Actors (actors in Use Cases methodology are not only human users but also external systems, devices, software components)
If you use a use Case template with Use-Goal, Scope, Level, Stakeholders and interests, Preconditions, Success Guarantee, Minimal Guarantees, Main Success Scenario, extensions conditions, extensions handling, business rules, GUI then:^
Use Cases help you organize the text of your functional document. Customers and developers find they way because you group in each Use Case the Scenarii, extensions handling and business rules.
Use Cases help you find all the exceptions and alternatives. As the main success scenario is a sequence of simple steps, you can go through each step and check what else the user could do or what in the system can goes wrong.
Use Cases help oblige you to write all extensions handling. With the template you are obliged to list all extensions conditions and then to document what to do when they occur. Without it, many error conditions stay undetected until some programmer discovers them while in the middle of typing a code fragment. That is very late to be discovering new functions and business rules. The business experts usually are gone, time is pressing, and so the programmers type whatever they think up at the moment, instead of researching the desired behaviour.
Use Cases help you discover requirements for all stakeholders. If you write a paragraph with the stakeholders and their interest in the Use Case, you don’t oonly write requirements for the primary actor but also for other interested parties.
Use Cases help you check the completeness of your document. If you write a paragraph with the stakeholders and their interests in the Use Case, you can check that their interests are fulfilled by the different scenarii and by the business rules.
For the whole project
Use Cases help you organise your project. You can assign each Use Case a complexity, a priority, a cost, timing, and a status.
Use Cases help you define iterations. As the Use Cases must give a business value to the user (at least the User-Goal ones), you can define each iteration as a group of Use Cases. The customer will know the added value of each iteration.
Use Cases help you define your test cases. Actually each scenario, and extension condition can be mapped to one test scenario. Test scenarii are grouped by Use cases.
Use Cases help you trace your requirements. If you adopt the ICONIX methodology you can put side by side one Use Case scenario and its realization by UML sequence diagram of interactions between the user and all objects of the system.
Use Cases help you in the Change Management. When a change is asked you can select which Use Cases will be impacted and the resulting changes in your code.
Use Cases are popular. Use Cases are the first in all object oriented methodologies and Unified Process. You don’t introduce in your company an exotic methodology or one that will not last for years. You will not have to train consultants that you hire.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus