SDLC – Prototyping Model
The Prototyping SDLC model approach is about creating a working prototypeof the software product with limited functionality and then quickly turning the prototype into the complete product. The prototype may not contain the exact logic of the finished product.
This software development life cycle approach is good for allowing the consumer to visualize the product. Gathering and analyzing feedback from customers helps the development team better understand customer requirements at the early stages of development.
Prototyping is also valued because it involves fewer iterations than the traditional Waterfall model. This is because testing is done on (and changes are made to) the prototype, not the fully developed product.
Of course, creating a valuable prototype requires some basic understanding of the product and market requirements, especially in terms of the user interface.
With the Prototyping model, users’ feedback takes the definitive role in planning further development.
Prototyping allows users to evaluate developer proposals for the further apps functionality and try them out before they’re implemented.
Every prototype in this SDLC model is usually brought to life in the following phases:
- Identify the requirements
- Develop the initial prototype
- Revise and enhance
As soon as the final prototype is completed, the project requirements are considered to be unchangeable.
There are also a number of traditional types of prototyping:
- Throwaway prototyping — The team develops a number of different prototypes and discards the obviously unacceptable ones. Useful functionality from each prototype moves on to the next development phases.
- Evolutionary prototyping — The team shows the prototype to focus groups of potential users, gathers their feedback, and implements changes via iterations until the final product is completed.
- Incremental prototyping — The team creates various prototypes and eventually merges them into a single design.
- Extreme prototyping — The team creates a prototype in three parts: a static prototype, a functionality simulation prototype, and an implemented services prototype. This type of prototyping is mainly used in web application development.
Advantages of prototyping SDLC model:
- Increased user involvement before product implementation
- Chance to reduce development time and costs (in case of a successful prototype)
- Better understanding of functionality by users as they take part in the development process
- Early detection of defects
- Fast feedback
- Simple and valuable analytics
Disadvantages of prototyping SDLC model:
- High risk of incomplete analysis due to dependency on the prototype
- Users may consider a prototype as a completed product and remain unsatisfied
- Risk of a high cost of implementing the prototype
- Developing multiple prototypes may take too many iterations and consequently too much time
- Using in parallel with any other SDLC model
- Products with a lot of user interactions
- Products that should be approved by users at early stages