The Prototyping refers to putting together software application prototypes which display the functionality of the merchandise under development but might not actually hold the precise logic of the first software.
Prototyping is becoming very fashionable as a software development model, because it enables to know customer requirements at an early stage of development. It helps get valuable feedback from the customer and helps software designers and developers understand about what exactly is predicted from the merchandise under development.
There are many prototyping tools available within the market. For example; Axure RP, Balsamiq Mockups, Sketch, Web flow etc.
1. Axure RP:
• It is developed by Axure Software solutions.
• It is software for prototype creation for websites and applications.
• It offers drag and drop placement, resizing, and widget formatting.
• Some companies use Axure as designing tool as well, because it has the capacity to convert the entire prototype into HTML web page with a single click.
2. Balsamiq Mockups:
• It is developed by Balsamiq Studios.
• Balsamiq Wireframes may be a graphical interface website wireframe builder application.
• It allows the designer to rearrange pre-built widgets employing a drag-and-drop WYSIWYG editor.
Listed below are the steps within the prototyping methodology.
1. Basic Requirement Identification:
This step involves understanding the very basics product requirements especially in terms of interface . The more intricate details of the interior design and external aspects like performance and security are often ignored at this stage.
2. Developing the initial Prototype:
The initial Prototype is developed during this stage, where the very basic requirements are showcased and user interfaces are provided. These features might not exactly add an equivalent manner internally within the actual software developed and therefore the workarounds are wont to give an equivalent look and feel to the customer in the prototype developed.
3. Review of the Prototype:
The prototype developed is then presented to the customer and therefore the other important stakeholders within the project. The feedback is collected in an organized manner and used for further enhancements within the product under development. Revise and enhance the Prototype: The feedback and therefore the review comments are discussed during this stage and a few negotiations happen with the customer supported factors like, time and budget constraints and technical feasibility of actual implementation. The changes accepted are again incorporated within the new Prototype developed and therefore the cycle repeats until customer expectations are met.
TYPES OF PROTOTYPING MODELS:
There are four types of Prototyping models are;
1. Rapid Throwaway prototypes
2. Evolutionary prototype
3. Incremental prototype
4. Extreme prototype
1. Rapid Throwaway Prototype
Rapid throwaway is based on the preliminary requirement. It is quickly developed to point out how the need will look visually. The customer’s feedback helps drives changes to the need, and therefore the prototype is again created until the need is base lined.
In this method, a developed prototype is going to be discarded and can not be a neighborhood of the ultimately accepted prototype. This technique is beneficial for exploring ideas and getting instant feedback for customer requirements.
2. Evolutionary Prototyping
Here, the prototype developed is incrementally refined supported customer’s feedback until it’s finally accepted. It helps you to save lots of time also as effort. That’s because developing a prototype from scratch for each interaction of the method can sometimes be very frustrating.
This model is useful for a project which uses a replacement technology that’s not well understood. It is also used for a posh project where every functionality must be checked once. It is helpful when the need isn’t stable or not understood clearly at the initial stage.
3. Incremental Prototyping
In incremental Prototyping, the ultimate product is decimated into different small prototypes and developed individually. Eventually, the various prototypes are merged into one product. This method is useful to scale back the feedback time between the user and therefore the application development team.
4. Extreme Prototyping:
Extreme prototyping method is usually used for web development. It is consists of three sequential phases.
1. Basic prototype with all existing page is present in the HTML format.
2. By using a prototype services layer you can stimulate data process.
3. The services are implemented and integrated into the ultimate prototype.
NEED OF PROTOTYPING MODEL:
This type of System Development Method is used when it’s very difficult to get exact requirements from the customer (unlike waterfall model, where requirements are clear). While making the model, user keeps giving feedbacks from time to time and supported it, a prototype is formed. Completely built sample model is shown to user and supported his feedback the SRS (System Requirements Specifications) document is ready. After completion of this, a more accurate SRS is ready, and now development work can start using Waterfall Model.
ADVANTAGES OF THE PROTOTYPING MODEL:
Here, are important pros/benefits of using Prototyping models:
• Users are actively involved in development. Therefore, errors are often detected within the initial stage of the software development process.
• Missing functionality are often identified, which helps to scale back the danger of failure as Prototyping is additionally considered as a risk reduction activity.
• Helps team member to communicate effectively.
• Customer satisfaction exists because the customer can feel the merchandise at a really early stage.
• There will be hardly any chance of software rejection.
• Quicker user feedback helps you to realize better software development solutions.
• Allows the client to match if the software code matches the software specification.
• It helps you to seek out out the missing functionality within the system.
• It also identifies the complex or difficult functions.
• Encourages innovation and flexible designing.
• It is an easy model, so it’s easy to know.
• No need for specialized experts to create the model
• The prototype is a basis for deriving a system specification.
• The prototype helps to realize a far better understanding of the customer’s needs.
• Prototypes can be changed and even discarded.
• A prototype also is the idea for operational specifications.
• Prototypes may offer early training for future users of the software.
DISADVANTAGES OF THE PROTOTYPING MODEL:
Here, are important cons/drawbacks of prototyping model:
• Prototyping may be a slow and time taking process.
• The value of developing a prototype may be a total waste because the prototype is ultimately thrown away.
• Prototyping may encourage excessive change requests.
• Sometimes customers might not be willing to participate within the iteration cycle for the longer time duration.
• There could also be far too many variations in software requirements when whenever the prototype is evaluated by the customer.
• Poor documentation because the wants of the purchasers are changing.
• It is very difficult for software developers to accommodate all the changes demanded by the clients.
• After seeing an early prototype model, the purchasers might imagine that the particular product is going to be delivered to him soon.
• The client may lose interest within the final product when he or she isn’t proud of the initial prototype.