Prototyping Model: Pros and Cons of Prototyping
Before there was no way to try, test and quickly improve the desired software before an actual development process. But this was what companies desperately needed, so prototyping became an excellent solution to so many issues. You can find many different opinions on this topic online, but the truth is a lot of specialists agree that not employing a prototyping model is like refusing to use electricity, cars and mobile phones in a modern society. Quite dramatic, eh? However, that’s how important prototyping is these days.
But do all enterprises really need a prototyping methodology, especially when they have limited budgets? What types of prototyping actually exist and how do they differ from each other? And (maybe, a top question to ask) would it be 100% cost-efficient to spend precious resources on it or simply abandon this idea forever? Let’s figure it out in this article!
Simply put, it depends on product complexity and size, especially when a unique app is being developed (for app ideas, check out our mobile app trends in 2021). When it comes to benefits, a customer finally estimates concepts implemented in something real, interacts with it, and determines unclear specifications. Such an approach is usually suitable when a planned application would have a lot of user interactions.
What Is the prototyping model in software engineering?
Prototyping is described as a software development methodology in which a prototype is produced, checked, modified until it’s finally approved. Nowadays we consider prototyping an essential step in a digital product design process. Usually, its objective is to present an overall functionality without specific components. Moreover, you can add new features at this stage.
Stages of prototyping development process
The prototype development process usually consists of:
Data gathering and analysis
All the necessary information about the desired application is defined, written down and analyzed. A stakeholder and a developer should set a meeting to discuss any specific moments a client would expect from an end version (moreover, further meetups are essential to keep up with deadlines).
Basic design
After the components are specified, the basic version is designed to give a brief general idea. Then, the design team may proceed with a sample creation.
Prototype creation
A design team produces a “raw” functioning sample at this step so both parties can understand the expected result and its functionality.
Evaluation
The prototype is presented to the customer to get their feedback and/or suggestions. After that, the collected information goes to a dedicated team for further changes. This step requires as many alterations as needed so eventually the end variation would 100% meet stakeholder’s expectations.
Deployment
The team analyzes everything once again and adds or replaces what is necessary now. This helps not to waste additional time in the future.
Types of prototype models
What are the main types of prototype models? Depending on such factors as product complexity/overall SDLC, we can point out the following prototype types:
Rapid throwaway
The rapid throwaway approach involves a quick creation of a working prototype after fast research. It then becomes a starting point for user expectation revisions and refinements. When a final goal is achieved, the prototype is simply discarded.
Evolutionary prototyping
EP is applied to produce a very robust model and continually improve it, further improvements are layered on it. Comparing EP to others, it may be more efficient in the long term due to its higher quality.
Incremental prototyping
The final product is divided into small pieces so their prototypes are built contemporaneously. Then, they get combined again. IP is useful if an app consists of many modules/components not strongly connected to each other. A probable problem of IP methods could be the absolute discrepancy of the developed pieces as if they are produced for different apps. In this case, a proper guideline for all teams should be approved.
Extreme prototyping
It is used for web development specifically. It divides a workflow into phases happening consistently: a static prototype consisting of HTML pages is produced. Screens are programmed and then integrated into a final variant.
All mentioned details above sound too good, right? At Ein-des-ein we actually love to implement prototype methodology a lot, but we can also assure you NOT all projects need it in their SDLC. Let’s talk about the pros and cons of prototyping and whether you need it in your case.
Advantages of prototyping model
So, what is the benefit of building a prototype you may ask? One of the main pros is the detection of defects at a very early stage so they are eliminated cheaper. Other advantages proving the importance of prototyping include:
Flexibility
There is a better understanding of features for both parties and quick adjustments.
Greater client satisfaction
You can achieve a greater level of customer satisfaction as your client knows what to expect.
Risk reduction
Any missing functionalities may be detected early which leads to risk reduction.
Disadvantages of prototyping model
The main disadvantage is the additional expenses, both financial and time-related. Any prototype takes time to build and many of them are basically thrown away afterward so it is not surprising that many companies decide to move forward with other methodologies. Other cons would include:
Feedback issues
You may run into the client’s unwillingness to constantly participate in evaluations, review modifications, and give quick feedback so the process may be slowed down.
Prolonged deadlines
An excessive amount of change requests from the customer—their number is commonly uncertain so it could affect previously discussed deadlines. It may also affect guidelines/documentation quality if the number of modifications is rising during every alteration.
Expectations vs Reality
Probably, the worst scenario is when a stakeholder becomes uninterested in the final variant because the concept looked better “on paper”.
Best practices of prototyping
If your customer decides to move forward with a working prototype, as a developer, you should keep the following principles in mind all the way, so both parties would eventually be satisfied with an outcome.
1. Clear hypothesis
Determine a clear hypothesis about the product so you could examine them with the created prototyping model.
It’s hard to understand the value of a prototyping method if you don’t know what to verify eventually. For example, “Hospital patients will be able to easily register for the medical appointment and pay for it through self-service kiosks” is the right hypothesis. If it is not approved, you save resources and would be able to offer patients a more convenient way to pay.
2. Sketch is NOT a prototype
Several static layouts are not a prototype yet as obviously you can’t check how people actually interact with a product. Make it interactive!
3. The more iterations, the better
It is not a secret that the total cost of changes grows non-linearly. Therefore, you have to try out as many options as possible at an early stage and discard non-working solutions while it is cheap.
4. Variety of tools
To examine interactive forms you can use Google Sheets. To examine points of contact with a digital service, Tilda or Readymag are suitable. Check out these popular tools:
- Omnigraffle (for OSX) creates graphical diagrams by connecting individual elements with lines. Allows you to build diagrams, containing modeling, export and import elements of finished files. Easy to master even for a Beginner.
- ConceptDrawPro (for Windows) helps to create business projects, prototypes, diagrams, documents.
- ProtoShare is a handy instrument that makes it feasible to build interactive prototypes and dynamic images. There is an ability to work collectively, view the outcome and leave comments.
5. Don’t detail the prototype more than it is necessary
It is important to separate hypotheses related to business processes and UX. When testing hypotheses aimed at improving UX, prototype detailing really helps to determine ways to solve problems. Low detailing is often sufficient for business assumptions.
6. Test, not validate
Tell yourself that you are testing and not validating a prototype. We unconsciously look for ways to confirm our assumptions. That’s why prepare that you probably won’t confirm them and have to start all over again. It is necessary to be open to any upshot. Moreover, always leave some room for guesses.
The false consensus effect forces us to project our way of thinking onto others. We believe that we know something better than users do. But, no matter how expert our opinion is, the simplest check will be more reliable!
Did you like this material about the prototyping model? Check out our Mobile App Development Glossary: 30 Essential Terms and other articles in our blog!