What is Prototyping?
Prototyping is one of the most trusted methods used form long time for requirement gathering. Early on in the development lifecycle, prototypes are developed. Prototypes give insights into the look and feel of the application. It is the best way to test a concept or process or to act as a thing to be replicated or learned from. Prototyping is substantially used to gather and document requirements. If you have a good set of requirements, then it is not necessary to build an initial prototype. Once you build an initial prototype, you should show it to the clients to validate the work done so far. The prototype is then used to collect more requirements. The main goal of prototyping is to evaluate an idea.
How to use a prototype to gather requirements
After you’ve covered most of the processes in your requirement gatherings, such as document analysis, brainstorming, and interviews, you should consider making a prototype to see how the final product will work.
Before making a prototype, you need to understand what you’re aiming for. You don’t want to have to make too many prototypes because it may take a considerable bit of work.
To give an idea about the final product to your stakeholders, you may show a prototype to them. From that, they could tell you the following to improve its quality and fulfil their expectations.
- What’s missing
- What’s irrelevant
- What needs to be added to make it function best
- Other inputs or outputs you need to consider
- What doesn’t make sense
You will need to document what’s needed and go back to the drawing board at this point. Another prototype should be produced following their suggestions. Further it should be shown to stakeholders and end users in order to know if requirements may arise.
Steps to conduct Prototyping:
Step 1: Identify the goal of your project. Collaborate with your team and start brainstorming. This would help you to know your design hurdles and the need to research solutions.
Step 2: To begin you should focus on 1 or 2 features as this version will be refined later as per their requirement.
Step 3: Create your design on paper.
Step 4: Take a feedback from managers, users, researchers for the improvement of the product.
Step 5: Revise your design after having discussion with partners or stakeholders,
Step 6: Design from paper to computer. There are kits, books and knowledge to help you create prototypes.
Step 7: Consult appropriate entities and make suggested and approved revisions.
Step 8: If the result is what you agree on, add another feature.
Step 9: Documentation is continuous process as there’s always scope for improvement.
Planning for prototyping
- You need to have a reasonable idea of what your project requirements are before making a prototype.
- Assessing the present system and collaborating with users ensures the best performance of the prototypes. This will help you to recognize the direction of travel and have a solid grounding for what you want to produce.
- Plan for this phase of requirement gathering to require some time – you may need to go back and forth several times. You’ll create a feedback loop, with you producing a prototype, getting feedback, refining the prototype, eliciting more feedback, further refinements, etc.
- Decide the deadline and limit the prototypes in order to avoid waste of time and effort as there could be more demands and suggestions.
- To keep your prototype as per the requirement and save time and effort, you should note rational and working feedback only from the stakeholders.
What happens to the prototype?
Once the prototype is constructed, there are two possibilities of how it can be used:
• Complete or partial throw-away: Generally once the requirements are gathered, the prototype which is build is discarded and not used further. Remember that the prototype is built for the demonstration purpose to have idea of the final solution. The main purpose of the prototype is to gather requirements. I’ve seen online applications that seemed to be running on the web, when, actually, the team members built the prototype in PowerPoint or Excel. There was no consideration given to the possibility of using this PowerPoint sample again as the project moves forward. On the opposite hand, in many instances, you’ll build a prototype using the identical technology as the final solution. During this case, there could also be some aspects that can be reused. You’ll be able to leverage some of the physical components of the prototype as a starting point for the Design and Construct Phases of the project.
• Iteratively become final application: If you’re using an iterative development approach, the primary prototype should still be put together quickly. However, rather than the work being abandoned or thrown away, the prototype is updated with the new requirements. Within the second pass, more business logic is additionally placed into the application. By now, it’s not called a prototype. Instead, the prototype shell is employed as the basis for developing the final solution.
Advantages of Prototyping Methodology
- This model is flexible in design.
- Detection of errors becomes easy using prototypes
- It becomes easy to find the missing functionality
- There may be room for improvement, which indicates that the new requirements can be easily accommodated.
- The developer may utilize it again in the future for tasks that are more challenging.
- It guarantees a higher level of consumer comfort and satisfaction.
- It works well with the online system.
- It helps developers and users to understand the system better.
- Deployment channels are chosen very early on, and integration requirements are fully understood.
- Users may be actively involved in the development process.
Disadvantages of Prototyping Methodology
- The price of this model is high
- The documentation is inadequate since customer expectations are always changing.
- There could also be too much diversity in requirements.
- Customers generally demand delivery of the finished product as soon as they see an early prototype.
- Sub-optimal solutions could also be there as the developers are in a hurry to build prototypes.
- After viewing the original prototype, customers might not be pleased or interested in the product.
- The number of iterations cannot be determined with accuracy.
- An inadequate or partial problem analysis could also exist.
There can be an increase in the system’s complexity.