Throwaway prototyping is a method of development that employs technical mechanisms for reducing risk in a project.
There is subtle, but significant difference in this approach that we want to explore.
For some companies, projects – pretty much any technical undertaking you can think of, there is a lot of pressure to continue development of the first prototype or draft of a project. For clients and customers, this is often due to trying to save on cost and reuse that which obviously propelled them to the next stage of a particular project.
With throwaway prototyping, you are consciously deciding to build out a particular set of functionality for an application, or indeed, building out the entire prototype application in an effort to fully explore what it is you are trying to accomplish in terms of goals (for the project as a whole) and less about the totality of functionality.
This is a little different than the buzzword-ladden term of “Agile Development”, though it is a closely related concept.
The main benefits of throwaway prototyping are:
- you reduce risk in a project by quickly stepping through the initial development phases.
- you are selecting (or at least you better be) a prototyping language or framework that allows you to rapidly development your application and meet your prototyping goals.
- you can usually select a programming language that lends itself to being thrown away – further reducing the incentive to try and “make it work’. Yes, programmers and companies can easily be “hoarders” if they are not careful.
- The last primary benefit, is that it is in-itself an agile development exercise for the participants and stakeholders in a project that helps define goals, realize potential pitfalls and generate better risk assessment or the project as a whole.
The downsides and risks associated with throwaway prototyping are:
- You have to commit time and resources to actually undertake this effort.
- You may not be using the prototyping time to maximum efficiency, however, throwaway prototyping doesn’t mean you throw and bunch of things at a wall (metaphorically speaking) and see if they stick. This is not a reason to not have a well thought out plan and execute according to the goals you want to achieve.
- Time = Money = Duh, we get it.
Programming languages for throwaway prototyping (or rapid prototyping)
When you engage in throwaway prototyping, you are looking for languages like Python, which we have used when working on project for Google (the company) and using their App engine and CloudSQL (their products).
We work with Throwaway prototyping and Rapid prototyping all the time, in part or in whole as a larger application development strategy, and are always available to talk with you about how it may fit what you want to accomplish both before and after a particular project is undertaken.