Rapid Application Development (RAD) platforms such as Caspio, OutSystems and Mendix promise to let users rapidly build applications without writing much code, and in a fraction of the time of traditional code-based technologies. But how much time can RAD really save, and where are the cost savings realized?
Let’s imagine a fictional project
For the purposes of this article, let’s suppose that we’re developing a custom business application using conventional coding tools, and that our project requires 1,000 hours of work from start to finish.
As with all app development projects, we need to spend time discovering the project’s requirements and planning the app’s functionality – both before the development work begins as well as over the course of the project. Although every project is different, in our experience this work averages to roughly 15% of a typical project’s total time, meaning 150 hours for our project. In addition, let’s say that our app needs to have a particular look-and-feel and incorporate some slick interactive components, and this requires 100 hours of front-end development work. Quality assurance (QA) adds another 50 hours. And for the sake of simplicity, I’ll allocate 50 hours for a bucket of other components that include graphic design, server configuration, user testing and data migration. The rest of the time – 650 hours – is dedicated to back-end code development.
How would these hours look if we used a RAD platform? Keep reading to find out.
The RAD difference
Application development projects always require discovery and planning work, regardless of the platform being used. However, RAD platforms make it very easy to change and reorder the fields on each form, change error messages, tweak emails that the system generates, and make other changes along the way. This means that our planning can be a bit more “loose” with a RAD tool and takes slightly less time. The discovery and planning therefore requires 125 rather than 150 hours.
The place where RAD platforms really shine is back-end development. RAD platforms let you “configure” rather than “develop” the application, and they also make it easier to fine-tune its functionality over the course of the project, as feedback comes in from user testing. From our experience using a RAD platform called Caspio, configuring an application requires just 10-20% of the amount of time that it takes to develop the same functionality by writing code. Our fictional project therefore requires just 100 hours of configuration instead of 650 hours of code development. Back-end development is the area where the most significant time and cost savings are realized.
With a RAD platform, the possibility of bugs due to coding errors is reduced, and they’re often easier to fix – so we’ll see 25 hours of QA and debugging for our 1,000 hour project, rather than 50. Finally, because the RAD platform requires no database or server configuration, the “other” category decreases slightly, from 50 to 35 hours.
Where does this leave us for our 1,000 hour project?
|Discovery and planning||150||125|
When displayed in a bar chart, the numbers look even more dramatic:
As we can see from our imaginary example, our project uses just 38.5% the number of hours on a RAD platform when compared to traditional software development.
Here are three other ways that a RAD platform can save time:
- If the application has special requirements such as HIPAA compliance, a system like Caspio’s HIPAA Edition can reduce time-to-market even further.
- RAD tools are often easy enough for the person who performs the discovery and planning work to learn how to use. Having the same person do both the discovery/planning and the configuration can further reduce costs by eliminating the need for knowledge transfer.
- After the application is launched, tweaking and upgrading a RAD application is often easier and less risky than one that uses a conventional platform.
Again, every project is different – but RAD platforms can present significant time and cost savings if the application project is well suited to a RAD platform.