Three W’s of using prototype in the software development life cycle

Software development life cycle (SDLC) consists of several stages: requirements gathering, design, development, testing, maintenance. The overall success of the project appreciably depends on the first step of this process where the customer, product owner and the project team should formulate and agree the set of requirements to the software product. However, in reality these requirements are not clear and complete in many projects. It’s not surprising as in software industry we often try to change the way we execute some processes, invent something new, make the predictions and assumptions. So, business owners and users shouldn’t be expected to visualize the new software very clear. In these circumstances, the idea to produce prototype before the actual development looks very attractive.

  • WHAT is a software prototype model?

  • A prototype is a kind of a model or a simulation of a real thing. In software development, a software prototype model refers to building of a software application that displays the main functionality of the product under development. But at the same moment may not actually hold the exact logic of the original software and display all the features of the product. In different cases prototypes can take many forms. They can model the entire system with real data or just a few screens with sample data. The prototype could be created only for using on the requirements gathering and design stages or could become the part of delivered product. There are several ways of how prototypes could be classified. One of the commonly used is the classification according to the fidelity of the prototype:

  • A low-fidelity prototype is an illustrative one that could be quickly produced and has 
low-fidelity prototype is an illustrative one that could be quickly produced and has the main purpose to represent the screens mockups and demonstrate the main
business scenarios of the future system. middle-fidelity prototype has the main purpose to partially simulate the future system functionality, but usually doesn’t use real data. A high-fidelity prototype is fully interactive, simulate much of the future system’s functions. In some cases a high-fidelity prototype could use the real data (or
database) or could produce model that become the part of the future real system.

Another approach is to classify the prototypes by two major types:

Throwaway prototypes that could be used on the early stages of the project and will be discarded and not used in the actual development of the product. Evolutionary prototypes that could become the part of the future product.

No matter what type of the prototype you are going to create there are some essential steps of its design.