The concept is that end users can create much better feedback when analyzing a live system, instead of working strictly with documentation. RAD-based development cycles have led to a lower degree of rejection once the application is put into production, but this success most often comes at the cost of a dramatic overruns in project costs and schedule.
The RAD approach was made possible with significant advances in software development environments to permit rapid creation and change of displays and other user interface features. The end user is allowed to work with the displays online, as though in a manufacturing environment. This leaves little to the imagination, and a substantial number of mistakes are caught using this procedure.
The down side to RAD is the propensity of the end user to induce scope creep to the development effort. Since it appears so simple for the developer to generate the simple screen, it has to be just as simple to add a widget or two. In many Rapid Application Development model lifecycle failures, the end users and programmers were caught in an unending cycle of improvements, together with the users asking for more and more and the programmers seeking to satisfy them.
Because of this, the software development group doesn’t use a pure RAD approach, but rather combines limited prototyping in with design and requirements development during a traditional waterfall lifecycle. The prototypes developed are especially focused on a subset of the program, and don’t provide an integrated interface. The prototypes are used to confirm requirements and design components, and the development of further requirements or the inclusion of user interface options not easily supported by the development environment is actively discouraged.
Benefits of RAD
RAD reduces the development time and reusability of components help to accelerate development.
All works are modularized so it’s easy to work with.
For big jobs RAD require highly skilled engineers in the group.
Cons of RAD
Both end customer and programmer ought to be committed to complete the system in a much abbreviated time period.
RAD is based on Object Oriented approach and if it’s hard to modularize the job the RAD might not work well.