Which of the below is a traditional methodology used to develop maintain and replace information systems * Prototyping Ooad Rad SDLC?


The RAD (Rapid Application Development) model is based on prototyping and iterative development with no specific planning involved. The process of writing the software itself involves the planning required for developing the product.

Rapid Application Development focuses on gathering customer requirements through workshops or focus groups, early testing of the prototypes by the customer using iterative concept, reuse of the existing prototypes (components), continuous integration and rapid delivery.

What is RAD?

Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. A prototype is a working model that is functionally equivalent to a component of the product.

In the RAD model, the functional modules are developed in parallel as prototypes and are integrated to make the complete product for faster product delivery. Since there is no detailed preplanning, it makes it easier to incorporate the changes within the development process.

RAD projects follow iterative and incremental model and have small teams comprising of developers, domain experts, customer representatives and other IT resources working progressively on their component or prototype.

The most important aspect for this model to be successful is to make sure that the prototypes developed are reusable.

RAD Model Design

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

Following are the various phases of the RAD Model −

Business Modelling

The business model for the product under development is designed in terms of flow of information and the distribution of information between various business channels. A complete business analysis is performed to find the vital information for business, how it can be obtained, how and when is the information processed and what are the factors driving successful flow of information.

Data Modelling

The information gathered in the Business Modelling phase is reviewed and analyzed to form sets of data objects vital for the business. The attributes of all data sets is identified and defined. The relation between these data objects are established and defined in detail in relevance to the business model.

Process Modelling

The data object sets defined in the Data Modelling phase are converted to establish the business information flow needed to achieve specific business objectives as per the business model. The process model for any changes or enhancements to the data object sets is defined in this phase. Process descriptions for adding, deleting, retrieving or modifying a data object are given.

Application Generation

The actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.

Testing and Turnover

The overall testing time is reduced in the RAD model as the prototypes are independently tested during every iteration. However, the data flow and the interfaces between all the components need to be thoroughly tested with complete test coverage. Since most of the programming components have already been tested, it reduces the risk of any major issues.

The following illustration describes the RAD Model in detail.

Which of the below is a traditional methodology used to develop maintain and replace information systems * Prototyping Ooad Rad SDLC?

RAD Model Vs Traditional SDLC

The traditional SDLC follows a rigid process models with high emphasis on requirement analysis and gathering before the coding starts. It puts pressure on the customer to sign off the requirements before the project starts and the customer doesn’t get the feel of the product as there is no working build available for a long time.

The customer may need some changes after he gets to see the software. However, the change process is quite rigid and it may not be feasible to incorporate major changes in the product in the traditional SDLC.

The RAD model focuses on iterative and incremental delivery of working models to the customer. This results in rapid delivery to the customer and customer involvement during the complete development cycle of product reducing the risk of non-conformance with the actual user requirements.

RAD Model - Application

RAD model can be applied successfully to the projects in which clear modularization is possible. If the project cannot be broken into modules, RAD may fail.

The following pointers describe the typical scenarios where RAD can be used −

  • RAD should be used only when a system can be modularized to be delivered in an incremental manner.

  • It should be used if there is a high availability of designers for Modelling.

  • It should be used only if the budget permits use of automated code generating tools.

  • RAD SDLC model should be chosen only if domain experts are available with relevant business knowledge.

  • Should be used where the requirements change during the project and working prototypes are to be presented to customer in small iterations of 2-3 months.

RAD Model - Pros and Cons

RAD model enables rapid delivery as it reduces the overall development time due to the reusability of the components and parallel development. RAD works well only if high skilled engineers are available and the customer is also committed to achieve the targeted prototype in the given time frame. If there is commitment lacking on either side the model may fail.

The advantages of the RAD Model are as follows −

  • Changing requirements can be accommodated.

  • Progress can be measured.

  • Iteration time can be short with use of powerful RAD tools.

  • Productivity with fewer people in a short time.

  • Reduced development time.

  • Increases reusability of components.

  • Quick initial reviews occur.

  • Encourages customer feedback.

  • Integration from very beginning solves a lot of integration issues.

The disadvantages of the RAD Model are as follows −

  • Dependency on technically strong team members for identifying business requirements.

  • Only system that can be modularized can be built using RAD.

  • Requires highly skilled developers/designers.

  • High dependency on Modelling skills.

  • Inapplicable to cheaper projects as cost of Modelling and automated code generation is very high.

  • Management complexity is more.

  • Suitable for systems that are component based and scalable.

  • Requires user involvement throughout the life cycle.

  • Suitable for project requiring shorter development times.

A software development life cycle (SDLC), also known as an application development life cycle, is a method for designing, developing, testing, and delivering software. It is made up of a series of phases, each of which builds on the results of the previous one.

The SDLC is an essential component of any software project management process. Most of the time, the project management outcome is determined by the selected software development life cycle. Many SDLC models take a methodical approach to development, such as Traditional Software Development, while some do not, focusing instead on a fast and flexible approach.

Evolution of the SDLC

The SDLC has taken numerous shapes since the first software was created and continues to do so. This occurred primarily due to changing environmental conditions and, more recently, because of digital transformation. The most popular traditional Software Development Lifecycle models developed are Waterfall, Iterative, Spiral, and V-Shaped. All models developed during this time take a distinct approach to the application development process.

With the development of the digital workforce and agile operations, today's business demands have changed. Accordingly, the SDLC continued to evolve, emphasizing agility to decrease time-to-market by developing a minimum viable product whilst putting the client at the center of the project. Whereas the traditional SDLC model is still present, emerging models, such as rapid application development (RAD), are reshaping the design of modern businesses to incorporate agile procedures.

When talking about the traditional SDLC, we often refer to the Waterfall approach because it is considered the earliest and most widely utilized methodology. Rapid Application Development is one of the most recent models developed to address the drawbacks of the previous methodologies.

Because of the many differences between Waterfall and RAD, the most appropriate methodology may be determined by various criteria. Let us look at when companies should use each of the two software development techniques.

Traditional SDLC – Waterfall

In the software development life cycle, the Waterfall model is used to design a system linearly and sequentially. This model is known as Waterfall because it advances in a systematic downward manner from one phase to the next. The output of one step is used as the input for the following one.

One of the model's key features is that each phase must be completed before the next one can begin, and the phases must not overlap. The sequential phases of the Waterfall model are:

  1. Requirement Gathering and Analysis
  2. System Design
  3. Implementation
  4. Integration and Testing
  5. System Deployment
  6. Maintenance

Waterfall model

As previously mentioned, phases do not overlap in the Waterfall model, which often leads to inflexibility, which can cause issues with the software development process because it does not offer feedback between the development phases.  The requirements are fixed in stone from the start. No newly found knowledge can be used to improve the requirement once the analysis has been completed.

Similarly, once the design is complete, the analysis cannot be modified without significant consequences. Technology advances, requirements alter, and the individuals who previously approved the criteria have often moved on to better employment by the time a project is completed.

The Waterfall model is suitable for the following situations:

  • Requirements are well-documented and well-defined.
  • The definition of the product is consistent.
  • Technology is well-understood and unchanging.
  • There are no unclear criteria.
  • The product is supported by many resources with the necessary knowledge.
  • The project is not long.
  • The speed of project delivery is not a priority.
  • The client does not want to be included in the development process but wants to be informed at the start and given a working product at the conclusion.

Rapid Application Development

Rapid application development (RAD), also known as rapid application building (RAB), is a general term for adaptive software development approaches.

RAD, in contrast to the previously mentioned Waterfall, emphasizes the use of software and user input. RAD represents a radical shift in software development and in how software is designed, built, and delivered. In a traditional SDLC, the finished product might take months – if not years – to reach the consumer, which is in today’s market often unacceptable. On the other hand, in rapid application development, the product is continually demonstrated to the user to provide the required input to help enhance it.

Generally, RAD is suited for developing software that is driven by user interface requirements. It is an agile project management strategy whose main advantage is fast project turnaround, making it an attractive choice for developers who prefer fast-paced environments.

Apart from a shorter time-to-market, one of the most significant advantages of RAD is client involvement.

RAD emphasizes incremental and iterative delivery of functioning models to the client instead of following a rigid process model like the traditional SDLC. Consequently, the client receives a quick response and is involved throughout the development process. Unlike traditional methodologies, a rapid prototype allows the end-user to use the application and give feedback, rather than attempting to provide an abstract evaluation of an application the user never tried testing.

Some of the key benefits of rapid application development are:

  • Better quality. High-level collaboration is why software can be more usable and more focused on business problems significant to end-users.
  • Quick iterations that speed up delivery.
  • Increased reusability of components.
  • More projects completed on time and within budget. By developing incremental units, the chances for more significant failures are reduced to a minimum.
  • Flexibility. With rapid application development, developers can more easily make the required adjustments during the development phase.

Like every other SDLC, Rapid Application Development is beneficial only in certain situations. Some of them are:

  • When a system needs to be built in a short amount of time (e.g., 2-3 months).
  • When the specifications are known.
  • When the client wants to be involved throughout the whole life cycle.
  • When it is necessary to build a system that can be modularized in a short amount of time (e.g., 2-3 months).
  • When the budget allows for the hiring of modelers and the purchase of automated code generation technologies.

Following the above-mentioned situations, the RAD model is not suitable in the following cases:

  • The client does not want to be included in the development process.
  • Lack of technically strong team members for business requirements identification and highly-skilled developers.
  • The existing system is not scalable.
  • The project is large and unique – the RAD model is based on prebuilt components. In the case of a unique project, there is the possibility that these components will not be able to be used, which is why the time-to-market will not be accelerated.

What to choose

It is imperative to select the appropriate model for building a software product or application because the entire product development and testing activities are carried out based on the model.

The first notion you should keep in mind is that each method is suited for different projects, requirements, and settings. For example, choose Waterfall if you manage a simple and easy project with needs that do not have to be altered. On the other hand, if you have a project that needs to be done quickly while maintaining its quality, and there is a possibility of requirement changes during the development, choose RAD.

If we sum up all the above information in one table, we get the following:

Traditional SDLCRAD
Stages are well-defined.Stages are not well-defined.
App development is done in an inflexible
and linear direction.
Because the technique is iterative,different phases of app development

may be evaluated and repeated.

Prototyping is difficult.Prototyping is a standard part
of the development.
It is mandatory to know all the requirements
before starting the project.
It is not necessary to know
all requirements.
Changes are difficult to implement.Easy to accommodate changes.
Extensive documentation is necessary.Minimal documentation is required.
Roles are strictly defined.Small teams can be assigned to
individual models.
Recommended for projects with a
longer development cycle with high costs.
Suitable for shorter projects.
Low maintenance cost.
Linear and predictive.Incremental and iterative.
Elements are not reusable and
have to be designed from scratch.
Use of predefined components that are
already tested and ready-to-use.

For more information about Rapid Application Development, download our white paper.