In this article, we will discuss what is prototype model, when to use prototype model, steps of prototyping, and also discuss advantages and disadvantages of the prototype. So let’s start
Prototype model is a software development model where prototype is developed before developing the full software.
Prototype is just a software means it’s not a full software, it’s a part of the software.
In Prototype Model, We do not develop the full software, firstly we develop a prototype of the software means first we create a part of the software where we include some most favorable functions in the product.
After this, the prototype is handed over to the customer and the customer will use the prototype product and check any possible shortcomings (problems).
If any problem is in the prototype product or customer is not satisfied with the product than we removed problems in the product or we create a new version of prototype of the product.
When to Use Prototype Model
When requirements are not properly cleared. When our client is confused or the client doesn’t know the exact requirement, then prototype model can be applied.
Complicated and Large Systems:
Prototype model is suitable for large and complicated systems.
When system is large and complicated and collecting the requirements are difficult then prototype model can be applied.
Prototype model can be used when a lot of interaction is needed with the end-users to develop the system.
Illustrate of User Interface:
If we want to demonstrate the system before developing the full system.
Prototyping helps in illustrating the input data formats, messages, reports, and interactive dialogue to the customer.
Customer requirements are clear but the technical solutions are unclear to the development team than prototype can be used.
You can read this article: What is SDLC (Software Development Life Cycle)
Steps of Prototype Model
Step 1: Requirements gathering and analysis
This is a requirements phase where system requirements are defined in details. During the process, customer is interviewed to know what their expectation from the system is.
In this phase, we collect all the software requirements from the customer through discussion and interviews and written in requirement specification document called SRS document.
Step 2: Quick design
This is a design phase of software where we create a simple design of the system. It is not a complete design of the system because here we do not develop a full system, we just create a prototype of the system.
Step 3: Build a Prototype
This is a development phase, where prototype of the system is developed with the help of quick design.
Step 4: Customer Evaluation of prototype
After building a prototype, the prototype is presented to the customer for initial evaluation.
In this phase, prototype product handed over to the customer, and customer use the prototype and evaluate the initial product.
This phase helps to give the feedback from the customer so we have better understanding of customer requirements.
Step 5: Refining prototype
After prototype evaluation, customer gives us feedback if customer is not satisfied with the current prototype, then we take decisions means should we create a new prototype or we need to improve the current prototype product according to the customer’s feedback and suggestions.
This phase will not over until customer satisfied with the prototype.
Step 6: Engineer Product
Once all the requirements specified by the user are met means our customer satisfied with the prototype then we develop the full system.
Advantages of the Prototyping Model
- Clients are actively involved in the development
- More accurate user requirements are obtained.
- Errors can be detected much earlier.
- Quicker customer feedback provides a better idea of customer needs.
- Missing Functionality can be identified easily.
- If customer not satisfied with prototype than we can develop a new prototype.
Disadvantages of Prototype Model
- If the user is not satisfied by the developed prototype, then a new prototype has to be developed. This process goes on until the client is satisfied. Thus, this model can be time consuming and expensive.
- After seeing an early prototype the client may demand the actual system to be delivered in soon.
- If end-user not satisfied with initial prototype, he/she may lose interest in the project.