Bambang Sulistyanto
5 min readOct 12, 2020

--

P5 — RAD (Rapid Application Development)

NIM : 205411159

Nama : Bambang Sulistyanto

Matakuliah : Teknologi Mobile

Kelas K1-Prodi S1 Teknik Informatika-STMIK AKAKOM

Rapid Application Development (RAD) is a form of agile software development methodology that prioritizes rapid prototype releases and iterations. Unlike the Waterfall method, RAD emphasizes the use of software and user feedback over strict planning and requirements recording.

The benefits and advantages of RAD:

  • Enhanced flexibility and adaptability as developers can make adjustments quickly during the development process.
  • Quick iterations that reduce development time and speed up delivery.
  • Encouragement of code reuse, which means less manual coding, less room for errors, and shorter testing times.
  • Increased customer satisfaction due to high-level collaboration and coordination between stakeholders (developers, clients, and end users).
  • Better risk management as stakeholders can discuss and address code vulnerabilities while keeping development processes going.
  • Fewer surprises as, unlike the Waterfall method, RAD includes integrations early on in the software development process.

4 steps or phases in RAD

  1. Planning Requirements

During this initial stage designers, developers, and users come to a rough agreement on project scope and application requirements, so that future stages with prototyping can begin.

A basic breakdown of this stage involves:

  • Researching the current problem
  • Defining the requirements for the project
  • Finalizing the requirements with each stakeholder’s approval

It is important that everyone has the opportunity to evaluate the goals and expectations for the project and weigh in. By getting approval from each key stakeholder and developer, teams can avoid miscommunications and costly change orders down the road.

2. User Design

User feedback is gathered with heavy emphasis on determining the system architecture. This allows initial modeling and prototypes to be created. This step is repeated as often as necessary as the project evolves. During this phase, clients work hand in hand with developers to ensure their needs are being met at every step in the design process. It’s almost like customizable software development where the users can test each prototype of the product, at each stage, to ensure it meets their expectations. All the bugs and kinks are worked out in an iterative process. The developer designs a prototype, the client (user) tests it, and then they come together to communicate on what worked and what didn’t. This method gives developers the opportunity to tweak the model as they go until they reach a satisfactory design. Both the software developers and the clients learn from the experience to make sure there is no potential for something to slip through the cracks.

3. Rapid Construction

Once basic user and system design has begun, the construction phase is where most of the actual application coding, testing, and integration takes place. Along with User Design, the Rapid Construction phase is repeated as often as necessary, as new components are required or alterations are made to meet the needs of the project.

The phase breaks down into several smaller steps:

  • Preparation for rapid construction
  • Program and application development
  • Coding
  • Unit, integration, and system testing

The software development team of programmers, coders, testers, and developers work together during this stage to make sure everything is working smoothly and that the end result satisfies the client’s expectations and objectives. This third phase is important because the client still gets to give input throughout the process. They can suggest alterations, changes, or even new ideas that can solve problems as they arise.

4. Cutover

The final Cutover (or Transition) stage allows the development team time to move components to a live production environment, where any necessary full-scale testing or team training can take place. This is the implementation phase where the finished product goes to launch. It includes data conversion, testing, and changeover to the new system, as well as user training.

Pros of Rapid Application Development

  • Measurable Progress

With frequent iterations, components, and prototypes coming down the pipe, progress on the overall project, as well as lesser segments, can be easily measured and evaluated to maintain schedules and budgets.

  • Quickly Generate Productive Code

As a larger percentage of active software developers move into multi-discipline roles (i.e. full-stack developers), a RAD methodology allows skilled team members to quickly produce prototypes and working code to illustrate examples that might otherwise take weeks or months to see the light of day using a slower development technique.

  • Compartmentalization of System Components

Much in the same way that object-oriented programming practices keep objects and components quarantined from one another, RAD inherently has the same beneficial impact on the components generated during development. By forcing designers and developers to create components that are functional and independent on their own, to be used in an iterative release or prototype, each element within the overall software system is compartmentalized and therefore easily modified as the needs of the software evolve.

  • Rapid, Constant User Feedback

As discussed above, obtaining relevant user feedback during development is invaluable. RAD methodologies allow for near-constant user interfacing and feedback through frequent iterations and prototype releases, giving the entire team priceless evaluation and criticism when it’s needed most.

  • Early Systems Integration

While most waterfall method software projects must, by their very nature, wait until the tail end of the lifecycle to begin integrations with other systems or services, a rapidly developed application becomes integrated almost immediately. By requiring early integrations within a prototype, a RAD system quickly identifies any errors or complications within integrations and forces immediate resolutions.

  • Simple Adaptability

During development, software is a fairly malleable form. Since code can be changed that dramatically alters the entire system or generates new components, it is to the advantage of the development team to make use of this flexibility early and often, by iterating and prototyping potential concepts or ideas throughout development.

Cons of Rapid Application Development

  • Requires Modular Systems

Since each component within the system should be iterable and testable on its own accord, the overall system design when using RAD requires that each component be modular, allowing elements to be swapped in and out or altered by a variety of team members.

  • Difficulty Within Large-Scale Projects

While rapid application development methods lead to far greater flexibility during the design and development process, it will also tend to reduce control and restrictions. While this isn’t inherently negative, properly managing this added flexibility and volatility within the scope of the whole project can be difficult for larger applications.

  • Demands Frequent User Interfacing

Gaining user insight and feedback early and often is certainly a benefit from a design perspective, but this double-edged sword requires that the team be both willing and able to communicate with users on a much more frequent basis, in comparison to a typical waterfall development method.

  • Depends Upon Skilled Developers

While many developers these days are multi-disciplined, it is worth noting that use of RAD techniques does require a greater overall skill across the development team, in order to quickly adapt as the system and components evolve.

--

--