Finding the disconnects early, at the requirements phase of the project, saves about 30 times the effort of finding them after delivery to the customer. This prototyping approach is a best practice and can be extended throughout software system development. Coupling prototyping with function point analysis measuring software size can control software complexity and feature-creep.
Prototypes allow designers to examine alternate approaches and simplify the product.
Information technology is changing at a pace that requires complete system development and fielding in less than 18 months. This is due in part to faster technology insertion, and in part by increased user expectations. Both reasons provide justification for changing the way software is built and fielded. Increased user expectations require that we involve the user more in the requirements engineering process, and deliver the software to the user much more quickly. Faster technology insertion requires that we incorporate new technology into existing products much faster and with less rework.