Research Paper Undergraduate 3,327 words

Rapid Application Development (RAD) Rapid

Last reviewed: June 19, 2008 ~17 min read

Rapid Application Development (RAD)

Rapid Application Development

Information Technology has become a more and more common presence within most domains of life. The business sector uses it for various purposes, such as increasing shareholder value, increasing the customer satisfaction, consolidating the market position or registering higher profits. A relevant strategy used to meet these desiderates is RAD, or the rapid application development, mostly used within web based applications destined to online commerce. The current paper will commence with a short presentation of the methodology, the concepts involved, the e-commerce application, to end with the overall advantages and limitations of RAD.

Introduction - RAD Definitions

The introduction of the rapid application development (RAD), some time in the early 1990s (James Martin, in 1991, is generally perceived as the scientist who introduces it), was an essential phase in the software development history, which increased the speed with which applications were developed, but also their capacity to better fit the customers' requirements. Additionally, with RAD, the development process could be changed and adapted along the way, which made for a very flexible development structure.

The RAD methodology is generally defined as "a software development process that allows usable systems to be built in as little as 60-90 days, often with some compromises." On the other hand, the RAD methodology is based on three essential elements:

Prototyping - this element relies on the creation of certain deliverable prototypes of the final product, which can then be gradually refined as feedback from customers and final users is obtained.

Iteration implies continuous improvement and development based on the refinement of the prototypes previously obtained.

Timeboxing is the applied managerial technology that coordinates the previous two elements and ensures that the final product is deliverable on time and to the standards required.

3. Rapid Application Development vs. Structured Systems Analysis and Design Method

Previous to the Rapid Application Development methodology, the software development industry had been dominated by non-agile processes that included the Structured Systems Analysis and Design Method and several Waterfall models. The SSADM was a static development framework based on logical data modelling or data flow modelling.

The SSADM also included several strictly determined development stages, such as the analysis of the current system previous to actual development (known as the feasibility stage), a descriptive outline with the business specifications, followed by a detailed business specification process, a logical system specification stage and the physical design of the final developed product.

The SSADM methodology was included in a larger software development methodological framework referred to as Waterfall models, mainly because one stage preceded the subsequent stage and each subsequent stage was dependent on the outcome of the previous stage. As such, no secondary stage could be completed until the previous primary stage was fully done as well. There was a strict dependency between all the development stages in the software product's cycle. The concept of sequential development is key in the waterfall models and all models based on this concept.

The main problem that waterfall models brought about was the fact that clients' feedback could generally not be incorporated in the final product until this was in the last stages of development. By that time, however, several situations could occur, such as (1) the client's specifications would have changed, especially if the product development took a longer period of time or (2) the client's input would have now implied consistent changes, which, in turn, increased financial and human resources costs.

With this, the agile software development methodology came about in an attempt to solve these problems. With a higher degree of open collaboration and higher flexibility and adaptability, the agile software development methodology encouraged communication, both within the development team and with the customer, which meant that the requirements could be better matched with the product and that the final product, with the changes along the way, reflected the customer's needs. The Rapid Application Development fitted exactly in this methodological framework.

4. Basic Concepts of RAD

Just like its name clearly implies, the rapid application development aims to increase the speed with which software programs are developed; "RAD projects have fast delivery of finished work as a primary goal." The author of Rapid Application Development with Mozilla identified five major concepts related to RAD: less time with the same effect, visual prototypes, vertical solutions, COTS software vs. home grown and finally, destructured testing.

Less time with the same effect

This particular RAD concept emphasises on that the most adequate solution to a problem is often the quickest solution. Foremost, the idea is enforced by the increased flexibility of the rapid application development, meaning that the projects can be improved in time, and the primary requirement is for a project to work. "This is an essential characteristic of RAD projects - there is no allegiance to any rigid rules. Whatever does the job fastest, wins. Even if the technique you chose isn't that beautiful, isn't that sophisticated and maybe isn't even flexible, the fact that it gets the job done is essential." As such, the effect will be the same regardless of the methodology chosen and the applications will work; in the case of RAD however, the work will be completed in less time, generating as such multiple positive effects, such as reduced costs with resource allocation or increased customer satisfaction.

Visual prototypes

McFarlane explains the visual prototypes characteristic with an analogy between software applications and the human influence. In this order of ideas, he states that it takes considerable amounts of time for a software engineer to become accustomed with the interface of the application. Only after the accommodation has occurred will the engineer be able to program. In the case of RAD methodologies, the user is able to configure the interface several times in order to be most comfortable with it. Ergo, the visual prototypes characteristic enhances the flexibility of the applications and methodologies used, increasing as such the satisfaction and creativity of the software engineers.

Then, this particular characteristic is not only beneficial for the developers, but also for the final client, who can request a particular user friendly interface, generally adapted to their unique characteristics and requirements. "The use of videos, story boards and prototypes demands that the final software has a smooth functionality and an easy-to-use interface." In other words, the visual feature of rapid application development not only eases the work of programmers, but also increases the satisfaction felt by end consumers.

Vertical solutions

The characteristic of vertical solutions is explained in the meaning that the RAD projects "used to build products that have a narrow purpose, whether it be a museum catalogue or a stock analysis package. Those products are so-called vertical solutions. There is usually no need to make the product so flexible it can be applied to other uses. That can be a later goal if the product works as it is." In other words, the RAD projects are developed with a specific task and to meet a certain established goal. In time, they can be further developed vertically to meet the same or highly similar goals, but they will not diverge significantly from the initial objective. For instance, a stock analysis program on a local market could be later enhanced to analyze the national stock market, but will never have to help with the database management of a museum.

COTS software vs. home grown

The most simplistic analysis of COTS and home grown application reveals several advantages and limitations of both types of projects. For instance, commercial off-the-shelf projects are easily procured and imply reduced financial resources; however, since they are developed by tertiary parties, they present reduced customization and the buyer has limited control over future developments. The home grown projects are financially and time costly, but have the benefit of a full adaptation to the needs of the organization and their customers, alongside with extensive control over the developments.

Destructured testing

The ability to conduct destructured testing is revealed by the software engineers' capability to break the project down into various smaller issues, analyze and test them in order to retrieve the desired results. This ability is mostly given by the flexibility of the RAD projects. Foremost, since the primary goal of the RAD projects is to work, the attention placed on testing is reduced. Therefore, a special complier has been developed, which will do most of the work, requesting as such little assistance from the software engineers.

5. RAD in Ecommerce particular feature of rapid application development is given by its usage within online commerce. In order for the process to function at the desired capacity and with increased capacity, four tools are required: the database programming language, the interface generator, the links to office applications and finally, the report generator. The database programming language "embeds knowledge of the database structure and includes fundamental database manipulation operations. SQL is the standard database programming language. The SQL commands may be input directly or generated automatically from forms filled in by an end-user. (the) interface generator [...] is used to create forms for data input and display. (the) links to office applications (are represented by) a spreadsheet for the analysis and manipulation of numeric information or a word processor for report template creation. (the) report generator is used to define and create reports from information in the database."

The number of studies which actually reveal implications of RAD usage within online commercial operations is quite limited. However, when presented with the available materials, the reader can form several opinions relative to the feature. For instance, since the development cycles are reduced, the final product (or at least a working version of the final product) will be quickly presented to the user. This will consequently increase his satisfaction. Consider the basic example where a software company is contracted to develop and maintain a website for Wal-Mart. The contractor desires that the website presented their customers with all available information on products, promotions, contact information, service assistance and any other data they might find useful. Also, they will desire for the customers to be able to finalize online purchases. The development and maintenance of such a project using traditional or waterfall methods is quite time costly and requires the engagement of several resources. The usage of RAD however, guarantees that Wal-Mart will receive their website relatively soon. Then, they will be able to make sales, increase the customers' access to the company's products and services, increase and consolidate their market share and consequently register increased profits. In this context, the higher fee paid to the software company (relative to another company that would have requested less, but would have used another programming methodology and would have made a tardy delivery) will have made a desired return on investment.

Continuing the previous example, the new website built with the aid of rapid application development would have other benefits that would attract large numbers of users. In this order of ideas, two such advantages stand out. First of all, the website would be developed with the usage of multiple graphical elements. This would make it increasingly appealing. Secondly, not only would the website look good, it would also be highly easy to use by both novice and internet experts. This feature is basically possible through the integration of various interface methods, which make the project user-friendly.

The actual development of e-commerce pages is made significantly easier with RAD, mostly due to the various features and actions allowed by the methodology. In this order of ideas, the software engineer is able to drag various objects from several external sources and drop them onto the webpage he is working on. This reduces the time spent on creating or recreating the objects and it also makes his work simpler. But he does not have to drag and drop, he can create new and original objects or he can import them from other documents. "You can create your own custom objects, reuse objects from the organizational library, create your own library from various sources and even reverse engineer objects into your library from existing applications [...] if a link or a graphic or a component is broken or missing, it is easily visible in this graphical environment. It maintains development documentation and activity history. It allows you to develop component-based web applications through custom code libraries, reverse engineering and use of smart templates. It generates professional, server optimized, interactive web applications that look the same in all browsers."

Other features which make the rapid application development a beneficial addition to online commercial operations could be summarized as follows:

the websites are productive, but also easily developed and maintained all customer requirements can be met and adapted along the way (this is extremely important in online retail, where product names, characteristics or prices often change) the projects integrate automated management, which aid the client in improving their administrative operations the projects foster creativity and allow the engineers the freedom to create new and better features

RAD eliminates the image of broken down websites, divided into various objects, and creates the image of a unified whole the methodology allows a better control of all features being developed or needed to be integrated

RAD creates valuable basis, which can be further improved and readapted to even suit different goals the engineers can develop websites that can be run on multiple browsers they even allow the addition and improvement through smart templates the feature of automated publishing can also increase the productivity of the project

RAD allows the development of webpages specially designed for a particular web server the programming languages and codes used though RAD applications are generally simplistic and do not pose impediments for a formed programmer they offer the possibility to add unique features or any other elements and objects for a maximum customization and personalization of the web based application they also keep track of the operations developed and allow the user to redo or undo any activities the RAD methodology also supports projects with multiple target servers

Just like with any other business strategies, the successful implementation of the rapid application development depends directly on the skills and capabilities of the corporate leaders. Foremost, it depends directly upon their abilities to perfectly adapt and adjust the software project to the unique requirements of the company and the clients. A relevant example in the sense of methodology applied to unique tasks is given by CoRAD, customer-oriented rapid application development. The model was designed by the Cambridge Technology Partners and it "brings together a unique combination of technical, business, creative, and cognitive disciplines to implement high-impact, successful e-commerce solutions." The creators understood and implemented the idea of a unified image and the concept that the web based application would not represent a simple website, but an actual new distribution and communication liaison between company and stakeholders. The methodology implies five distinct stages: strategic planning, product definition, product development, product design and last, product delivery.

You’re 84% through this paper. Sign up to read the full paper.

Sign Up Now — Instant Access Already a member? Log in
130,000+ paper examples AI writing assistant Citation generator Cancel anytime
Cite This Paper
PaperDue. (2008). Rapid Application Development (RAD) Rapid. PaperDue. https://www.paperdue.com/essay/rapid-application-development-rad-rapid-29255

Always verify citation format against your institution’s current style guide requirements.