2. Introduction:
• The rapid application development model was
proposed in the early nineties in an attempt to
overcome the rigidity of the waterfall model and its
derivatives that made it difficult to accomodate any
change request from the customer.
• In this model, prototypes are constructed and
incrementally features are developed and delivered to
the customer.
3. Why RAD?
In the iterative waterfall model, the cost of accomodating changes
made by the customer is extremely high and it takes a long time to
have a good solution in place that could reasonably meet the
requirements made by them.
The RAD model tries to overcome this problem by inviting and
incorporating customer feedback on successively developed and
refined prototypes.
4. Working of RAD:
• Development takes place in a series of short cycles or
iterations .
• During each time-box a prototype style software for some
functionality is developed which is evaluated by the
customer and based on their feedback it is
refined/improved.
• Minimal use of planning and heavy reuse of existing code
through rapid prototyping results in decrease in
development time and cost and increased flexibilty to
incorporate changes
5. When it's applicable:
• Customised software: In customised software development projects
substantial reuse is usually made of code from pre-existing software.
• Non-critical software: beacause it suggests a quick and dirty software
should first be developed which is refined into final one . Therefore it
is far from optimal.
• Highly constrained project schedule: it reduces development time at
the expense of good documentation, performance and reliabilty.
• Large Software: only software supporting many features can be
incremental.
6. When it isn't:
• Generic Products: for these items reliability and optimal performance
is a topmost concern because of a competitive market which the RAD
model doesn't stand for.
• Lack of similar products: re-usability factor of RAD model shalln't be
used if the company hasn't developed similar software.
• Monolithic identity: it's difficult to divide a small software into parts
with features that can be incrementally developed and delivered.
7. In Comparison to:
• Prototyping Model: Code developed during prototype construction is
thrown away whereas in RAD its the prototype that evolves into
deliverable software.
• Iterative Waterfall Model: product funtionalities are developed
through heavy code and design reuse. Through customer feedback
after each iteration the prototype is refined making it easier to
accomodate change requests.
• Evolutionary Model: the prototype is developed in a quick and dirty
fashion. Also software is developed in much smaller increments in
RAD.