SDLC – RAD Model

SDLC – RAD Model

The Rapid Application Development (RAD) model is based on prototyping and iterative development with no specific planning involved. With this model, planning takes a backseat to rapid prototyping.

The necessary primary data in the RAD model is gathered via workshops, focus groups, and early prototype demos as well as by reusing existing prototypes.

The functional modules in the RAD software development life cycle model are developed in parallel as prototypes and are integrated to deliver the complete product fast. Developed prototypes are likely to be reusable.

The RAD model distributes the analysis, design, build, and test phases into a series of short, iterative development cycles.

Phases of the RAD model:

  • Business modeling — Models the flow of information and the distribution of information between various business channels. This part is needed to find vital information for the business and define how it can be obtained, how and when the information is processed, and what factors are driving the successful flow of information.
  • Data modeling — Data from the previous phase is processed in order to form the necessary datasets with identified and established attributes.
  • Process modeling — Data sets from the previous stage are converted into process models to achieve business objectives and are given process descriptions for adding, deleting, retrieving, or modifying every data object.
  • Application generation — The system is built and coding is done using automation tools to convert process and data models into actual prototypes.
  • Testing and turnover — The majority of prototypes are independently tested during every iteration. Developers only test the data flow and the interfaces between all components during this phase.

Advantages of RAD SDLC model:

  • Can accommodate changing requirements
  • Easy to measure progress
  • Ability to cut the iteration time with powerful RAD tools
  • Better productivity with fewer team members involved, compared to other SDLCs
  • Faster development
  • Better component reusability
  • Earlier initial reviews
  • Better chance to get customer feedback

Disadvantages of RAD SDLC model:

  • Requires strong technical and design teams
  • Only good for systems that can be modularized
  • A lot of dependency on modeling
  • High cost of modeling and automated code generation
  • Complicated management
  • Only suitable for component-based and scalable systems
  • A lot of user involvement is needed during the whole life cycle

Best for:

  • Modularized systems delivered in an incremental manner
  • Design-based projects with a lot of strong modeling
  • Projects with automated code generating functionality
  • Projects with dynamically changing requirements for which small iterations need to be presented every 2 to 3 months