The landscape of software development changes frequently. But throughout my years managing a software development company, one core strategy has remained – minimize development time while maximizing progress.
One of the core tactics my team uses to adhere to this strategy is Rapid Application Development (RAD), which in its most basic form minimizes planning and intensifies prototyping. This RAD process allows our developers to quickly adjust to shifting requirements in a fast-paced and constantly changing market. We’ve found that by using the RAD process, our team can adapt to a flexible process as the project evolves. The byproduct is the ability to continually incorporate knowledge from UX design process to rapidly iterate, prior to launching the software.
There are many benefits to using Rapid Application Development. For instance, RAD allows progress to be accurately and quickly measured. It also provides a reduction in development time, and the ability to garner constant customer feedback.
The late James Martin, a British information technology consultant and author, is attributed with developing and introducing the modern RAD approach in 1991 based on intensive iterative development and the construction of prototypes. Since then it’s taken on more general terms, but his initial four phases help explain why this technique still works so well.
Phase One: Requirements Planning
This phase combines the elements of system planning and analysis during the Systems Development Life Cycle (SDLC). Here, the software users (client), developers (IT) and team managers agree on the project scope, prominent issues, potential issues and obtain management authorization. At our company, this remains the most vital stage of the process; communication is key to this stage.
For the energy company, we scheduled multiple weekly calls/video conferences for the requirements planning stage, including some that lasted five hours to ensure we covered everything. This is how vital communication is to success.
Phase Two: User Design
During the second phase, users (clients) work closely with the analysts to develop the prototypes that require all system processes, inputs and outputs. Here, the groups use a combination of Joint Application Development (JAD) techniques and CASE tools to develop working models of the client’s software needs. This process is iterative, allowing the analysts to continually tweak the model until the client is satisfied. Again, communication is everything. While undergoing this phase for our energy company example, we made sure all updates to the working models were immediately shared: you don’t want even one loose end.
Phase Three: Construction
This phase is the actual development task – similar to SDLC. But during RAD construction, the client’s’ input remains, and they can still suggest changes or improvements as the software is being developed (programming, application development, coding, unit integration, and systems testing). For the energy company, my team asked for input from the client at every step to make sure all changes were welcomed. There were a few that were debated, which helped us catch any issues early, and it helped clear the way for the final implementation phase.
Phase Four: Cutover
This is the implementation phase – data conversion, testing and changeover to the new system. This phase also includes user training. In Systems Analysis and Designs by Gary Shelly and Harry Rosenblatt, Martin says that compared to traditional methods, “the entire process is compressed. As a result, the new system is built, delivered, and placed in operation much sooner.”
This development process has helped us develop software-enabled solutions for many of our clients across various industries, from energy companies to app developers. The RAD process allows adjustment to the requirements of software development, allowing us to quickly see and arrive at the final solution.
In a nutshell, the highlights of using RAD are that it allows clients and developers to fully understand the software functionality during the earliest stages of development, helps developers detect and fix bugs early in the process so reduces the need to go back and fix issues, and it’s test ready. It also provides benefits by emphasizing development over planning, perfecting your minimally viable product, and building predefined components and methodology to quickly develop software models. As well, due to prototyping and iteration, RAD allows users to easily envision the final solution.
But as with every other process, there are some downsides. Two of the most obvious disadvantages of RAD are the inherent risks in having a skilled team do something completely new to them; the other is that using new tools to build something quickly can result in an insufficient final product. We’ve found that a way to avoid these particular issues by building a team that works closely and effectively together. Good communication also helps tremendously.
Overall, the use of Rapid Application Design has many benefits. Besides streamlining development, it provides a better understand of your business and customers. With the opportunity to value to your customers and business, while saving time and budgeting dollars, it is a process worth using.
This article is also published on Forbes.com.