There are many techniques that can be used for software development. Formal techniques are considered software development methods. Rapid application development (RAD) is a software development technique that uses prototypes and mock versions to prepare the final product.
The prototyping process was first outlined by James Martin in 1991. He outlined rapid application development as an iterative process of creating prototypes. This new concept was an attempt to increase user satisfaction for software.
Software prototyping is the process of creating mock screens and business flows within software. These screens give the perception of a working system and allow the user to test drive the application. The rapid application development process is used to speed up the delivery of development by clearly defining requirements.
All software has specific requirements within the application. These requirements explain how the software should function. Rapid application development uses prototypes to describe the implementation of a requirement.
There are many benefits to using a prototyping technique to develop software. This gives the users an early preview of how a system will behave. Prototype screens can be created much faster then a fully developed application. These screens can actually be designed and ready for viewing in only a few hours. This instant feedback loop gives the users the opportunity to change the requirements before any real development begins.
Software development is a complex undertaking that requires many hours to complete. This process requires the integration of multiple teams and resources. Rapid application development enables the developer an opportunity to see an application before it is truly developed.
One of the drawbacks to using prototyping is that customers often have to wait much longer for a finished product than they had to wait for the prototype software. In a typical RAD session, software developers can create full prototype systems with multiple screens in about three to six weeks. After the prototyping effort is completed the users will need to wait many months to have working software. A prototype does not require security, networks, database, and hardware. It only works in the development environment where it was created.