Today developers have a plethora of choices when it comes to development tools. But this also poses a huge risk on the project as choosing the right tool becomes an important decision that can have a huge impact on the outcome of the project.
What options do developers have?
Development tools can be broadly classified as “Accelerators” and “Rapid Application Development(RAD)”. Let’s first understand the definition of these categories.
Accelerators: These are the set of tools that are very loosely coupled with each other. The philosophical idea behind this category is to provide all the options in front of the technical team and let them choose what works best for the given requirements.
RAD: RAD set of tools provide very sophisticated but pre-defined methods of how to develop a solution. This approach does not believe in leaving the choice of decision making to the technical team rather it dictates on how to get something done.
Real world comparison
Let’s take a simple example of “Transportation” as a problem statement to draw a comparison to these 2 approaches. Accelerator approach gives you Engines, Tyres, Seats, Gear Box, Doors, etc. basically, all the building blocks that are required to develop an automobile to solve the transportation problem. Each building block comes with a wide range of configurable options so that you can mix and match them.
On the other hand, RAD approach gives you fully completed automobiles with a user manual on how to use them. You must pick one let’s say among Car, SUV, Mini Truck, Sports car, etc.
Now, if you exactly know what is the purpose of “transportation” RAD wins’ hands down. But unfortunately, in many instances, particularly in the agile world, the complete purpose of the application that is developed is not fully known upfront. Moreover, you may develop different solutions for different requirements addressing different stakeholders. In the earlier example, assume you have picked a sports car but now your automobile(solution) is expected to carry the load. What happens? You hit a dead end. You need to start all over from the beginning.
While RAD offers higher productivity it also comes with a set of challenges. Vendor lock-in is considered as a key challenge in RAD adoption as it locks down the organization to continuously use the RAD provider with a huge exit cost. The flexibility of the solutions is another major threat. Many of the RAD tools are designed to handle a particular set of use cases. You may not be able to make even small changes. For example UI Controls, Page layouts, deployment options, etc.
Accelerators – Best of both worlds
Accelerators offer both productivities through the building blocks as well as flexibility by allowing the technical team to mix and match various components. Since they are all loosely coupled you can even skip certain building blocks and use totally a different solution.
Feel free to write to me at [email protected] to know more about the accelerator options.