Bob Familiar interviews Jeromy Carriere on the Lightweight Architecture Alternative Assessment Method (LAAAM), a fast and efficient way to make good architectural decisions that are aligned with the needs of your business.
Making good architectural decisions early in the software development lifecycle helps reduce project risk and ensures that precious time and energy isn't wasted delivering solutions that miss the mark. This is critical in our ever-accelerating software development world.
The most unique characteristic of LAAAM is its focus on defining what quality means for a given system or product. We all want to create high-quality products, but LAAAM helps us go further in determining the aspects of quality that are important to the stakeholders for a given system. The "-ilities" are commonly used, coarsely, to talk about architectural quality; however, LAAAM won't let us simply say "my system has to be scalable" or "I need flexibility".
Instead, LAAAM forces us to be: a) precise in the kinds of scalability and flexibility that are important; and b) prioritize these quality attributes so that appropriate tradeoff decisions can be made. LAAAM produces a set of artifacts that represent a rigorous, rational decision making process. These artifacts are extremely valuable in justifying and communicating architectural decisions, since it's rarely possible (or even desirable) to have every stakeholder involved in every conversation. The LAAAM artifacts give us a way to express the reasoning that went into a given decision, with a foundation in the definition of quality for a system.
LAAAM has been successfully applied to make decisions large and small at Microsoft, Fidelity and VistaPrint. LAAAM draws its roots from the Architecture Tradeoff Analysis Method developed at the Software Engineering Institute at Carnegie Mellon University.