Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags


What are different types of software prototyping?

Arooj Fatima

Software prototyping involves prototyping software applications that represent the functions of the product before development.

Prototypes may not contain the definite logic of the original software.

  • Software prototyping is now an increasingly accepted software development model because it allows for an understanding of customer needs at the initial steps of development.
  • It helps us gain important customer reviews and supports software designers and developers in learning exactly what is required of the product under development.

Defining software prototyping

A prototype is a functional software model with some features. The prototype does not always contain the precise logic that will be used in the actual software application and is an additional overhead that must be taken into account when estimating costs.

Prototyping is used to provide customers an opportunity to evaluate developer suggestions and test them before implementation.

Designing software prototypes

Designing a software prototype consists of different phases:

Requirements, identification, and analysis

This part demands knowledge of basic product requirements, especially those related to the user interface. At this stage, more complex details of the internal design and external issues such as performance and security can be ignored. Customers are also interviewed to learn their expectations about the system.

Designing of the initial prototype

In this phase, a draft is made and a system with the basic requirements is shown. The details may differ from the final product. However, this simple design helps to create the main system.

Client feedback

The developed prototype is shown to customers and other major project participants. Feedback is collected in an organized manner and used to further improve the product being developed.

Revise and finalize the prototype

Using the final prototype, the end product is made. It is completely tested and put into production. The system is regularly maintained to minimize downtime and avoid major malfunctions.

Types of software prototyping models

Throwaway/rapid prototyping

Rapid prototyping is also known as throwaway prototyping because prototypes are only fit for brief periods of time. It may pass through various feedback, revision, and assessment cycles during this phase. When all collaborators are satisfied, it becomes the standard for designers and developers to apply.

Once the exact conditions are noted, the prototype is rejected and the actual system is developed with a very clear understanding of the user requirements.

Extreme prototyping

Extreme prototyping is mainly applied for web development.

  • All pages are available in HTML format in the basic prototype.
  • A service class prototype is used to stimulate the data process.
  • In the last step, all the processes are performed and connected with the final prototype.

Evolutionary prototyping

Prototypes developed here are progressively improved based on client feedback until final approval. This will save time and work. This is because developing a prototype from scratch for every interaction in the process can sometimes be frustrating.

This pattern is useful for projects that use new technologies and are not yet well known. It is also used in complicated projects where each characteristic needs to be tested at least once. This is helpful when requirements are unstable or not well understood initially.

Incremental prototyping

With incremental prototyping, the final product is broken down into several smaller prototypes and developed independently. Finally, different prototypes are combined into one product. This design helps lessen feedback time between customers and the developer.



View all Courses

Keep Exploring