October 31st, 2018 • RAD
Ever since it came on the scene as an alternative to the waterfall development method, rapid application development (RAD) has been a favorite of both developers and clients who value usable software that works.
While the waterfall method has its place, it was primarily developed for situations where you can’t change requirements very easily such a building design, plumbing schematics, or other physical projects.
But software is different and often requires a different mindset.
RAD embraces these differences and gives a new way to look at software development, and the benefits of RAD are overwhelming.
A recent study from Geneca revealed these facts:
It’s obvious that when business units request software, traditional engineering models don’t always fit.
You can learn more about RAD here, but the essentials of RAD are that it is based on a repository of reusable code, quickly-made prototypes, frequent client feedback, and a focus on usable software.
RAD takes into account that clients may not know exactly what they want until they see the software in action, thus doing detailed planning may be a waste of time.
Getting all of the amazing benefits of RAD is heavily dependent on the following factors. If your project is lacking even one of these, the advantages could easily turn into liabilities.
Good client involvement. RAD depends heavily on a lot of client interaction. If your client is hard to meet with, has poor communication skills, or doesn’t seem to be that interested in the development process, RAD may not be the best strategy.
Good project management skills. Due to its slightly nebulous nature, RAD requires a project manager who is extremely adaptable and flexible but also focused on results. Without a clear-minded project manager, RAD can spiral into constant changes and never result in market-ready software.
Highly skilled developers. RAD works when you have developers who are multi-talented and can quickly adapt to new situations. RAD isn’t best for someone at the start of their career who must spend a long time learning the basics of each requirement.
Moderate product size. When the scope of the project grows extremely large, RAD’s benefits often fade away because you have too many moving and changing parts and too many teams working on multiple elements. Extremely small projects may also be better suited to a more straightforward development process.
We’ll start with the easy one, since it’s built into the name. RAD promises faster end delivery of the software because it is highly iterative and can get to the goal quicker.
Things often change as the development process goes on. RAD gives a framework where these midstream adjustments are actually encouraged and made quickly during development.
Because RAD utilizes a repository of components for reuse, there are often fewer errors in the code which usually makes the testing time shorter as well. The final product will already be tested and have fewer defects than other methods.
RAD may require more money spent on talented developers. However, by shortening the development time, these costs may work out to be the same. The big cost advantage of RAD is that you never have to rerun the project again from the beginning if the client wants major changes, leading to less cost overrun.
Once an application is released using RAD, maintenance is generally quick and painless. With traditional models, any fixes requires significant planning, testing, and staffing.
For applications developed through RAD, releasing a new version of the product feels just like another iteration and can be done quickly, as opposed to creating a large plan that can take many months to complete.
If you are involved in a waterfall project and a new technology emerges that might help you, there’s very little chance you can add it; there’s just too much risk and work to go back and change the requirements. With RAD, new technologies can be immediately tried, tested, and evaluated.
RAD relies on lots of involvement with the client and end user. Development happens frequent updates, which means the end product will be closer in scope to what the client actually wants.
When planning under a traditional model, developers will focus on the areas that are most interesting or challenging to them. With RAD, the question is always what the client actually needs. Therefore, in the end, the final product will be much more usable instead of just being a technological marvel.
With RAD, you can focus on risk factors early in the process and continue to discuss them as development goes on. Risks may also reveal themselves during development and can be addressed immediately. In other models, risks are put on hold until the final version appears, which sets you up for many risks you did not consider at the beginning.
In general, IT teams that use RAD principles will have a better relationship with business clients as they are more collaborative and deliver more useful products to them, as opposed to living in an ivory tower and giving the business whatever IT wants to give.
Everyone has seen or heard of that project that lasted for months and in the end had to be trashed at a great loss of time, money, and morale. RAD principles can help you avoid such terrible situations as any doomed project will be weeded out much earlier.
In the waterfall method, integrations with other software are one of the last things to happen. With RAD, they are built throughout the process. Integrations can make or break the effectiveness of an application, and knowing how they will function early on is key.
RAD is a great model for development because it fits in with how business users look at software. It isn’t the perfect model for every project, and certain best practices need to be followed. But, if you do it right, you can enjoy lots of benefits of RAD throughout the lifecycle of your applications!
Kissflow is a platform to make automated business process applications using RAD principles. You can make automated apps lightning fast, and with no coding at all. If you are already practicing RAD, try Kissflow for free to see just how quick application building can be!
* - Based on usage requirements