RAD in SDLC
RAD (Rapid Application Development) Model in SDLC
RAD stand for Rapid Application Development. Rapid Application Development model is a software development process based on prototyping without any specific planning.
It focuses on input-output source and destination of the information. It emphasizes on delivering projects in small pieces; the larger projects are divided into a series of smaller projects. The main features of RAD modeling are that it focuses on the reuse of templates, tools, processes, and code.
In RAD model, there is less attention paid to the planning and more priority is given to the development tasks. It targets at developing software in a short span of time. SDLC RAD modeling has following phases;
SDLC RAD Modeling Phases
- Business Modeling
- Data Modeling
- Process Modeling
- Application Generation
- Testing and Turnover
Business Modeling
On basis of the flow of information and distribution between various business channels, the product is designed
Data Modeling
The information collected from business modeling is refined into a set of data objects that are significant for the business
Process Modeling
The data object that is declared in the data modeling phase is transformed to achieve the information flow necessary to implement a business function
Application Generation
Automated tools are used for the construction of the software, to convert process and data models into prototypes
Testing and Turnover
As prototypes are individually tested during every iteration, the overall testing time is reduced in RAD.
When to use RAD Methodology?
- When a system needs to be produced in a short span of time (2-3 months)
- When the requirements are known
- When the user will be involved all through the life cycle
- When technical risk is less
- When there is a necessity to create a system that can be modularized in 2-3 months of time
- When a budget is high enough to afford designers for modeling along with the cost of automated tools for code generation
Advantages of RAD Model
- Flexible and adaptable to changes
- It is useful when you have to reduce the overall project risk
- It is adaptable and flexible to changes
- It is easier to transfer deliverables as scripts, high-level abstractions and intermediate codes are used
- Due to code generators and code reuse, there is a reduction of manual coding
- Due to prototyping in nature, there is a possibility of lesser defects
- Each phase in RAD delivers highest priority functionality to client
- With less people, productivity can be increased in short time
Disadvantages of RAD Model
- It can't be used for smaller projects
- Not all application is compatible with RAD
- When technical risk is high, it is not suitable
- If developers are not committed to delivering software on time, RAD projects can fail
- Reduced features due to time boxing, where features are pushed to a later version to finish a release in short period
- Reduced scalability occurs because a RAD developed application begins as a prototype and evolves into a finished application
- Progress and problems accustomed are hard to track as such there is no documentation to demonstrate what has been done
- Requires highly skilled designers or developers