There are four main methodologies used for creating software prototypes. Each model involves a different development process and an end result. This gives each method varying advantages and disadvantages to their use.
The Four Types of Software Prototype
Incremental prototyping involves a series of prototypes being created, each one representing a refined version and intended to represent the final product. When the client is completely satisfied, the different versions are married together into one fully functional design.
As the name suggests, throwaway prototyping is a model created with the intention of discarding it after the testing process. This is opposed to other prototypes, which are often later built into the working system.
Throwaway prototypes are quick to create, and as they will be discarded, there is no need to further refine the model. This cuts down on development time and costs.
Extreme prototyping is used mostly for web-based applications and is a process of three clearly defined stages. These different stages could be compared to the three levels of prototyping – as low, mid, and high fidelity models.
The first stage involves a static prototype being created, which is just a series of pages. The second stage takes these pages and adds functions using a service layer. The final stage takes this service layer and employs it, implementing the functionality.
The key purpose of evolutionary prototyping is to create a model which is refined over time. Like stages of evolution, each stage of the process involves resolving any issues and implementing any changes to the prototype. Thus the first prototype forms the heart of the software, which improvements and fixes are added to over the developmental period and therefore, allowing it to evolve.
What method is best for you?
Like with different software development methodologies, the different methods of prototyping have their own advantages and disadvantages. They suit different teams and clients according to their needs.
If you want something made quickly but with no refinement, you are probably best to create a throwaway prototype. However, if you would like to develop a prototype – and are likely to continue to create a finished product with it – Incremental or evolutionary would work. This is because these methods allow you to take test results and improve the product, and aim to use the prototype to build into a product.
bespoke software, prototype models, prototype mthodologies, software development, software prototype, software prototyping