Actions

Architected Rapid Application Development (ARAD)

Architected Rapid Application Development (ARAD) has developed from object-oriented analysis and design tools, and incorporates analysis and design patterns and frameworks. Typically, organizations can generate 50% to 70% of source artifacts from patterns, frameworks, and (optional) models. Increasingly, organizations are blending traditional iterative methods used with ARAD with agile principles and practices to create a hybrid approach.[1]

Architected rapid application development is a framework of procedures and practices that are designed for quick and efficient application (Windows/Web) development. It is a set of tools that help the developers write the same codes again and again for general functionalities in an application. This helps organizations build applications based on already defined templates that can be used and reused by coders to save time and energy in writing the same piece of code for functions again and again for various functionalities within the app. This tool also helps in updating and upgrading the applications fairly quickly and easily.[2]

Architected rapid application development (ARAD) is an emerging approach that charts a middle ground between the rapid development of small, short-lived projects and large, heavily designed, and systems development efforts. The latter group requires rigorous processes and, despite eventual productivity gains based on reuse, often involves lengthy, ponderous efforts in the initial years.

With ARAD, a "light" approach to architecture gains some reuse-based productivity and saves a good deal of rework with attention to quality, but with a preference for smaller and faster application efforts. With predefined design patterns and an architectural framework, application developers can determine whether projects are consistent with other applications in place or in progress. Most application development (AD) organizations have used "waterfall" and rapid AD (RAD) approaches, and some AD organizations have had mixed results with architected, model-driven (AMD) approaches, as well as with neo-RAD methods, such as Xtreme Programming (XP). The ARAD approaches are still evolving, but they are extremely promising. These methods enforce architectural compliance while improving productivity. Emerging approaches for ARAD suggest that a little architecture could save a lot of rework. If there are predefined architectural frameworks and design patterns, then development managers can at least determine that their projects are consistent with the architectures and patterns that are in force for other development efforts. Like RAD, ARAD can work from the bottom up, if RAD development teams can make moderate references to enterprise architectural rules of software for systems to fit together in the longer term. Early benchmarks suggest that this can result in as much as an 85 percent gain in developer productivity.[3]


Benefits of Using ARAD Tools[4]

David Kelly, president of Upside Research Inc. in Newton, Mass., says his clients have reported significant benefits from using ARAD tools, including lower development time and costs. "These tools are certainly light-years ahead of the old client/server, model-driven development tools that were typically too cumbersome, too difficult to get the reuse out of ... and generally just didn't deliver on the ROI," he says. But he notes that using the tools requires developers to adopt a new mindset when building applications. "Developers have almost a cowboy-type mentality—to code quickly and get on with the next thing," Kelly says. "To gain the benefits, you have to have a little bit of discipline—put the effort into finding the right patterns and right architecture and ensure the developers and architects are using the tools and processes consistently."

ARAD source: Computerworld

  • Focus on the use of patterns to serve as building blocks to automatically generate common parts of an application.
  • Can generate as much as 80% of "housekeeping" parts of applications, such as user interfaces and business rules that can be reused.
  • Are designed to be used to repurpose applications to new environments like the Internet more easily because developers can exploit existing underlying code and add only new business logic.
  • Can postROI gains ranging from 2-to-1 up to 15-to-1 in comparison with traditional development approaches, according to a Gartner study.

Thanks to such new standards as J2EE, .NET, UML, XML/Simple Object Access Protocol (SOAP), and model-driven architecture (MDA), coupled with new development technologies, RAAD is becoming something new, which we've dubbed ARAD. At the heart of ARAD is the ability to take the J2EE and .NET architectural and design patterns delivered with the newer development technologies, have the enterprise's best technical architects modify them to adhere to the organization's architectural standards, and then have the ARAD technology generate all code involving the architecture in applications in a compliant manner. Early reports indicate that this can save an average of more than 70 percent of the coding effort for most applications. It also means that the programmers adding the non-architecture-related code don't need as much expertise in J2EE and .NET architectures, and the resulting applications tend to perform better and more reliably. A second aspect of ARAD is the business process flow. Many of the newer technologies are able to take UML or MDA business process models and generate the workflow specifications needed by business process management (BPM) software, which sits on the J2EE and .NET servers (such as WebSphere Business Component Composer for IBM's WebSphere application server and BizTalk for Microsoft's .NET application server). This, again, increases developer productivity, because there's less code to build. It also decreases the programmer's need to understand the business processes and ensures compliance of the runtime workflows with the business processes. ARAD requires a move from structured analysis and design methods to OO/UML or BPA techniques; however, the benefits of this approach are obvious. There's no better way to improve productivity, reduce cost, and ensure the scalability and performance of applications, while still putting methods in place that are "minimally invasive." ARAD will still be overkill for many of the simpler NeoRAD applications. And, more-robust AMD methods will still make sense for a portion of the application portfolio (AMD has the potential to be five to 10 times more productive when reusable models and business specifications managed in an integrated development framework can be used to regenerate code as business rules change). However, for most enterprises and applications, ARAD should prove to be a near-ideal approach to balancing speed and cost with "just enough" application quality and performance.[5]



See Also

References

  1. Defining Architected Rapid Application Development (ARAD)? Gartner
  2. What is Architected Rapid Application Development (ARAD)? Techopedia
  3. Explaining Architected Rapid Application Development (ARAD) umich.edu
  4. Benefits of Using ARAD Tools ComputerWorld
  5. Understading ARAD University of Michigan


Further Reading