prototyping and prototype / Site index
.

Software development for prototyping and prototype is no longer an enterprise where the traditional waterfall method of system construction is acceptable. Information technology is changing at a pace that requires complete system development and fielding in less than 18 months.

prototyping and prototype article

This is due in part to faster technology insertion, and in part by increased user expectations by prototyping and prototype. 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. A new software evolution paradigm is needed to accomplish these goals, along with the automated tools to realize the benefits. Computer-Aided Prototyping is one such method that incorporates the goals and opinions of the user from the beginning of the software evolution process, throughout the lifecycle, and into retirement. Automated tools, like the Computer-Aided Prototyping System (CAPS)[1], assist the software developer in building executable prototypes of a software system very quickly, involving the user in an iterative build-execute-modify loop until the user is satisfied with the demonstration of the prototype. The prototype is then used to build the final version of the software through the use of the architecture included in the prototype, as well as the validated set of requirements constructed during the prototyping process. The resulting final version is delivered relatively quickly, hopefully before the user's requirements have an opportunity to change any prototyping and prototype. This is often not sufficient to satisfy some users.

If the demonstration of a prototype to a customer results in the validation of the requirements for that system, the user may want to take the prototype as is. Since most prototypes are not industrial strength, this may not be possible. The need outlined here is for a system, like CAPS, that will result in a version of the system that can be delivered to the customer immediately upon validation. The system could be used as it is until it no longer satisfies the user's requirements. When the user's requirements do change, new requirements can be incorporated into a next version of the system by using the same iterative process where the fielded version of the system provides the base version of the process. This incremental evolution process can proceed throughout the life of the prototyping and prototype system.