It’s a system development methodology, developed to respond to the needs of delivery system very fast.
First developed in mid 1970s by New York Telephone Co Systems Development center under the guidance of Dan Gielan. RAD term was originally used to represent software development process. In 1990, James Martin documented interpretation of the methodology in more broader sense that had variety of methods and speedy application development approach.
Grew out of convergence of two trends:
Increased demand of speed of doing business
Ready availability of high-powered technological capabilities and tools
Goal:
To rapidly analyse business process
To design a viable system to meet user’s requirement through collaboration
To provide the finished product faster
It’s a strategy of developing information systems. This is agile methodology, some of similarities and differences
Its incremental approach, building upon something and making it better.
Components and functions are built in parallel with each other
Developments have very tight timeframe, product that is usable quickly
Mini projects are pulled together to a working prototype
Feedback is critical, helps refine prototype.
Incremental and iterative in nature until prototype meets user requirement
Four phases: Phases are same, but shorter and combined to produce more faster and streamlined development technique:
Outlining requirements (Analysis and quick design): combines elements of system planning and system analyses phases of the SPLC. This includes discussion between users and project team to agree on specifications, scope, system requirement and understanding of constraints.
Prototype cycles (Demonstrate, Refine and Develop): This phase involve development of prototype based on user specification, and interaction with use to validate and feedback. This is an iterative process and key to success. Another important factor is Segmenting the product in multiple segments, almost as independent product that will talk to each other, treated as parallel process and different project teams work independently same time. Different project team engaged work on building the final product out of working prototype.
Development phase: Earlier phases shortens system functionality and user interface requirement while in the development phase its task are programming, application development, coding, unit integration, and system testing.
Cutover phase – Final phase of testing, deployment, and user training.
Relies on five key factors:
Extensive user involvement - customer and developers interact, so that customer can share requirements to the developer, and get specification
Joint application design sessions
Prototyping
Integrated CASE tools
Code generators
Deliverable's and outcomes:
Application being developed
A description of users and business process requirements
Logical and physical design
Application construction and implement with a plan for its continued maintenance and support
Advantages:
Reduced time to develop
Increase reusability of components
Encourages customer feedback
Tackling integration early avoids later issues
Disadvantages:
Need strong team to identify business requirements
Communication – As its involves multiple team, they is a heavy requirement to communicate and engage along the lifecycle.
To be able to segment and modularize, some products can not be segmented
Dependency on modelling skills, one should have data, activity and process modelling capability to make sure all the modules meet end result
Requires high skilled developers and designers as teams work independently
When to use RAD:
Clear well-defined scope and business objective
Product required in 2-3 months and can be segmented
High availability of design specialists and developers to position them into projects
Large budget due to requirement and time limitation
If Technical architecture is defined and clear, key technological components are in place and tested
Reasonable and well within capabilities of technologies in use
Resources available with required business knowledge, available and can work on the project, need quick and correct decisions being made
Mostly with large organisation, where they have project teams and skills available. Also, for products that need to go out of door quickly. Sometimes market competition influences use of this methodology with a goal of Quick to market and/or grab market share early on.