The traditional software development cycle follows a rigid sequence of steps
with a formal sign-off at the completion of each. A complete, detailed
requirements analysis is done that attempts to capture the system requirements
in a Requirements Specification. Users are forced to "sign-off" on the
specification before development proceeds to the next step. This is followed by
a complete system design and then development and testing.
But, what if the design phase uncovers requirements that are technically
unfeasible, or extremely expensive to implement? What if errors in the design
are encountered during the build phase? The elapsed time between the initial
analysis and testing is usually a period of several months. What if business
requirements or priorities change or the users realize they overlooked critical
needs during the analysis phase? These are many of the reasons why software
development projects either fail or donít meet the userís expectations when
RAD is a methodology for compressing the analysis, design, build, and test
phases into a series of short, iterative development cycles. This has a number
of distinct advantages over the traditional sequential development model.
RAD projects are typically staffed with small integrated teams comprised of
developers, end users, and IT technical resources. Small teams, combined with
short, iterative development cycles optimizes speed, unity of vision and
purpose, effective informal communication and simple project management.