3)Rapid Application
Development Model (RAD)
3)Rapid Application Development Model (RAD)
• The RAD model or Rapid Application Development model is a type of
software development methodology that emphasizes quick and
iterative release cycles, primarily focusing on delivering working
software in shorter timelines.
• Unlike traditional models such as the Waterfall model, RAD is
designed to be more flexible and responsive to user feedback and
changing requirements throughout the development process.
Rapid Application Development Model (RAD)
• IBM first proposed the Rapid Application Development or RAD Model
in the 1980s.
• The RAD model is a type of incremental process model in which there
is a concise development cycle.
• The RAD model is used when the requirements are fully understood
and the component-based construction approach is adopted.
• Various phases in RAD are Requirements Gathering,
Analysis and Planning, Design, Build or Construction, and
finally Deployment.
Rapid Application Development Model (RAD)
• The critical feature of this model is the use of powerful development
tools and techniques.
• A software project can be implemented using this model if the
project can be broken down into small modules wherein each module
can be assigned independently to separate teams.
• These modules can finally be combined to form the final product.
• Development of each module involves the various basic steps as in
the waterfall model i.e. analyzing, designing, coding, and then testing,
etc. as shown in the figure.
RAD
• Another striking feature of this model is a short period i.e. the time
frame for delivery(time-box) is generally 60-90 days.
• Multiple teams work on developing the software system using the
RAD model parallelly.
• The use of powerful developer tools such as JAVA, C++, Visual
BASIC, XML, etc. is also an integral part of the projects.
RAD phases:
• Requirements Planning
• User Description
• Construction
• Cutover
RAD phases
• Requirements Planning - This involves the use of various techniques
used in requirements elicitation like brainstorming, task analysis, form
analysis, user scenarios, FAST (Facilitated Application Development
Technique), etc. It also consists of the entire structured plan
describing the critical data, methods to obtain it, and then processing
it to form a final refined model.
• User Description - This phase consists of taking user feedback and
building the prototype using developer tools. In other words, it
includes re-examination and validation of the data collected in the
first phase. The dataset attributes are also identified and elucidated in
this phase.
RAD phases
• Construction - In this phase, refinement of the prototype and delivery
takes place. It includes the actual use of powerful automated tools to
transform processes and data models into the final working product.
All the required modifications and enhancements are to be done in
this phase.
• Cutover - All the interfaces between the independent modules
developed by separate teams have to be tested properly. The use of
powerfully automated tools and subparts makes testing easier. This is
followed by acceptance testing by the user.
• The process involves building a rapid prototype, delivering it to the
customer, and taking feedback. After validation by the customer, the
SRS document is developed and the design is finalized.
When to use the RAD Model?
• Well-understood Requirements: When project requirements are stable and transparent,
RAD is appropriate.
• Time-sensitive Projects: Suitable for projects that need to be developed and delivered
quickly due to tight deadlines.
• Small to Medium-Sized Projects: Better suited for smaller initiatives requiring a
controllable number of team members.
• High User Involvement: Fits where ongoing input and interaction from users are essential.
• Innovation and Creativity: Helpful for tasks requiring creative inquiry and innovation.
• Prototyping: It is necessary when developing and improving prototypes is a key
component of the development process.
• Low technological Complexity: Suitable for tasks using comparatively straightforward
technological specifications.
Objectives of Rapid Application Development
Model (RAD)
• 1. Speedy Development
• Accelerating the software development process is RAD's main goal.
RAD prioritizes rapid prototyping and iterations to produce a working
system as soon as possible. This is especially helpful for projects when
deadlines must be met.
• 2. Adaptability and Flexibility
• RAD places a strong emphasis on adapting quickly to changing needs.
Due to the model's flexibility, stakeholders can modify and improve
the system in response to changing requirements and user input.
Objectives of Rapid Application Development
Model (RAD)
• 3. Stakeholder Participation
• Throughout the development cycle, RAD promotes end users and
stakeholders' active participation. Collaboration and frequent
feedback make it possible to make sure that the changing system
satisfies both user and corporate needs.
• 4. Improved Interaction
• Development teams and stakeholders may collaborate and
communicate more effectively thanks to RAD. Frequent
communication and feedback loops guarantee that all project
participants are in agreement, which lowers the possibility of
misunderstandings.
Objectives of Rapid Application Development
Model (RAD)
• 5. Improved Quality via Prototyping
• Prototypes enable early system component testing and visualization
in Rapid Application Development (RAD). This aids in spotting any
problems, confirming design choices, and guaranteeing that the
finished product lives up to consumer expectations.
• 6. Customer Satisfaction
• Delivering a system that closely satisfies user expectations and needs
is the goal of RAD. Through rapid delivery of functioning prototypes
and user involvement throughout the development process, Rapid
Application Development (RAD) enhances the probability of customer
satisfaction with the final product.
Advantages of Rapid Application Development
Model (RAD)
• The use of reusable components helps to reduce the cycle time of
the project.
• Feedback from the customer is available at the initial stages.
• Reduced costs as fewer developers are required.
• The use of powerful development tools results in better quality
products in comparatively shorter periods.
Advantages of Rapid Application Development
Model (RAD)
• The progress and development of the project can be measured
through the various stages.
• It is easier to accommodate changing requirements due to the short
iteration time spans.
• Productivity may be quickly boosted with a lower number of
employees.
Disadvantages of Rapid application development
model (RAD)
• The use of powerful and efficient tools requires highly skilled
professionals.
• The absence of reusable components can lead to the failure of the
project.
• The team leader must work closely with the developers and
customers to close the project on time.
• The systems which cannot be modularized suitably cannot use this
model.
• Customer involvement is required throughout the life cycle.
Disadvantages of Rapid application development
model (RAD)
• It is not meant for small-scale projects as in such cases, the cost of
using automated tools and techniques may exceed the entire budget
of the project.
• Not every application can be used with RAD.
•
Applications of Rapid Application Development
Model (RAD)
• This model should be used for a system with known requirements and requiring a short
development time.
• It is also suitable for projects where requirements can be modularized and reusable
components are also available for development.
• The model can also be used when already existing system components can be used in
developing a new system with minimum changes.
• This model can only be used if the teams consist of domain experts. This is because
relevant knowledge and the ability to use powerful techniques are a necessity.
• The model should be chosen when the budget permits the use of automated tools
and techniques required.
Drawbacks of Rapid Application Development
• It requires multiple teams or a large number of people to work on scalable
projects.
• This model requires heavily committed developers and customers. If
commitment is lacking then RAD projects will fail.
• The projects using the RAD model require heavy resources.
• If there is no appropriate modularization then RAD projects fail. Performance
can be a problem for such projects.
• The projects using the RAD model find it difficult to adopt new technologies.
This is because RAD focuses on quickly building and refining prototypes using
existing [Link] to new technologies can disrupt this process, making it
harder to keep up with the fast pace of development. Even with skilled
developers and advanced tools, the rapid nature of RAD leaves little time to
learn and integrate new technologies smoothly.