Remember the “telephone” game? If not, it went something like this:
Kid 1 whispers a few words in Kid 2’s ear. Kid 2 then relays the message (again, by whispering) to Kid 3, and so on until the last kid receives the message and says it out loud. Usually, that message is not even close to the original, to the short-term amusement of everyone involved.
In the bad old days, software development was something like the telephone game. The client would convey some high-level needs to a sales rep, who would turn them over to a designer, who would write up some specifications and send them to the developers. The developers would peck at their computers until the software was “code complete,” and throw the results to the QA testers. Here, there was some iteration as bugs were discovered, fixed, and re-tested. When enough bugs were fixed, the software was delivered to the client. Depending on the size of the project, this could be months or even years after the initial meetings.
If the software in any way resembled what the client had in mind, it was usually by random chance.
Agile: Rebooting Software Development
That old-school approach to software development was commonly called the “waterfall” method, and for good reason: The flow was largely one-way, with no input from or interaction with the client except at the very beginning and end. The results were often abysmal.
That’s why it was so revolutionary when the Agile development methodology started to gain traction: Here, finally, was an approach that organized the work into manageable chunks and lent itself to frequent interaction with the client to keep things on track and ensure their expectations were met.
Among the client interactions that Agile enables much more effectively than the waterfall approach is rapid prototyping.
The Importance of Rapid Prototyping
We’ve discussed the concept of rapid prototyping previously in this space. In a nutshell, it’s the idea that a prototype of the software product should be designed, built, and reviewed with the client as part of each sprint. With the advent of powerful prototyping tools, these prototypes can be updated on the fly during the review session on the basis of client feedback.
These days, rapid prototyping is more important than ever. Why? Glad you asked:
Particularly in the mobile space, competition is getting fierce. More developers than ever are becoming experienced in mobile app development and the various tools that support it, such as cross-platform frameworks. Thus there are often dozens or even hundreds of products that do more-or-less the same thing, but if you try a few of them, you notice that the quality varies widely.
Success in this market, therefore, often depends on being “the firstest with the mostest.” That is:
- Releasing your product before your competitors release theirs
- Ensuring your product is of the highest possible quality, so as to earn those 4- to 5-star ratings that put you at the top of the list
Rapid prototyping can be brought to bear on both counts. When done well, rapid prototyping can help the development team quickly zero in on exactly what’s needed, thereby meeting the client’s expectations. To the extent that real users (that is, people who aren’t directly involved in the product’s design, execution, or project management) can be engaged, the team can identify the best, most intuitive user experience (UX) design that makes the product a joy to use.
The key in that previous statement is “done well.” A successful rapid prototyping session depends on having:
- The right people in the room. The project manager, UX designer, development lead, and appropriate representatives of the client who can provide useful feedback and make decisions.
- Good prototyping software that can mimic the actual product as closely as possible while enabling the UX designer to make and demonstrate changes during the session.
- The discipline to keep the team on track and limit the scope of the discussion without branching out into new requirements and features that aren’t part of the current sprint.
At AndPlus, we understand the importance of rapid prototyping, and we have the skills and tools to do it right. Whether you need a mobile app for commercial, revenue-generating release or an internal desktop application to solve a specific business problem, we can leverage rapid prototyping to deliver the right solution. Call us today to learn how our development approach can bring you the best results.