Rapid Application Development
Rapid application development (RAD) is a software development technique that emphasizes short development times (30-90 days). The technique is inappropriate for developing complex applications or applications that quickly process significant volumes of transactions, such as batch processing environments. Organizations may appropriately use the technique to develop or redesign lower-risk applications, or less complex applications such as transactional websites that do not involve a high degree of throughput. Additionally, depending on an organization's risk tolerance and the mission-critical designation of an application, organizations may use RAD techniques during the design and development phases within a structured development methodology.
Management should consider the functional complexity and security risks of an application when selecting a development methodology. Management should ensure that the development technique selected is appropriate for managing the complexity and risks of the application being developed.
The RAD process may involve only three phases: initiation, development, and implementation. The short duration of RAD projects necessitates the quick identification of functional requirements, which should remain largely unchanged during the development process. Typically, managers assign end users full time to a project and empower them to make key design decisions. However, they normally consult project specialists such as database administrators, network technicians, and system programmers, when they make key decisions.
End users and RAD team members usually create functional designs using prototyping tools in an iterative process. They create, review, and revise the prototypes as needed until they approve a final design.
RAD methodologies often employ object-oriented programming techniques that take advantage of reusable program objects. In the case of redesigned applications, designers and developers select objects based on the function they perform and re-link them to other reusable or newly created objects to form a new application.
Testing often occurs concurrently with the development of functional features. Organizations may conduct testing and implementation procedures quickly or in a structured process similar to SDLC testing and implementation phases. The speed and structure of testing and implementation procedures depends on an organization's risk tolerance, an application's mission-critical designation, and a project's established deadlines.
Developers are increasingly creating web applications using RAD techniques. Numerous CASE-type products (for example, application program interfaces) are available that developers can use to combine pre-designed object-oriented functions to form unified applications.
Appropriate standards and controls should be in place to ensure:
- Organizations only use RAD techniques when appropriate;
- Management includes adequate security and control features in all developed applications;
- Quality assurance personnel verify that security and control features (commensurate with risk levels) exist and function as intended;
- End users are appropriately involved throughout RAD projects; and
- Project managers closely monitor project activities.
Computer-Aided Software Engineering