Software prototyping is a well-known software development methodology that provides us with confidence during product planning and development.
Often, people avoid prototyping as they do not want to spend time creating and trashing multiple prototypes.
On the other hand, prototype-based modeling helps visualize ideas, giving them shape and form. This makes it easier to understand, by clients and concerned stakeholders alike.
This last part is important.
Trying to convey an idea or requirement to a developer or a team is difficult. Ideas, risks and subtle details can be lost in transmission and translation.
This is why prototyping is so important — it keeps everyone on the same page and increases the odds of a project’s success.
Three Phases of Prototyping
1. Identify core requirements
Before we begin prototyping, we must first identify basic requirement or core requirement of the idea we want to present in the prototype.
This core requirement should not be detailed and must only include those specifics that help your client understand the product.
A few things to avoid from being included at this early stage are requirements like security, performance, error handling etc.
2. Develop initial prototype
Since the initial prototype is simplified, writing detailed code for the prototypes is redundant.
Instead, we focus on the UI/UX during this phase.
3. Review and enhance prototype
In this final phase of prototyping, we further understand and analyze our prototype. Once the initial prototype is ready, it can help us refine our design or idea more.
Types of Prototyping
1. Rapid prototyping
Also called Throwaway prototyping, this type of prototyping focuses on the visual aspects of the software’s functionality. The goal here is to give your client a visual representation of the solution he or she is looking for.
This has the advantage of quickly gaining feedback and approval from a client, and speeding up the process of design and requirement finalization.
Mockups are a good example of this type of prototyping.
2. Evolutionary prototyping
In this type of prototyping, a prototype is refined step-by-step based on feedback received from a client or concerned stakeholders.
Evolutionary prototyping is useful in situations where requirements are unclear during the initial stages, or when every feature or interaction must be checked once.
3. Extreme prototyping
Extreme prototyping is mostly used during the creation of web applications. This type of prototyping has three sequential steps. First, HTML designs are created.
Then, data processing on the app is checked. Finally, features being designed are implemented into the final prototype.
When to use prototyping
- When there are many user interactions involved.
- When creating web applications having multiple transactions.
When to avoid prototyping
- In backend systems, where data processing is involved.
- In security systems where machines interact with each other.
- In systems which only do batch processing and calculations.
It is always advisable to understand requirements first by spending time on prototyping. Prototypes help business analysts, developers and solution architects understand the core requirements of a project before development begins.
Delivering Value in Your Products
Value maybe subjective. However, there are a few indicators firms can use to gauge value in a potential product.
DLT Labs on medium.com
Author — Ram Bahadur Singh, DLT Labs™
About the Author — Ram has been with DLT Labs since 2017 and brings with him several years of experience in various domains including security, e-commerce and e-learning. He is involved in business requirement analysis and is focused on providing the best user-experience to end users in the end product.