Development of a preliminary version of a software system in order to allow certain aspects of that system to be investigated. Rapid Prototyping is a technique where a prototype is developed soon after initial system requirements are gathered from users. This prototype, which mainly concentrates on the system's interface, is shown to users as soon as it is ready.
Users interact with it while developers are present.
Developers observe user interactions with the prototype and ask questions so that feedback can be obtained and project requirements further refined. This process is repeated several times, with more and more functionality added to the prototype, until users are satisfied with the system's behaviour. Oftentimes, prototyping lasts throughout the system development life span. Users have continual input into the system that they will eventually depend upon in a production setting. They are always involved in design and can help make sure they will get the product they want.