A Prototype illustrates a working model of the architecture behind an implementation.
In many scenarios, when an implementation utilizes an architecture or topology that has not been
implemented before, or presents performance risk, it is required to prototype that implementation.
In major implementations prototyping can greatly reduce the risk of running into performance
bottlenecks raised due to architectural flaws in production. Keep in mind that the volume-demands
and throughput in production will be a multiple by several factors of what you see in the test
environment.Prototyping serves its purpose to evaluate the underlying architecture than the business
process flow, which is half the battle.
In many scenarios, Prototypes also function as a Template which can be extended by new / inexperienced developers in order to quickly comply with the organizational Design / Coding Standards and naming conventions. For example, you could create a simple prototype of a GUI Application Project and you can put it at a location in your source control repository. If you ensure that (A) the prototype is built so that users can take it and extend it to create their own customized implementation, and (B) the prototype already follows the standards and naming conventions that you have set for the organization ensuring that the implementer has an example to work with.
In many organizations, where Developing Batch applications or Web sites, for example is a frequent task, you can implement not only the coding standards, but also tasks like Logging, Error Handling and Reporting, Security framework, Database Access and Enterprise Class Library usage in the Prototyped Template so that users who extend the template are following the same standard model instead of re-inventing the wheel.