Software Prototyping

Prototyping is a good way to find out if what you have is what the users are looking for. It’s useful to get user feedback on the project and useful for evaluation Prototyping can be done throughout the project and at any time. There are many different types of prototyping, which range from pieces of paper(low fidelity) to implemented software (high fidelity).

Prototyping helps to clarify any uncertainty of the functional and user requirements, “look and feel” of the interface and how appropriate the design is. Research shows that when a project has used prototyping it normally leads to 40% less code, 45% less development effort. The project is easy to use, although the project tends to be less robust.

“The vast majority of usability problems come from a single cause: the development team was lacking a key piece of information. If team members had known it earlier, they would have designed to accommodate it and the usability problem would never have occurred.”

Jared Spool, Tara Scanlon, and Carolyn Snyder. Product Usability: Survival Techniques. Proceedings of ACM CHI 98 Conference on Human Factors in Computing Systems.

Prototyping should be cheap and quick to produce with the intention to discard or modify. Types of prototyping are:

  • Paper prototypes - Where key components of the project interface are drawn to provide the user with a simple visual overview

  • Story Boarding - A series of sketches showing how a user would progress though a task

  • Wizard of Oz prototyping - The user believes that they are interacting with the system but a developer is responding to the user output instead of the system. This is normally done in the easy stage to help understand what the users expectations are.

Prototyping compromise is where you can limit the amount of features or functionality the prototype will provide to the user. There are two common types of compromise.

  • Horizontal - Provides a wide range of functions, but with little detail

  • Vertical - Provides a lot of detail for only a few functions

When creating a prototype to get feedback on peoples first impressions it is good to have high fidelity, so that it looks like the final system. As well as horizontal compromise, so that it has many simple functions.

End Enjoy. Tsukasa