What is it?

In Software Engineering, evolutionary prototyping is flexible process model in which the system’s requirements are still being defined and refined as the system itself is being developed as a prototype.


How does it work?

Using evolutionary prototyping, the development team can develop the system while requirements are still being defined with the user, once the user’s feedback is implemented into each version of the prototype.

How to prototype?

Because user’s feedback is essential in this process model, the developer must create the prototype as fast as possible, and then begin to iterate with the user to define the system requirements.

Most likely, the front-end is the part to be shown to the user first, and then after all visualization is done, then the back-end logic begins to be developed.

However, the main drawback of the evolutionary prototyping is that it depends solely on the user’s feedback. Because of that, poor feedback can make the system unusable because of needed features that were not given by the user, or features that don’t make sense for development.