ISSUE 16 - q4 2005
The promised land of prototypingRealizing the full potential of prototyping
While some may claim that prototyping isn't one of the wonders of the world, it's definitely a wonder of web and software development. It can help us design better products and overcome many of the hurdles that tend to surface during a development process.The qualities of prototyping reach further than being a tool for visualization. It’s a method that can help us create better designs, improve team collaboration, effectively communicate with our clients and foster a more painless and cost-effective project workflow. Welcome to the promised land of prototyping.
The product is designed
The most important reason for building a prototype is to make sure that a product gets designed rather than left to chance.
Designing is the art of making plans for how to create things, and experienced artists and craftspeople make plans before they create anything final. Painters draw sketches, car designers build vehicle models, and architects create blueprints and cardboard mock-ups.
To reject prototyping as an essential part of a development project can be compared to a builder depending on the workmen to think something up along the way instead of having an architect work out plans for the building.
Helps us externalize and develop ideas
What's great about prototyping and other modeling and sketching techniques is that they help us overcome the limitations of our cognitive abilities to process, develop and maintain complex ideas in our mind and share them with other people. Prototypes provide us with a space where we can test design alternatives, generate new and better ideas, and gradually refine them into final designs.
Legalizes experimentation and revisions
The reason for creating a prototype is that it allows us to try out ideas in an environment that is close to reality but the costs of making changes are affordable. Because prototypes are easily created and modified, we can spend time working through the prototype and eliminate the flaws that would otherwise surface during the development phase.
Can make the intangible tangible
Clients have a very hard time understanding how a product is going to work from technical specifications, and developers often find it difficult to translate them into practice, because they usually describe what a product can do but not how the users are going to access its features. Compared to technical specifications, a prototype is easy to grasp for everyone, since it's a representation of the final product. It shows what the product can do and simulates how it's going to work.
We can satisfy clients' wish to see quick results
If clients have to wait for months without seeing any tangible outcomes of their investment besides invoices and technical specifications, it's no wonder that they get impatient and worried about whether everything is going to turn out as they expect. By entering the prototyping phase at the beginning of the project, we are able show something tangible very quickly. We can start the dialogue about the design at an early stage and build our clients' confidence that we understand what they want.
We can take the client for a test drive
Would you buy a car only by examining the technical specifications? I think not! As customers, it's important to us what the product can do, but also how it works. We want to kick the tires and take it for a test drive before we consider buying it.
In most software development projects it impossible for clients to evaluate the product they are buying since it doesn't exist yet. With a prototype, we can take the client for a test drive and demonstrate how the final product is going to work. The client can see and interact with the prototype and we can give them an experience of the design that they can't get from technical specifications and presentations.
We can reduce scope creep
Clients have a reputation of being unable to tell what they want, to constantly change their minds, and to sneak in new requirements until the very last minute in the development process.
What we fail to recognize is the challenge that clients face. They have to consider every possible detail of a product that doesn't exists yet - a task, which is practically impossible for anyone.
Scope creep is said to be the most common source of cost and schedule overruns. By giving clients something to experience and interact with before we start building the actual product, we can get the detailed feedback that tend to surface when the product is almost complete, and thereby reduce the risk of creeping requirements late in the project.
Makes early usability tests possible
The day we release a new product is not the day we want to find out that the people who are going to use it don't get it. It hurts the client's reputation and it's costly and painful to fix serious problems at such an advanced stage. By carrying out usability tests during the prototyping phase, we can learn what works and what doesn't at a time, where the cost of correcting design flaws is insignificant.
Improves team collaboration
Web development is a multidisciplinary exercise involving highly specialised team members with different mindsets and perspectives. Issues such as graphic design, branding, marketing, usability, programming, client requirements, budget and time frame have to come together.
Prototypes can encourage team collaboration and bring a disparate team together. Since everybody can relate to it, it allows the various actors to provide insight and weigh in on the design before it's finalized. The interaction designer can get answers to important questions and make sure that the design is technically feasible and attainable within the budget. We can get buy-in on the design from the rest of the team, and the prototype can function as a shared plan that keeps the team headed in the same direction.
Can serve as a master plan for implementation
A common source of frustration for developers is lack of detailed information about what a product is going to include and how it's supposed to work. A prototype can serve as the master plan for the implementation of the product and as a means of maintaining a shared understanding of what it's going to be in the end. By demonstrating functionality and flow, it cuts through a lot of confusion, and allows the team members to concentrate on doing their part of the job.
The cost of making changes to a design grows exponentially throughout a project. It's a rule of thumb that it takes ten times longer to fix a problem during development than in the design phase and a hundred times longer once the product is finished.
Changes to a design are inevitable. It's impossible to get it right the first time. By working thoroughly through a prototype and reach agreement with stakeholders and team members on the design at an early stage, we can avoid major overheads down the line.
Prototyping does add a phase to a projects' schedule, but it's an investment that pays off in the long run. Adding the time to create a prototype will make the entire project workflow more efficient.
As you can see, the wonders of prototyping are truly amazing. So aren't there any negative sides of prototyping? Not really! We can still come up with designs that suck, but prototyping provides the conditions for designers to do their best. Clients will still be as demanding as they've always been, but prototypes allow us to deal with disagreements before we start building anything final.
With prototyping, we can create better products, and the entire project
workflow is made more efficient and less frustrating for everybody involved.
It's a true wonder.
Text: Henrik Olsen