Steps in Prototyping Process. The prototyping process consists of four steps as discussed below:
Step 1: Identify the user’s requirements At this stage, the systems person works with the user to understand the requirements as regards the output from the systems. The systems person establishes realistic user expectations, estimates the cost of developing the working prototype, defines data elements required and determines data availability.
Step 2: Develop the initial/working prototype The systems person develops the initial work interactive prototype, which meets the user’s stated basic requirements. The prototype, performing only the basic functions, is then handed over to the user. While developing the prototype, the systems person may use the latest software tools available to speed up application development.
Step 3: Use the prototype for further refinements The user has already received the initial prototype, which he now puts to use. This working with the prototype enables the user to gain hands-on experience with the proposed system and helps him to determine to what extent the prototype meets the user needs/expectations/requirements. The user, rather than the systems person, decides the desired changes for further improving the prototype.
Step 4: Revise and enhance prototype The systems person takes due notice of the changes/modifications suggested by the user and revises, enhances and refines the prototype accordingly. The prototype is then returned to the user, and the process follows steps 3 and 4 in an iterative mode, till the prototype is finally approved by the user and becomes an operational prototype.
Approaches to Developing Prototype Systems Prototype systems could be developed in one of the following ways:
a. Non-functional prototype: This approach is also known as “Rapid Prototyping.” It is a faster way to give the user an opportunity to experiment with the operational aspects of the proposed system. This approach focuses on the following aspects:
i. The user interface
ii. Data entry displays
iii. The system outputs.
This approach enables the systems, person/user, to do away with the time-consuming technical intricacies of interfacing with an actual database while allowing users to familiarise themselves with the proposed user interface and systems input/output.
b. Partially functional prototype: This approach is more sophisticated than the non-functional prototype approach as these prototypes are eventually expected to be enhanced to the level of the fully functional system. The philosophy behind this approach is that the users, especially at the operational level, can work with most of the basic features of the proposed system during an interactive practice session. They will even be able to make routine inquiries to the database. With suitable modifications and several iterations, the prototype emerges as a fully functional information system,
c. Fully functional prototype: Fully functional prototype considered to be the most ambitious approach to prototyping. Such prototypes are, typically, created to enable the user to explore with the system, the focus being on functionality. Considerations such as the volume of work and system efficiency are not of over-riding importance at this stage, as these could be taken care of at a later stage. Unlike the partially functional approach, It must be remembered that the fully functional approach is not intended to result in an operational system. The results of the fully functional approach are well-defined user specifications that can be used by the project team to create an information system that uses resources more efficiently and can handle an increased volume of work.
Advantages of Prototyping
The major advantages of prototyping could be summarised as follows:
a. Ability to “try out” ideas without incurring large/huge costs.
b. Lower overall development costs when requirements change frequently.
c. The ability to get a functioning system into the hands of the user quickly.
d. Effective division of labor between the user professional and the MIS professional.
e. Reduced application development time to achieve a functioning system.
f. Effective utilization of scarce (human) resources.
g. It is possible/practical to test parts/portions of the system.
h. It can help reduce maintenance.
i. when there is some uncertainty about requirements or design solutions. Requirements may be difficult to specify, in advance or they may change substantially as implementation progresses.
j. It is especially valuable for the design of the end user interface of an information system as it encourages intense end-user involvement throughout the Systems Development Life Cycle.
k. It enables users to react immediately to the parts of the system they will be dealing with.
l. It promises to eliminate/ minimize excess development costs and design flows that occur when requirements are not fully captured the first time around.
Disadvantage of prototyping
a. Prototyping is better suited for smaller/modular applications. b. Applications that are oriented to simple data manipulation and records management are considered good candidates for prototyping.
c. Rapid prototyping can gross over essential steps in systems development.
d. Rapidly developed prototypes may be difficult to maintain and support in a regular production environment.
e. The performance may be somewhat inefficient.
f. As the system can be changed easily, documentation may not be kept up-to-date.
g. The user must be willing and committed to providing ongoing and meaningful feedback.
h. The interactive nature of prototyping demands that the size of the project team is kept as small as possible. As such, each member may not be familiar with all facets of the system.