A simple paper prototype can be drawn on poster board, notebook scrap, even the back of a napkin. But a rough-sketch software prototype is not necessarily simple and, if done incorrectly, is not necessarily cheap. A striking UI prototype may be helpful and economical or it may be a gorgeous, error-ridden disappointment that is largely irrelevant to the final product.
"The paper prototype is as important as the finished high-fidelity one, but only if they're used at the right time," said Nevin Berger, one of the three authors of Effective Prototyping for Software Makers, the first comprehensive guide to the prototyping process.
Prototyping in context
Berger, Jonathan Arnowitz and Michael Arent have examined the various kinds of prototypes, from paper to digital, and how and when to fit them into the software development process. As Arent puts it, "prototyping is not an isolated activity -- it takes place within a context." This point is emphasized throughout Effective Prototyping.
Good planning and timing mean the difference between a prototype that helps software makers understand software requirements and project goals, and one that wastes time and money. An effective prototype will also serve as a "bit of a safety net in a design," said Arnowitz. "It allows you to catch things that are typically caught once software is coded -- which is already too late."
Tools for prototyping
The idea for the book sprang from a simple discovery. While working at PeopleSoft (now part of Oracle) together, the authors realized that the ubiquitous Microsoft Excel made an excellent prototyping tool. "We saw this tool and how great it was for rapid prototyping," recalled Arent. The men began exploring ways to enhance Excel and decided they needed to share their knowledge with others.
They expanded their focus to other popular programs. There are chapters on creating prototypes with Word, PowerPoint, Visio and Acrobat, and pencil and paper.
However, the book does not reference RUP, agile development or any other specific development methodology. The authors chose a deliberately agnostic stance. "I've not seen anyplace where you can't do prototyping as long as room is made for it," said Arnowitz. The tools for effective prototyping are already at hand, and prototyping can be incorporated into any development method.
Democratizing the software prototype
If the process seems straightforward, that's exactly what the authors had in mind. "Anyone can be an effective prototyper," the book states plainly. The process is broken down into four phases - plan, specification, design and results - that are divided into chapters which are further broken down into steps, guidelines and so forth. There is a glossary, and color photographs and figures are placed throughout the chapters.
"One of the things that we tried to do was democratize prototyping," explained Arnowitz. The book is written on several levels, he continued, allowing readers to sort through and hand pick what they need. Arnowitz and Arent characterized the book as a teaching tool, one aimed not only at designers and developers, but anyone involved in making software -- literally, the software makers of the book's title.
"Project software managers would have no way of discussing the process of the prototype," said Arnowitz. But with increased understanding of prototyping, "they can ask challenging questions and make quality judgments." Communication is easier.
With that idea in mind, the authors established an interactive Web site, www.effectiveprototyping.com/book, that lets authorized readers interact and expand upon the ideas put forth in the book -- even writing chapters of their own.
Effective software development
Arent, Arnowitz and Berger are hopeful that effective, accessible prototyping enhances the entire software development life cycle in an expanding industry.
"Software development is improved when more people can visualize what they're saying in this modern era of multicultural development teams spread across multiple continents with multiple interpretations," said Arnowitz.
The book is in some sense a "back door way of moving software development away from a waterfall method to the iterative process that it should be," said Arent. Effective prototyping "empowers everybody to think visually and to express themselves visually."
"A picture is worth a thousand words but it's not worth anything when the words are in all different languages," added Bergen.
The authors hope all those involved in creating software, which they liken to filmmaking, will have a fair say. The three men seem to have mastered this among themselves, as they exchange ideas and finish each others sentences.
Jonathan Arnowitz is a principal user experience designer at SAP Labs and is the co-editor-in-chief of Interactions Magazine. Michael Arent is the manager of user experience design at SAP Labs. Nevin Berger is design director at Ziff Davis Media.