requirements.
Explore user interface approaches.
Implement core user requirements.
for construction.
CHAPTER 15
Risk reduction through prototyping
301
FIGURE 15-1
Several possible ways to incorporate prototyping into the software development process.
Paper and electronic prototypes
You don’t always need an executable prototype to resolve requirements uncertainties. A paper
prototype (sometimes
called a low-fidelity prototype) is a cheap, fast, and low-tech way to explore
how a portion of an implemented system might look (Rettig 1994). Paper prototypes help you test
whether users and developers hold a shared understanding of the requirements. They let you take
a tentative and low-risk step into a possible solution space prior to developing production code. A
similar deliverable is called a storyboard (Leffingwell and Widrig 2000). Use low-fidelity prototypes to
explore functionality and flow, and use high-fidelity prototypes to determine precise look and feel.
Paper prototypes involve tools no more sophisticated than paper, index cards, sticky notes, and
whiteboards. The designer sketches ideas of possible screens without worrying about exactly where
the controls appear and what they look like. Users willingly provide feedback on designs drawn on a
piece of paper, although they’re sometimes less eager to critique a lovely computer-based prototype