We’ve discussed extensively the concept, advantages, and tools of rapid prototyping. It’s central to our development process here at AndPlus.
Rapid prototyping is the practice of creating an interactive, semi-functional user interface simulation for purposes of demonstrating ideas and obtaining feedback from the endusers and other stakeholders.
In this article, we turn more towards the nuts and bolts of rapid prototyping. We’ll break down the advantages and disadvantages of rapid prototyping in more detail and discuss ways to get the most value.
Advantages and Disadvantages of Rapid Prototyping
Rapid prototyping for software has well-known advantages:
- Integration with Agile development – Building and demonstrating a rapid prototype works well with the Agile development methodology, which emphasizes short development cycles, or sprints. Prototyping approaches that take longer are not useful for Agile.
- More valuable feedback – High-fidelity, interactive prototypes that users can get their hands on and play with are closer to the “real thing” than static prototypes. Because users have a clear idea of what the interface will look like and how it will behave, they can provide better-informed feedback. Requests for changes can be implemented in the prototype during the demonstration. This is a clear advantage over waiting a few days or a week to get static wireframes turned around for a new demo session.
- Time and money savings – The ability to compose, present, and evaluate multiple iterations of a high-fidelity prototype in short order means the team can reach a common understanding of the requirements and expectations much faster than with traditional interface prototyping approaches. Doing this early in the development cycle saves money because design changes are much cheaper before anything has actually been built.
Despite these strong advantages, rapid prototyping has a few disadvantages as well:
- “Throwaway” prototypes can be perceived as a waste – By nature, rapid prototypes are ephemeral; their relevance lasts only for the duration of the sprint or development cycle. They are then put away, never to be referenced again. It takes some effort and skill—sometimes by high-priced user-experience (UX) designers—to produce robust prototypes and spending that money on something so short-lived seems wasteful.
- Developers and designers can become too attached to their prototypes – In an Agile environment, fast turnaround is a key to success. Some developers and designers might become so attached to the prototype creations that they spend excessive amounts of time tweaking and “perfecting” them.
- User confusion regarding the “prototype” concept – Modern rapid prototypes are highly interactive and sometimes almost indistinguishable from an actual application. Some users may find the prototype so convincing they want to start using it right away for production work, even if the database, logic, security, and other crucial components haven’t been implemented.
You will notice these disadvantages are not inherent flaws in rapid prototyping itself, but misconceptions harbored by the stakeholders. Overcoming these (and other) disadvantages is accomplished by adopting certain best practices for rapid prototyping.
Rapid Prototyping Best Practices
Most software shops implement a four-step rapid prototyping development process:
- Brainstorming – Starting from the documented requirements and user stories, a brainstorming session is held to sketch the basic interface design.
- Prototyping – The sketched-out design is implemented using one of the many rapid prototyping software tools available.
- Evaluation – The prototype is presented to the stakeholders, who are asked to provide feedback. Simple changes can be made during the evaluation session to clarify the requirements and expectations as well as find the design the users like best.
- Improvement – If the design is not even close to supporting the users’ requirements, a re-design may be needed. In this case, the prototype is updated and presented again for evaluation.
In this process, the following best practices should be observed:
- Start with good requirements – The business analyst, product owner, or other resource responsible for gathering and documenting the system requirements should be as thorough and detailed as possible. This reduces ambiguities and guesswork by the developers and designers when drafting the prototype.
- Don’t spend too much time on any step – The prototype has two main purposes: validate the development team’s thinking with user feedback and provide a guide for developing the actual application. The prototype doesn’t need to be perfect; just good enough to accomplish these goals.
- Provide just enough data and logic to demonstrate the prototype – Having some data and business logic behind the prototype can make it more realistic, thereby eliciting better feedback. But you don’t need the whole production database. Again, the idea is it’s a simulation for evaluation.
- Emphasize function over form – The prototype should demonstrate the user journeys through the software and should be evaluated on that basis. If users start nitpicking the color scheme or button size and placement, remind them there will be plenty of time later to make it “pretty.”
- Make it fun – User involvement in the development project is one of the best ways to realize a successful implementation. Make the prototype evaluation session an event the users and other stakeholders look forward to. (Bringing donuts to the session works well…) You’ll get more engagement and better feedback if the users feel they’re a part of the team and important to the process.
If you’re just starting out with rapid prototyping, it may take a few cycles to become comfortable, as a team, with the process. A “lessons learned” session after each project can refine the process and make it more valuable for all participants.
At AndPlus, we have refined our rapid prototyping process so it is a natural part of every project. Contact us today to learn more about our prototyping and development process. It can make your application project a success.