Rapid Web Application Development
Rapid Application Development (RAD) is the concept of the software development tools creation where special attention is paid to the speed and comfort of a programming process, as well as to the creation of a working process allowing software specialists to create computer programs as quickly as possible. The RAD concept is often associated with the concept of visual programming.
RAD assumes that software is developed by a small team within three-four months with the help of incremental prototyping using software tools of visual modeling and development. The RAD technology implies active client’s involvement on the early stages already – to survey the organization, develop system requirements etc. The latter implies full compliance with the customer’s requirements – both functional and non-functional – assuming possible changes thereof arising during the system development process. This significantly reduces additional maintenance costs straight after the project delivery, thus reducing the total time spent from the project initial designing to obtaining an acceptable product.
The RAD technology principles are aimed at ensuring its three main advantages – high development speed, low cost, and high quality.
- Development tools should be aimed at minimizing development time;
- A prototype should be developed to clarify the exact customer requirements;
- Development circularity: each new version of the product should be based on the client’s assessment of the previous version work results;
- Time spent for version development should be minimized by transferring the already created modules and adding new functionality to the new version;
- The development team should work closely, each participant should be ready to fulfill several types of duties;
- The project management should minimize the length of the development cycle;
- Important functionality is verified with a set of automated functional tests ensuring consistency of business logic throughout all development cycle.
With the RAD technologies you will be able to:
- quickly promote the project on the market;
- obtain the user-friendly interface;
- easily adapt with the changing project requirements;
- simply develop the system functionality.
The RAD principles are applied not only during implementation, but also during all the life cycle development stages, especially during the organization survey, requirements determination, analysis and design phases.
RAD technology use cases:
- Tight project schedule. Development in the fast-paced environment is always subject to rapid changes to keep up with the times. If the system is big enough and the development goes on quite a long time adhering to some initially formed requirements, there is always a risk that it will be outdated even before the development is complete. With RAD technology, we can update requirements at every iteration allowing our clients to receive what they want now and not what they wanted a number of months ago;
- Unclear software requirements. In most cases, the customers’ view of the future software functionality is quite approximate, thus the requirements can not be clearly stated. Sometimes the development starts before the requirements are even stated, or they may be changed in the course of its implementation;
- Limited project budget. In this case, the development is executed by very small iterations allowing bringing system to the market as soon as possible allowing monetizing from very early stages, by that exceeding available resources;
- GUI is crucial. Forcing the Client to draw mock-ups might be a difficult task. The RAD-technology makes it possible to demonstrate them a prototype interface on very early stages – test interface by using and make necessary adjustments.
RAD-technology is not universal, so it is not always appropriate. For example, it is not applied to the projects where the software requirements are clearly defined and should not be changed, for life-critical systems or the customer’s involvement in the development process is not required. The same is true for the projects where the complexity is defined by the need to implement sophisticated algorithms with the minimal role and scope of the user interface.
Here, at Rozdoum, we are using the RAD-technologies working with Groovy Object-oriented language and Grails framework. In particular, we fully enjoyed the benefits of the RAD-concept while developing our in-house product Eventor, an Online Catalog (a system allowing to store and quickly find huge amounts of information), creating an eye-catching and extremely user-friendly interface for App for Sailors.
Contact us to see if your project’s requirements fit the RAD criteria and see what we can do for you.
Author: Sales Team at Rozdoum