A prototype is an easily scalable and modifiable model of a planned system, probably including its interface and its input and output functionality.
In other words, a prototype is a map for the development of an entire system, because in them it’s necessary to pose, represent, demonstrate and simulate all the functionalities that the system will have.
If the prototype is poorly designed or structured, it’s very possible that the system doesn’t respond in the most optimal way or that is not what the client wants.
In my opinion, there are 10 advantages that can be obtained by developing a good prototype:
- Users get more satisfaction with the system when it starts with the execution of a prototype.
- A prototype can provide the conceptual test needed to consolidate system processes.
- It helps define the operations and functionalities that the system will have.
- It solves certain doubts that may arise in the project planning stage.
- It allows to determine the possible users of the system.
- It prevents unpleasant surprises by highlighting incomplete or inconsistent requirements and lack of functionality.
- It prevents misunderstandings between developers and customers.
- It reduces re-design costs if problems are detected early.
- It allows to strengthen the specification of the requirements.
- It helps make it easier to operate and use the system.
In order to achieve these and more benefits, a prototype must be created in order that customers, users and system developers can interact with it. In addition, it should be simple to create and modify. In many cases it doesn’t matter that you have a not so detailed graphic design, this prototype is for the customer to have a clearer idea of how your system will look.
Also, although the prototype is very helpful by the points mentioned above, it doesn’t reflects perfection. And this happens because we can overlook some details at the time of prototyping or didn't pay much attention to them or because the customer forgot to mention them during the prototyping process, during validation or mentioned once the mockup was already validated.
But it is better that these points come to the fore during the analysis and prototyping phase than during the development phase, in that way, we can attack them from the beginning.
On the other hand, some of the tools that can be used to develop prototypes are:
- Paper and pencil.
- MobiOne for mobile prototype development.
- Pencil, among others.
Creating prototypes and gaining advantages from them is an evolution process in which you will go through many situations and learn from each one.
The usual feedback goes from what you have done is completely useless or is not what the client wants, to what you have done is a prototype with which the client is amazed and thinks the idea you have developed for his system is great; however, most of the times you will have to create several versions until the client approves the Mock Up.
Once, I had to create 12 versions of a same prototype and this was because every time a new version was presented to the client, they would need some additional features and fields that had not been considered at the beginning. The good thing is that with version number twelve, the prototype could be closed and we obtained the acceptance and conformity of our client.
During a second opportunity, I created with a lot of effort a prototype which was accepted by the client and at the moment when the project was about to enter the development stage, the customer selected another vendor. With them they developed the graphic design and the site with the structure and architecture used and shown in the prototype that I created. Without a doubt, this is the most curious situation that has happened to me so far.
I hope I’ve been able to help all those people who ask themselves the question of why making a pre-development prototype. And don’t forget that all the functionalities can be written on paper, but that does not provide any clear idea of what you really want to develop and how it is going to be presented to each of the users that may have the system.
Jeffrey Pinedo Köhler
Project Manager at Tekton Labs