Active Reviews for Intermediate Design (ARID) are an easy, lightweight evaluation approach for software architecture that concentrates on suitability and does not require complete documentation. A hybrid of active design reviews and scenario-based architecture evaluation methods (such as the SEI Architecture Tradeoff Analysis Method), ARID leverages active stakeholders' participation and helps to gain their early buy-in.
How do you know if a software architecture for a system is suitable without having to build the system first? The answer is to conduct an evaluation of it. A formal software architecture evaluation should be a standard part of the architecture-based software development life cycle. Architecture evaluation is a cost-effective way of mitigating the substantial risks associated with this important artifact.
Architects and designers often need insight into the viability of their early design strategies (or portions of their designs) before conducting a comprehensive architecture evaluation of their software architecture. These early designs are often poorly documented and sketchy, lacking important details that will emerge later. Nevertheless, reviewing a design in its pre-release stages can uncover important inconsistencies or oversights whose early correction can be invaluable.
To provide this insight, the SEI developed Active Reviews for Intermediate Designs (ARID). ARID is a blend of a stakeholder-centric, scenario-based, architecture evaluation method and an active design review (ADR) of design specifications.
ADRs are an effective technique for insuring quality detailed designs in software. The method ensures reviewers' active participation by asking them to utilize the design in a series of exercises, while carefully avoiding yes/no questions that are easy for a reviewer to undermine with a carelessly considered answer. This tests actual, not feigned, understanding.
The major steps of ARID are
A typical ARID exercise takes about a day and a half.
ARID helps the designers of architecture engage stakeholders and get their buy-in early in the design process. It also informs designers about whether their design is suitable for the overall system being developed. Reviewing a design in its pre-release stage provides valuable early insight into the design's viability and allows for timely discovery of errors, inconsistencies, and inadequacies.
ARID is best suited for evaluating a partial design in its early stages. An example is an interface design for a module or subsystem that provides a cohesive set of services. At this stage, the designer merely wants to know "Am I on the right track? Are the services I'm designing in this part of the architecture sufficient?" In other words, the designer wants to know whether the design being proposed is suitable from the point of view of other parts of the architecture that will be required to use it.
SEI staff can help you use ARID at your organization. Contact us using the link in the For more information box at the bottom of this page.
Active Reviews for Intermediate Designs
Paul C. Clements
Evaluating Software Architectures: Methods and Case Studies
Paul Clements, Rick Kazman, & Mark Klein
Integrating Software-Architecture-Centric Methods into Extreme Programming (XP)
Robert L. Nord, James E. Tomayko, & Rob Wojcik