Thursday, May 27, 2004

Lost with Use cases ?!@#$%

Use cases are a wonderful idea that has been vastly overcomplicated. Over and over again I have seen teams sitting and spinning in their attempts to write use cass. Typically they thrash on issues of form rather than substance. They argue and debate over preconditions, postconditions, actors, secondary actors, and a bevy of other things that just don't matter. The real trick to use cases is to keep them simple. Don't worry about use case forms, just write them on blank paper, or on a blank page in a simple word processor, or on blank index cards. Don't worry about filling in all the details. Details aren't important until much later. Don't worry about capturing all the use cases; that's an impossible task. The one thing to remember about use cases is: tomorrow they are going to change. No matter how diligently you capture them, no matter how fastidiously you record the details, no matter how thoroughly you think them through, no matter how much effort you apply to exploring and analyzing the requirements, tomorrow they are going to change. If something is going to change tomorrow, you don't really need to capture its details today. Indeed, you want to postpone the capture of the details until the very last possible moment. Think of use cases as just in time requirements.

This blog is an excerpt from Robert.C.Martin's latest book:UML for Java Programmers, Robert C. Martin, Prentice Hall, 2003.

No comments: