RAD Isn’t Right Every Time, But It Sure Comes Close
September 10th, 2018 • RAD
Traditional software development is meticulous, detailed, and painstakingly slow. Proper software development takes time. Skimping out on all the steps can lead to buggy software, or worse, a product that doesn’t even work.
Recognizing these flaws, Rapid Application Development (RAD) arrived and made people rethink the rules of software development. Fast development times did not have to mean buggy code. With RAD, there was finally a way to develop applications quickly without losing quality.
But adopting RAD poses a question. Does RAD’s speed mean traditional software development methodologies are obsolete? Can you develop all software through RAD methodologies? The short answer to both questions is no.
Rapid development isn’t a cure-all, and certainly not a replacement for traditional software development.
Every RAD Approach Follows This Structure
To make sense of why the RAD approach isn’t a complete solution, you’ll need to understand what makes up a RAD development process, and how it varies from traditional models.
RAD follows a cycle of rapid prototyping and quick feedback from the end user to ensure that development is quick, and that users are constantly updated on the progress of the software.
The basic steps of a RAD development process are:
- Define requirements
- Rapid prototyping
- Receive user feedback
- Finalize product
Here, the ‘basic requirements’ document is drafted, providing a glimpse of what the final product needs to be. Although you could compare this step to requirement planning in traditional models, RAD implementation isn’t as detailed. The document is only required to provide basic insight, not a detailed vision of what the final product should be.
Once the requirements are planned out, the development team can work on the first prototype.
In prototyping, basic functions and features of the software are developed, with very basic user interfaces. There’s little or no thought given to polish or design aesthetics here. The main point is to give the user the required functions and features. Basic testing is done to ensure there are no bugs in the code. After testing, the prototype is sent to the end user for feedback.
Receive User Feedback
The end user tests the functions in the prototype, seeing if they all work as required. There are often requests to add more features and functionalities at this stage, but this is normal. The feedback stage is a time for developers to get the project in line with the user’s vision. Any and all additional feedback is taken into consideration for the next prototype. These two steps will continue in a loop until every function is implemented.
Once all the required functions are implemented, the final product is built. Instead of building everything from scratch, all functions and features are taken from previous prototypes. This is more efficient, since developers don’t have to code the product again. Since the prototypes and their functions are already tested, developers can be fairly confident the product won’t have as many bugs as it does when building from scratch.
There is a final round of testing to check if all modules work seamlessly with each other. But the testing done here won’t be as intensive as in a waterfall model.
Once testing is done, the final product is delivered to the end user. This method of rapid prototyping and continuous user feedback can seem like genius, but it’s not a one-size-fits-all shoe. There are some conditions which need to be met before you can consider using RAD for a project.
Where RAD Is Usable
Rapid development, although useful, is not a fit for every development scenario. For RAD to work, your project needs to meet these conditions.
- Your project must be relatively small. RAD doesn’t work for complicated and drawn out projects.
- Your development team must also be small. The bigger the team, the more the chance for miscommunication.
- You’ll need to have constant communication and direct access to the users who’ll use the application. Without direct feedback, you lose all the advantages of RAD.
So, with these conditions in mind, where is RAD applicable?
- When you’ve got to complete a project quickly
RAD enjoys projects with tight deadlines. If you’ve got a project where waterfall models and long development cycles won’t be able to deliver in time, RAD can be a great fit.
- When you have people who can test your prototypes
Prototypes and iterations are continuously mentioned in RAD, and for good reason. Prototypes are integral to development and collecting direct feedback, preferably from end users who understand what you’re trying to do. This isn’t just valuable, it’s indispensable. Without proper feedback, RAD doesn’t have the direction it needs to move a project forward.
- When you’ve got the budget for RAD
Budget should come as no surprise. In RAD, you’ll have to hire the best developers you can get. Hiring skilled developers means paying them what they’re worth, and that’s never cheap. If you can afford to hire quality people, then you can consider RAD.
When RAD Is Unusable
But RAD isn’t perfect for every scenario. There are some instances where RAD isn’t suitable for software development.
- When you can’t afford to hire highly skilled developers, avoid RAD. Without highly qualified developers, implementing RAD can become more of a problem than a solution.
- When you have a large team, avoid RAD. Large teams complicate communication, eventually becoming a very confusing game of Telephone.
- When you cannot directly communicate with the users who will use the end product, avoid RAD. Without proper communication, RAD does not work.
- When the project is big, avoid RAD. RAD works well with small projects and teams. If a project is too large and complex, RAD breaks down.
If you have a project or team which satisfies any of these conditions, avoid RAD and look elsewhere. But looking at these requirements, it can feel like RAD’s only good for enterprise development, where there are large budgets, skilled developers, in-house requirements where developers can communicate with users, and small and dedicated teams for each project. Does this mean RAD is only useful inside enterprises?
RAD Is for Companies of All Sizes
Enterprise organizations also have niche software requirements that RAD can efficiently tackle. But that doesn’t mean RAD is exclusively for enterprises. There are other scenarios where RAD works for smaller organizations.
One example is startups that develop mobile apps. Development teams focusing on mobile apps don’t need to span over dozens of members and involve long and tedious development cycles. With RAD, developers working can develop prototypes quickly. The reduced development time is a boon for startups who only have a limited window before they need to take their product to market to generate revenue.
It can also be used for SMBs where the developed software may not be the main source of revenue. It still impacts how a customer interacts with the product or how employees do their work. RAD models can make an impact in how a team gets their internal work done, through automations and process improvements. Here, time is of the essence, and quick development time can make all the difference.
How KiSSFLOW Uses RAD
KiSSFLOW is a workflow automation and business process management platform that focuses on improving efficiency in the workplace. KiSSFLOW lets you design workflow automations and process improvements through rapid development, allowing your office to automate workflows that don’t need active human input, freeing up your employees to do work which actually demands their skills.
With KiSSFLOW, you can create your own automations and business process apps through rapid development methods, allowing you to save time and deliver apps quicker than traditional software development lets you. Get a free trial today, and see if KiSSFLOW fits your organization.