As a business analyst, it is his responsibility to explain or show how the proposed solution or application is workable in a real-time scenario. To achieve this purpose, the business analyst often uses wireframes, mock-ups, and prototypes based on the target audience and fidelity of the visual performance of the solution/ application.
Wireframes and mock-ups are low fidelity. Wireframes are used to convey a concept by providing the skeleton of the application with simple boxes, text and logos. But these techniques are not interactive and clickable. Hence, many business analysts give more preference to creating prototypes as they provide high fidelity of visual rendering. Moreover, a prototyping helps the stakeholders to visualizing a solution by simulating it virtually.
This blog discusses the prototyping, models and advantages and disadvantages of the prototyping.
Prototyping is one of the elicitation techniques which not only help to capture the requirement but also give more clarity to the stakeholder of their committed requirements before the application is developed and it also helps the developers to understand the requirements, functionality, and process flow of the application.
- Throwaway Prototyping Model: Throw-away prototyping is one of the prototyping models. It is also known as rapid prototyping. It is used for initial requirement gathering but not for the final product. It is developed to give basic ideas to the stakeholders of how a specific area of application will run and give the chance to review their requirements and specifications, take the feedback and get required changes from them then finally, will be destroyed once the purpose is achieved.
- Evolutionary prototyping Model: In this model, the prototype is refined and rebuilt until getting the expected result. The prototype is first built with the specified functionality of the application and presented to the stakeholders, takes feedback, then will be modified accordingly and the process goes on until the developers and stakeholders come into consent. Hence, the prototype will be evaluated in each stage; it is named as evolutionary prototyping model
- Incremental prototyping Model: In this model, initially the separate small prototypes are built individually with incremental changes and improvements and finally will be amalgamated into a final product.
- Extreme prototyping Model: It is used for web applications development. It is done in three phases.
- Build basic prototypes of all pages which will be presented in the HTML format
- By using a simulated service layer, we can simulate the data process
- In the final stage, the services are implemented
Minimize the time and efforts:
The prototype model minimizes the time and effort as it aids the developing team to identify the defects and changes at an early stage and accordingly they work on that.
The success of the project always depends on client feedback and how soon they can provide it. The stakeholders provide faster feedback as they directly interact with the prototype
Review the requirements:
All the stakeholders cannot state their requirements clearly in a single discussion, few requirements are ambiguous. Hence the prototype model gives a chance to them, especially end-users, to re-examine the requirements while interacting with the prototype and make them understand their unclear requirements before building the application.
Detect the defects and missing functionality:
Since Prototyping facilitates the discussion and brainstorming among the stakeholders and developers, the missing functionalities will be easily detectable and defects will be identified in the early stage of development
Identify the complexity:
A prototype helps the developer to predict the complexity by making them undergo a thorough examination of the prototype for system performance and validate the features before it is developed
High-level user involvement:
Better software solutions and customer satisfaction will be achieved only when there is user involvement. The prototype model allows high-level user involvement in a development phase; hence the developer can understand their needs and specification.
Distract the developer’s view from the original idea:
Users when interacting with the prototype, sometimes force the developers to add more attractive features even if they are not essential for the project and developers try to give extra effort to those modifications. Eventually, it distracts the developer’s view from the original idea.
Excessive development cost and time:
Prototype some come up with the huge change request. Consequently, it consumes more developing time and cost to accommodate those changes
Sometimes to reduce the complexity, a few features are not added in the real application as they were presented earlier in the prototype. As a result, users may confuse the original one while operating it.
Increases user’s exceptions:
While evaluating the prototype, users expect that the original application will be the same as or more attractive than the prototype which they are shown. But the prototype has just visualized the solution and how it works and it is not the final one