What are the Different Software Prototyping Methods?Software prototyping | 0 comments | by Erin Quilliam
Like with different software development methodologies, the different software prototyping methods have their own advantages and disadvantages. Each method will suit different teams and clients according to their needs.
Read on to find out more about the most common software prototyping methods, and which will best suit your project goals.
There are Four Main Software Prototyping Methods
There are four main methodologies used for creating software prototypes. More methods do exist, such as iterative, but the below list represents the most common ways of developing a prototype.
Each model involves a different development process and an end result. This gives each method varying advantages and disadvantages to their use.
Incremental prototyping involves a series of prototypes being created, each one representing a refined version and intended to represent the final product. Once the client is completely satisfied with the product, the different versions are married together into one fully functional design.
There is a set number of steps and development takes place in a linear fashion. With each increment, there will be little improvement, some new features, design changes, etc.
This approach is great if you want to make software quickly, that is thoroughly and easily tested. (As it is much easier to test a small increment than the entire system.) This method also helps to mitigate risks, as each increment is it’s own cycle, and issues are handled within an increment.
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 methods of prototyping, which assume the prototype will later be built into the working system. It does mean that throwaway is often the quickest and cheapest software prototyping method.
This method of prototyping is best used to provide proof of concept. But don’t expect to demonstrate much beyond the basics.
Throwaway prototypes are quick to create. And because they will be discarded, there is no need to further refine the model. This cuts down on development time and costs. The fact it is meant to be discarded does mean there is not often reusable code created, which means if you choose to go into development you will have to work from nothing.
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. The client will give feedback on the initial model, and the improvements to be made in each ‘evolution’ of the prototype.
Eventually, both developers and the client will be satisfied that the prototype is done. The evolutionary process is great for more experimental development when it is not necessarily clear what all the requirements are at the start. However, it is also difficult to monitor the project or adopt a time frame, due to the evolutionary nature of the development.
What method is best for you?
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 functional prototype – and are likely to continue to create a finished product with it – Incremental or Evolutionary prototyping methods may work best. 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