Quick and dirty prototyping
Submitted by Dave Churchville on Tue, 2006-05-09 13:50.
Quietly, under the cover of darkness and the Business of Software forums, I've been spreading the corrupting CodeSnipers influence to pull more people into the inner circle. I'm honored to have our latest victim aboard. The author of Agile Project Planning... Dave Churchville. - Editor.
"Just tell me what you want and I'll build it!"
What programmer hasn't uttered those fateful words? The problem is that even though users often know what problem they have, they are rarely the best people to tell you how to solve it.
Enter the prototype. Developers either hate them or love them, depending on their experience. If you've ever built a sophisticated prototype that faithfully re-created the entire application, only to have it forced into production, you probably hate prototypes. Or worse, maybe no one even bothered to look at it!
Let me put this argument to rest once and for all. A prototype is a tool used to enable better communication about what a piece of software should do. As such, it's in the programmer's best interests to avoid confusing the customer into believing that it is the "real thing."
One simple way to get the communication you want without the "oops it went into production" problem is to use "quick and dirty" prototypes in the form of paper sketches or whiteboard drawings.
You can quickly experiment with several different user interface ideas and workflows on a pad of paper in the time it would take to build one half-baked implementation in code or even in a drawing tool.
If you have a customer in your location, often a session spent whiteboarding or doing a walkthrough of ideas on paper can help you get to the real problem being solved. Remote customers are a bit more challenging, but these can be resolved by using slightly more sophisticated prototypes that can be sent by email or used directly over the Web.
The keys to successful prototyping are to keep it simple, avoid using implementation technology to build the prototype, and above all, make it look like a prototype! Use the simplest tools that work for your situation, and remember the goal is communication.
So the next time you ask your customer to tell you what they want, try showing them something they can respond to. You'll be surprised at how much more information they can provide.