RAD (rapid application development) is a concept that products can be developed faster and of higher quality through:
- Gathering requirements using workshops or focus groups
- Prototyping and early, reiterative user testing of designs
- The re-use of software components
- A rigidly paced schedule that defers design improvements to the next product version
- Less formality in reviews and other team communication
Some companies offer products that
provide some or all of the tools for RAD software development. (The
concept can be applied to hardware development as well.) These products
include requirements gathering tools, prototyping tools, computer-aided
software engineering tools, language development environments such as
those for the Java platform, groupware for communication among development members, and testing tools. RAD usually embraces object-oriented programming methodology, which inherently fosters software re-use. The most popular object-oriented programming languages, C++ and Java, are offered in visual programming packages often described as providing rapid application development.
Strengths of RAD:
a) Reduced development time.
b) Increases reusability of components
c) High modularization achieves a more flexible and maintainable system
d) Quick initial reviews occur.
Encourages customer feedback
Integration from very beginning solves a lot of integration issues.
Business owners actively participate
Weaknesses of RAD:
a) Depends on strong team and individual performances for identifying business requirements.
b) Only system that can be modularized can be built using RAD
c) Requires highly skilled developers/designers.
d) High dependency on modeling skills
e) Inapplicable to cheaper projects as cost of modeling and automated code generation is very high for cheaper budgeted projects to befit.