Benefits of Software Prototyping
The main benefit of software prototyping is in obtaining feedback on a proposed design at an early stage in a project. This feedback can be used to help refine project requirements specifications, establish usability and gain stakeholder support. Used properly, prototyping provides a platform from which to base more accurate estimates for the subsequent phases of a software development project.
Visualisation of a design is another benefit. We all know how difficult it is to picture an end-product from a paper specification. By creating prototype models and simulations we can improve our understanding of what is to be developed. Once a prototype has been created for a project, it is easy for everyone to gain a 'sneak preview' of what the end system will look like and what it will do. This is a very productive process as problems with a design are usually much more obvious when a prototype is created, and can be addressed long before the costly development phase starts.
By creating sophisticated interactive prototypes, it's even possible to model use-cases and operational sequences through a design. This allows for particular operations to be tested and refined without the enormous effort that would be required if a design were to be implemented without the use of software prototyping.
Prototyping and The Bottom Line
Prototyping may at first seem to be an unnecessary expense in these 'credit crunch' times, but a modest investment in interactive prototyping will usually pay for itself several times over, given the savings in medium-term development and long-term support costs. Just as you wouldn't dream of building a house without deciding whether it was an apartment or a semi-detached house, you really shouldn't embark upon any software development without pinning down the exact nature of the system, and the best way to do that is to use prototyping techniques, or better still, engage a requirements prototyping specialist such as ourselves.
If you want to read some more about prototyping, check out softwareprototyping.net.