Prototyping

What are prototypes?

Prototypes are simply models that represent the intended appearance and behavior of a product or application.   Prototypes make abstract ideas and concepts concrete by allowing us to see, touch, and feel.  They allow us to experience what interaction with the actual product may be like.  Software prototypes are normally constructed from throwaway code, and therefore can be built very quickly without the cost involved in developing robust “production-quality” applications.  They are built in a way that facilitates rapid iteration and provides a level of flexibility that is important during early stages of a project.

Why build prototypes?

Prototypes facilitate communication and learning within the product team.  Designers learn by making – by seeing concepts come to life, by learning what works and what needs to be improved upon.  They allow you to present ideas to users and potential customers with minimal investment to understand the usability, acceptability, and desirability of new designs.  Last but not least, they facilitate communication and agreement among stakeholders.  Prototypes embody the designer’s understanding of the requirements.  While it may be difficult to get your stakeholders to read through pages of detailed specification documents, we can assure you that placing a prototype in front of them will get a reaction.  This will avert unpleasant surprises that can occur at later stages of the project when the first “alpha” versions become available.

How are prototypes used?

Prototypes are useful for evaluating requirements and designs - as such, the earlier that they can be built, the better.  Here are some ways that your team can use prototypes:

Concept Testing.  Creating visual and interactive models of new product concepts is vital for collecting consumer reaction and feedback.  Prototyping can be combined with user research techniques to gain important insights about the desirability of new product concepts.  This can be done live or remotely via the web.

Requirements Modeling.  As noted above, prototypes can be a catalyst for communication and shared understanding among team members.  We have all seen instances of documentation being either unread or misinterpreted within teams of people.  A prototype becomes a concrete manifestation of the product specification.  It allows stakeholders to experience the specification and ensure they buy-in.  It gives developers and testers a reference standard as they develop and test the production level code.

Usability Testing.  It is a well-accepted axiom that early user testing is one of the key drivers for delivering usable products and applications.  A prototype can provide a vehicle for usability testing long before the finished product is available for live testing.  Results can be fed into early stages of the design process as a way of validating key decisions.

Market Demonstration.   Prototypes can be useful as a way to demonstrate your product idea to potential investors, customers, or executives.  The low barrier to entry allows your ideas to me made real for only a small investment.  It also allows you to preview upcoming products to help generate the “buzz.”

Prototyping Tools and Techniques

Prototyping methods can range from developing paper mock-ups to creating fully interactive software models.  Paper prototypes and click-thru wireframes are great for testing user reaction to high-level concepts.  They can effectively model information architecture, screen layout, and navigation.  Software prototypes can model detailed behaviors and approximate the final product.  We specialize in creating software prototypes on the Adobe Flash platform that are portable and easily deployed on the desktop or the web.  Our experience in this area will allow us to identify the right approach for your project, keeping it aligned with your research and evaluation goals.

Prototyping Costs

The cost of building prototypes will vary with the project objectives and the approach chosen.  That said, advances in rapid application development tools have made prototype development a much more affordable option for developers.  A working interactive prototype can usually be completed in a matter of a few days to 2-3 weeks, depending on technology and scope.  For most applications, it will not be necessary to model all user facing functionality in the prototype.  Typically, we will work with you to identify critical or risky use cases that need to be modeled.  Other functions can be disabled or stubbed out since they will most likely be irrelevant to the subsequent research or evaluation activity.

If you develop software, you probably know that rework can claim a substantial portion of your development budget, and that requirements and design errors can account for a large portion for these rework costs.  That’s because design issues, when found late in the process, can be time-consuming to rectify.  All too often we’ve heard the phrase “we’ll fix it in the next release.”  Prototyping helps you get out ahead of that curve and identify requirements and design issues early.  So the cost of this  activity must be measured against the savings you will experience by eliminating later rework and in improving customer satisfaction by getting it right the first time.