Releasing new products or features is risky for a business. Will we be successful? How will the release be received? Are customers going to love it, hate it, or, worse, not even care? Rapid prototyping can answer these questions by quickly getting software into the hands of customers or initial testers.
Sprints, a key part of agile project management, are used in rapid prototyping to create short development loops. Each sprint is usually two or three weeks long and has a loop of plan, build, release, analyze, and repeat. Designers, developers, and product owners are collaborating closely to quickly sculpt high-quality product features. The release part of a sprint can be confined to internal testers or go out to a small segment of customers.
When working in sprint cycles, it can be tempting to add lots of new features based on customer feedback—don’t do that. It’s very important to clearly define the purpose of the product and aim to creating a minimum lovable product (MLP), rather than try to please everyone. An MLP consists of the smallest number of features needed for your customers to love your product. Using rapid prototyping to quickly build and test this feature set is the best way to understand how successful the release will be. It also gives you a clearer picture of the market, by getting direct feedback about what your customers love and what they don’t.
At Yeti, we use a range of tools to help us with our rapid-prototyping processes. A key part of our toolkit is Django, a mature and popular Python web framework. Django allows us to quickly build web applications and APIs. Using a solid web framework saves a lot of development time, and what can be done in days in some web languages can be done in minutes in Django. This puts the focus on how the product functions rather than how it's being built.
For iOS app rapid prototyping, we use Swift, a new language from Apple. Swift makes it easy to quickly create high-quality applications for iOS devices. Rapid prototyping for iOS was possible before Swift, but development cycles are now faster because the language is more modern. This means apps can be tested sooner. Apple acquired TestFlight to help with the testing process. TestFlight helps manage testers and applications, meaning you can push an alpha version out to testers easily for feedback and bugs detection.
Sometimes, R&D is needed to create the technical framework on which the prototype will be based. This is important when working with hardware to make sure communication between hardware and software works perfectly. We’ve developed open-source tools out of this R&D to help speed up our prototyping process, and we believe in sharing. All the tools we’ve developed are freely available on Yeti’s GitHub.