What is Rapid Prototyping

February, 26 2020|INblog, business, technology|BYandrew greenstein

Rapid Prototyping is an approach to software development that emphasizes quick, iterative development cycles and minimal feature sets. The goal in rapid prototyping is not to develop a product. The goal is to, as quickly as possible, build something that utilizes a technology or platform to the point that you can understand the strengths and weaknesses of that technology or platform. 

What is Agile Methodology and how does Rapid Prototyping fit? 

Agile is a framework for development that enables you to build complex products while continuously considering new information and user feedback. Because work is planned and completed in short cycles (called “sprints”), teams are empowered to better prioritize and then focus on top short term priorities, while still planning against longterm business requirements. 

A typical Agile workflow is broken into two-week sprints, at the end of which a new version of the product is released. Sprints are made up of user stories that sit in the backlog until they are prioritized and assigned to an upcoming sprint. The backlog is like a bin of future possibilities - constantly being refined, groomed, prioritized, and added to. The sprint is your to-do list for the next two weeks. The goal of a sprint will be to finish all of the stories in that sprint, and thus to push a new release with new functionality. 

Rapid Prototyping is a tool that can be used in conjunction with Agile. The goal of rapid prototyping is to understand a technology or platform. Let’s say you are building an app that can scan receipts and extract data from those receipts. You know you want to use a third party Optical Character Recognition (OCR) technology to scan the receipts. The alternative - developing the computer vision algorithms on your own - could take years after all. But which OCR platform is the best for your specific use case? You could spend hours studying the websites of Clarifai, Google Firebase ML kit, or Amazon AWS Machine Learning, only to realize you still don’t know how these technologies actually work, in practice, and within your existing systems. 

What’s worse - if you select the wrong platform, you may not realize it until you are months into the work. The longer you develop on a software platform, the more embedded that platform becomes to your product and the harder it is to switch.

To further complicate things, technologies change so rapidly that what might be the strongest platform for your use case this year can change by next year. We regularly compete in hackathons and often find that the AI platform we loved last year has now been surpassed by a newer, shinier platform. 

Related: Everything You Need to Know About The Agile Software Development Life Cycle

This is where Rapid Prototyping is most valuable. Rather than picking one platform to heavily invest in, perhaps for years to come, why not integrate a proof of concept on each platform to see exactly how they perform in different scenarios. You may spend a sprint or two upfront doing that work, but you may save months switching platforms down the road. 

Can I use rapid prototyping for product development? 

We’re glad you asked...yes! Rapid Prototyping is the best way to develop digital products for your business. Let me give you a concrete example from our time working with the Innovation team at West Elm. 

West Elm, like many retailers, was looking for ways to leverage the newest technology to increase digital sales. The problem, of course, was how to choose from the many options on the whiteboard:

  • Build a Facebook chatbot to reduce customer service requests.
  • Build a virtual reality showroom so customers could explore their latest offerings from the comfort of their homes.
  • Build an Augmented Reality app that allowed customers to pull out their phone cameras and ‘place’ a couch right in their living room. 
  • Build a style matcher that takes a Pinterest board and, using AI, matches the style of that board to their inventory of furniture. 
  • Build web-based ad units that show a throw pillow that, with a tap, you could ‘toss’ onto your couch. 
  • Build a hybrid mobile website/application that could be loaded from the browser, but also downloaded, offering the advantages of both web and mobile. 
  • Build a 3D texture tool that let customers examine, in virtual detail, the fabrics used in their furniture.

The product developer of the past would look at that list and prioritize, one at a time, based on likeliness to succeed. The West Elm team instead opted to apply Rapid Prototyping and build ALL of them, often in parallel. 

Working in sprints, we broke up each feature into it’s most basic user flow. We then selected the top 2 or 3 platforms for each feature and developed proofs of concept (“POC”) for each one. West Elm then tested those POCs out on small focus groups, learning all sorts of insights. For example, the Facebook chatbot caused more customer frustration than it alleviated, so they halted development of the prototype while the team pursued other avenues. The style matcher didn’t do much to boost sales, but it landed them in the pages of Fast Company magazine, which was a big win for a team looking to gain recognition for their digital acumen. But the Progressive Web Apps, which combined elements of a website with a mobile application, had an immediate and drastic improvement both on time spent on site per user and revenue per user. To this day it is the experience you most likely will get if you go to westelm.com on your mobile phone (I say most likely because, like any good product team, they are constantly testing and tweaking different versions of their web experiences to optimize conversion funnels).

Success is hard to achieve in digital products, but when it happens, it can be transformative to a business. The best way to achieve success is to know you will fail more often than not, so to give yourself enough chances that the odds tilt in your favor. That approach is embodied by Rapid Prototyping.

Questions? Hit us up at info@sfappworks.com or text us at 918-373-9364.