Rapid application development (RAD) is a software development methodology. RAD developers gather customer requirements in advance and carry out concept testing. Development teams then work quickly to develop a working prototype of the software. Functional models are developed alongside prototypes and are integrated to deliver the product more quickly. RAD favours this method of prototyping, making adjustments in reaction to knowledge gained as the project progresses. This is an iterative and flexible process that allows projects to evolve at a greater speed.