Software Prototyping Methods and Best Practices
Classified in Language
Written on in
English with a size of 3.18 KB
What is a Software Prototype?
A prototype is an initial version of a system that is available early in the development cycle. They can be built with different technology from that used in developing the final version of the system.
Primary Uses of Prototyping
A prototype can be used for several purposes:
- To test the usability of the product design and interaction with the user;
- To assist in requirements elicitation (raising user needs);
- To validate requirements with users.
Key Features of Prototypes
Prototypes usually have features such as:
- Reduced functionality;
- Relaxed non-functional requirements, including performance, safety, and reliability.
Evolutionary Prototyping
Evolutionary prototyping aims to deliver an executable version of the system as quickly as possible to the client. The prototype evolves into the final version when development ends.
Throw-away Prototyping
Throw-away prototyping aims to assist in requirements elicitation and/or assist in the design of the interaction with the user. It implements the requirements that the team does not understand or those that are more difficult or important to users.
Classification of Throw-away Prototyping
Throw-away prototyping can be sorted into:
- Low-fidelity prototypes;
- High-fidelity prototypes.
High-Fidelity Prototypes
High-fidelity prototypes have as their main feature a strong likeness to the finished product. They tend to be constructed using materials that will be used to produce the final version of the software.
Advantages of High-Fidelity Prototyping
- High levels of functionality and interactivity;
- Accurate visual representation of the final product.
Disadvantages of High-Fidelity Prototyping
- Significant cost and construction time;
- Changes can be expensive;
- Bugs can damage the assessment (crashes).
Low-Fidelity Prototypes
Low-fidelity prototypes are characterized by having little resemblance to the finished product. The main goal is to capture the essence of the actual device interaction with the user in order to elicit and validate product requirements during usability testing. These can be constructed using paper, pen, and scissors or other simple materials.
Advantages of Low-Fidelity Prototyping
- Possibility of evaluating multiple project interfaces (encouraging creativity);
- Useful for communicating ideas related to interaction design;
- Quick, easy, and inexpensive construction and modification;
- Facilitates communication in development by inviting the user to provide criticisms and suggestions.
Disadvantages of Low-Fidelity Prototyping
- Limited to the evaluation of errors and issues such as performance;
- Requires the presence of a facilitator;
- Limited possibilities for navigation.