Prototyping is a method for creating software prototypes. The primary goal of the prototyping model is to meet the needs of the customer. To do so, developers create a prototype and present it to the customer for feedback. Following the evaluation, the customer suggests changes to the prototype. The suggested changes are then incorporated into the prototype, which is then presented to the customer for review.
These iterations are carried out until the customer is satisfied with the prototype. Developers begin implementing the final system once the customer is satisfied with the prototype. Prototyping will be briefly discussed in this section. We’ll also talk about prototyping phases, types, and advantages and disadvantages of prototyping.
There are two types of prototyping.
There are several prototypes developed to understand the customer’s requirements. Once these requirements have been determined, these prototypes are discarded and other process models are used to develop the final system.
If there are no clear requirements, then throwaway prototyping is the way to go. Rapid prototyping is another name for throwaway prototyping.
This is because the throwaway prototype is created solely to understand the specifications, and time is not wasted by systematically developing the prototype. As a result, the rapid prototype is created quickly and at a low cost.
In evolutionary prototyping, a prototype is first created by incorporating well-understood specifications, and then the developers work to better understand the unclear specifications.
The prototype that was initially developed is refined here to create the final system. The prototype is shown to the customer, who then suggests a modification that helps to clarify the ambiguous specification. To be more effective, a systemic approach is used from the beginning of prototype development to ensure that the final system evolves systematically.
When Should the Prototyping Model Be Used?
Customer satisfaction is the primary goal of prototyping, and a customer is satisfied only when all of his requirements are fully implemented in the final system.
However, few customers can express all of their needs clearly and concisely all at once. Prototyping is a useful tool for gaining a better understanding of a customer’s needs. The customer evaluates the prototype at each iteration to identify any unclear requirements. When the customer’s requirements are hazy, prototyping should be used.
When a large amount of user interaction is desired in the final system, prototyping should be used.
When it comes to designing the user interface, prototyping is the way to go. Prototyping assists the developer in gaining a better understanding of how the user wants the system to work.
Advantages and Disadvantages of Model Prototyping
- The first and most important benefit of prototyping is that it aids the developer in comprehending the customer’s specific and ambiguous requirements.
- It enables the customer to quickly identify required changes before the system’s final implementation.
- The effort required to develop the final system is reduced because the final system is implemented after all specifications have been thoroughly understood, and the chances of the final system being incorrect are reduced.
- The customer does not have to wait long to see the final system’s working model.
- There is a greater likelihood that the developed system will be more user-friendly.
- User satisfaction has been attained.
- The prototype is created in a controlled environment. As a result, the customer may misunderstand a feature of the system.
- When a customer sees a working model at an early stage, he or she may believe that the final product will be delivered soon.
- The user may never be satisfied because they have too many options to change and specify the changes.
- The number of iterations cannot be specified by either the customer or the developer.