|
Prototyping is an iterative, experimental, evolutionary method of building a system or a model of a system. It relies on effective communication between the developer and the end user. Feedback from the end user results in further refinement of the model until it finally meets the user's needs and expectations. The advantages of prototyping are:
The advantages of prototyping include the potential for making changes early in the process, stopping development on an unworkable system, and developing a system that more closely meets the needs and expectations of the end user. Disadvantages include the fact that managing the process may be more difficult because of its rapid, iterative nature. Also, incomplete prototypes may be regarded as complete systems. Kinds of Prototypes
Another Way to Classify Prototypes
Prototyping is possible now because of the existence of 4GL and other Rapid Application Development tools, and the availability of PC's to provide an isolated, test environment for experimentation. Because prototyping allows for rapid development it can be an alternative to the traditional SDLC method. Why is prototyping faster?
One of the reasons prototyping can allow for more rapid development is the nature of the tools themselves. 4GL tools by their nature allow for more rapid development than 3GL programming languages. Another reason prototyping may be faster is that it facilitates more effective communication with the end user. Communication is enhanced because it is in the user's terms rather than in the analyst's terms inasmuch as the user is able to experience the kinds of screens and reports that will be in use when the system is deployed as opposed to technical tools such as data flow diagrams. Also, the implementation phase may be more rapid because the user knows what to expect. And, in fact, by participating so closely in the development of the system, the user has "taken ownership" of the system, may be more tolerant of minor flaws, and may act as a champion of the new system in helping to "sell it" to the rest of the organization. Prototyping is appropriate for the development of online interactive systems when the potential capabilities of the system are beyond the user's experience. It is less suited for batch-oriented applications or highly complex mathematical processes. |