AndPlus acquired by expert technology adviser and managed service provider, Ensono. Read the full announcement

4 Types of Prototyping

Jul 15, 2020 2:30:00 PM

shutterstock_655062295 medWe take software prototyping seriously. Prototyping—in particular, rapid prototyping—is the best way to make sure we, as AndPlus developers, understand what our customers expect the software to do and how it will perform in supporting their business processes.

Prototyping in software development is the process of building a simulated user interface for purposes of ideation, evaluation, and user feedback. Modern software prototypes are interactive. They mimic as closely as possible the actual behavior of the software.

illustration of hand emerging from computer screen. Text reads Short on Development resources? We can help!

A prototype enables our developers and designers to show our understanding of the customer’s requirements. If our interpretation of the requirements is off by just a little, the customer can see the discrepancy and let us know right away. Doing this early in the development process saves time, money, and aggravation. It’s much easier to make changes early in the development cycle.

The four common types of prototyping used in the software industry today are:

  1. Rapid (Throwaway) prototyping
  2. Evolutionary prototyping
  3. Incremental prototyping
  4. Extreme prototyping

1. Rapid (Throwaway) Prototyping

Rapid prototyping is the most commonly used AndPlus. Its name refers to the ease and speed with which a prototype can be modified to try different ideas with the user audience and incorporate their feedback.

Rapid prototyping is also known as “throwaway prototyping” because the prototype is expected to be relevant only in the short term, such as one sprint in the Agile development framework. It may go through several cycles of feedback, modification, and evaluation during that time. When all the stakeholders are satisfied, it becomes a reference for the designers and developers to use. After the sprint is completed, the prototype is discarded and a new one is built for the next sprint.

Throwaway prototyping can be applied to less-than-rapid prototypes as well. Paper prototypes, in which the designs are simulated on pieces of paper or cardboard, are by definition “throwaway.” Computer files, whether static images or interactive prototypes, will end up on someone’s hard drive for eternities even though they are almost never needed after the development cycle.

2. Evolutionary Prototyping

An evolutionary prototype differs from the traditional notion of a software prototype; an evolutionary prototype is a functional piece of software, not just a simulation. Evolutionary prototyping starts with a product that meets only the system requirements that are understood. It won’t do everything the customer requires, but it makes a good starting point. New features and functions can be added as those requirements become clear to the stakeholders. That’s the “evolutionary” nature of this prototype.

In a way, the first iteration of an evolutionary prototype is similar to the minimum viable product (MVP), or software that has the absolute minimum functionality to make it useful. The distinction lies in how the requirements for that first version are selected.

3. Incremental Prototyping

Incremental prototyping is useful for enterprise software that has many modules and components which may be loosely related to one another. In incremental prototyping, separate small prototypes are built in parallel. The individual prototypes are evaluated and refined separately, and then merged into a comprehensive whole, which can then be evaluated for consistency in look, feel, behavior, and terminology.

The risk with incremental programming is the look and feel can vary so much among the prototypes, the modules feel like completely different pieces of software. The design team must come up with some guiding principles in advance and keep the designers on a short leash to ensure consistency.

4. Extreme Prototyping

Extreme prototyping is more common for web application development. Web applications are composed of:

  • Presentation layer
    • Displayed in the user’s browser
  • Services layer
    • Communications services
    • Business logic
    • Authentication and authorization
    • Other back-end services

Extreme prototyping is conducted in three phases:

  1. Build HTML wireframes to simulate the presentation layer. These web pages have limited interactivity. They are complete enough to show users the various user journeys through the application.
  2. Transform the wireframes to fully functional HTML pages, tying them to a simulated services layer.
  3. Code and implement the services layer.

With this approach, the user interface is designed and developed before any of the underlying technology is implemented, which is what gives it the “extreme” tag. The services developers then make the whole thing work.

Prototyping the AndPlus Way

Each type of prototyping has advantages and disadvantages, and each is useful in different circumstances. AndPlus projects usually involve rapid prototyping because it fits in so well with our Agile framework, which we have developed and refined over time to provide maximum value to our clients. Rapid prototyping dovetails with the limited scope and time-bound nature of Agile development, and it keeps the customer involved in the decision-making process in small, manageable chunks of time.

If you have an idea for a new app or modifications to an existing app, we would like to show you how rapid prototyping can bring your concepts to creation. Contact us today to get the conversation started.


Topics: Prototyping

Matt Hull

Written by Matt Hull

Matt leads AndPlus' creative and user experience practice and his focus on human-centered design has been honed over the course of his 20+ year career in web development. With experience across a wide range of industries and technologies, Matt’s ability to keep the user at the forefront, while serving their needs through technology, is a vital component to every client solution. Matt and his team bring passion, creativity, and innovation to every client project and, ultimately, to every user experience.

Get in touch