A software engineering development model. The basic idea is that a series of prototypes are generated until the developers get it right. Specifically, it is a continuous cycle consisting of three steps:

  • Listen to the customer (because the customer is always right)
  • Build/revise a mock-up
  • Allow the customer to test drive the mock-up

    It is useful in situations where a customer defines a set of general objectives for a piece of software but does not go into details.