PDA

View Full Version : Use Cases -- A Minimalist's view.


Uncle Bob (Robert C. Martin)
07-02-2003, 06:46 AM
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 cases. 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 post is an excerpt from my latest book:"UML for Java
Programmers", Robert C. Martin, Prentice Hall, 2003. See
http://www.objectmentor.com/UMLFJP for details.
Robert C. Martin | "Uncle Bob"
Object Mentor Inc.| unclebob @ objectmentor . com
PO Box 5757 | Tel: (800) 338-6716
565 Lakeview Pkwy | Fax: (847) 573-1658 | www.objectmentor.com
Suite 135 | | www.XProgramming.com
Vernon Hills, IL, | Training and Mentoring | www.junit.org
60061 | OO, XP, Java, C++, Python |


MyLounge.com Site Map
Forum: Cars, Cell Phone, Database, Games, Home Improvement, IT, Music, School, Sports, Web Design, Web Server, Weight Loss

The MyLounge.com forum is intended for informational use only and should not be relied upon and is not a substitute for any advice. The information contained on MyLounge.com are opinions and suggestions of members and is not a representation of the opinions of MyLounge.com. MyLounge.com does not warrant or vouch for the accuracy, completeness or usefulness of any postings or the qualifications of any person responding. Please consult a expert or seek the services of an attorney in your area for more accuracy on your specific situation. Please note that our forums also serve as mirrors to Usenet newsgroups. Many posts you see on our forums are made by newsgroup users who may not be members of MyLounge.com Term of Service