Prototyping
A common way to fulfill the goals of the inception phase is prototyping. Based on the experience gained from developing a prototype, project teams can make better technology decisions, create better designs, and build better implementations. Usually a prototype is a basic implementation of functionality to show whether a solution is feasible within given constraints. It is commonly used to evaluate the following: |
- Unknown or new technologies
- Performance of hardware or software implementations
- Usage of system resources
- Alternative solutions
When the prototype is completed, two scenarios are possible: Either the prototype is thrown away and development starts over from scratch, or the prototype is evolved into the product. In the latter case the prototype undergoes a design and functional review, and adjustments are made where necessary to lead into a product.
The prototype developed throughout this chapter will be used only to evaluate feasibility and will not undergo further quality measurement to lead to product code in later iterations.