advertisement
What is the Prototype Model
Introduction
In the Waterfall model, the software development team has to gather all the requirements in the beginning, complete the design, coding, and testing in succession, and deliver the product, all at once, The risk of failure is quite enormous in such a case, as defects results in costly over-runs and some cases even project cancellation.
The drawbacks of the waterfall model resulted in iterative process models which ensured faster results, with less information in advance and much more flexibility.
1. Prototyping Model
Prototyping was developed to overcome the limitations of the Waterfall model. In this model, a prototype is created based on the existing requirements. Prototypes are similar to models or simulations of the real thing and may display the functionality of the product under development, but may not hold the exact logic of the final software.
One of the common software development models is software prototyping, as it assists in knowing the customer requirements at an initial stage of software product development.
It also helps to get valuable feedback from the customer and enables software designers and developers to learn about what is expected from the desired product.
Organizations such as Microsoft, Disney, and Boeing follow prototyping, which enables innovation, better communication with the customers and internal people, and development and improvement of the final product. The various phases of the prototyping model are depicted.
2. Steps to Design a Software Prototype
The approach taken to design a software prototype is as follows:
- Identification of Basic Requirements: This step identifies the very basic product requirements, especially in terms of user interface. Extensive details such as the internal design and external aspects such as performance and security are not considered in this stage.
- Development of the Initial Prototype: The development of the initial prototype happens in this stage. Here, the very basic requirements are illustrated and user interfaces are designed. These features may not exactly work in the same manner internally in the final software product. The workarounds in the prototype give the same look and feel to the final product.
- Review of the Prototype: In this stage, the developed prototype is presented to the customer and the other important stakeholders in the project for their review. The feedback is collected and documented systematically and is used for further improvements to products under development.
- Revision and Enhancement of the Prototype: The feedback and the review comments from the customer are evaluated during this stage. Factors such as time, budget constraints, and technical feasibility of the actual implementation are negotiated with the customer. The accepted changes are incorporated into the new prototype developed and the cycle repeats until customer expectations are met.
Prototypes can have vertical or horizontal dimensions. A vertical prototype is a detailed explanation of a specific function or a sub-system in the product. Vertical prototypes are technical and are used to get details of the exact operation of the sub-systems.
A horizontal prototype, on the other hand, displays the user interface for the product and gives a wider view of the entire system, without focusing on the internal functions. Horizontal prototypes are used to get more information at the user interface level and the business requirements. It may even be used in sales demos to get business in the market.
3. Applications of Prototype Model
The prototype model is used for projects with the following criteria:
- Requires a lot of interaction with the end users. Generally, online systems and Web interfaces interact with the end users. The prototype model is best suited for such projects.
- To design human-computer interface systems. It is very important to take end-user feedback and include it, as they are the ultimate users of the product. Prototyping helps in implementing this. Software that involves too much data processing and very little user interface does not usually benefit from prototyping.
4. Deciding Whether to Prototype or Not
Each systems development effort has its own scope, requirements, complexity, skill set, development time, users, management, levels of innovativeness, and organizational culture.
Prototyping may be useful or create problems in the development process. Based on the requirement, it should be employed. Here are a few situations where prototyping affects the outcome of a system under development.
Lists the situations and corresponding prototype model considerations.
Situation:-
- Users are uncomfortable with hypothetical models.
- The project has a long development time.
- Requirements are uncertain.
- A completely new system with no earlier history.
- Product development needs the help of tools such as simulation, experimentation, or progressive assessment.
- A critical system is needed immediately.
- Users are available.
Reason to Consider Prototyping:-
- Gives users a prototype to interact with the model, before the actual product.
- Gives users and developers something to work on in the early phase of the development cycle.
- Provides opportunities to rework requirements.
- Provides chances to do multiple trials, and detect and correct errors.
- Allows for simulation, experimentation, and incremental evaluation.
- Prototyping tools are designed for quick implementation. Can begin requirements gathering soon.
- Allows for high user participation.
5. Advantages and Disadvantages of Prototype Model
Some of the advantages of the prototype model are as follows:
- There is active involvement of users in the project.
- The working prototype model gives a better understanding of the desired product.
- The problems that can arise during the development are detected earlier.
- The user's feedback helps in providing better solutions.
- The complex modules are identified and a quick implementation can be provided for them.
Even though the benefits of prototyping are evident, there are disadvantages and potential risks associated with it. Excessive change requests are one of the major concerns. Users tend to request changes repeatedly, just because of the nature of the iterative process. As they re-examine the prototype at each stage, chances are that they may think of new features that are beyond the scope of the original project. However, this may be controlled with proper planning; it is still a major concern.
advertisement
Conversation
Your input fuels progress! Share your tips or experiences on prioritizing mental wellness at work. Let's inspire change together!
Join the discussion and share your insights now!
Comments 0