This post originated from an RSS feed registered with Agile Buzz
by Dave Churchville.
Original Post: Agile Prototyping - Part 1
Feed Title: Agile Project Planning
Feed URL: http://feeds2.feedburner.com/AgileProjectPlanning
Feed Description: Thoughts on agile project planning, Extreme programming, and other software development topics
One extremely useful tactic when designing appliction user interfaces is to use paper prototyping. This technique involves drawing mockups of possible designs, and testing them with a facilitator playing the computer, and the user interacting with the paper. Carol Snyder wrote a excellent book on this subject that's worth a read.
So the way this works is that the user interacts with the paper mockups by "clicking" on an area of the paper, and the "computer" facilitator does the appropriate thing that the design supports. This might mean placing a sticky note on top, overlaying another piece of paper, beeping, etc. For multimedia designs, this might stretch the singing and dancing abilities of the facilitator, but the general approach has been shown to be effective.
The key to this technique is that the designers have complete control over the form and function of the prototype, and can get useful feedback without any code being written. If the look of the prototype is a key aspect, then high-fidleity visuals can be created, but typically simple sketches can be equally effective for interaction testing.
On agile software projects, this kind of lightweight prototyping can happen up front, often saving quite a bit of development effort. Some people mistakenly believe that agile development means "no up front design", when in fact, it favors rapid feedback.
Rapid feedback means getting something in front of the user as quickly (and responsibly) as possible. This means that prototypes that can be quickly put together have great value in terms of soliciting earlier user feedback.
The great thing about doing this with paper is that anyone on the team can create and test designs, not just the developers.