search menu icon-carat-right cmu-wordmark

A Framework for Making Architectural Decisions in a Business Context (SATURN 2009)

Presentation given at SATURN 2009, which was held in Pittsburgh, PA in May 2009.

Software Engineering Institute

Topic or Tag


In any organization, it is useful to have a model to associate a value with architectural decisions. More generally, any effort needs to have an associated value to offset its labor and capital costs. For projects that deliver direct functionality that increases an organization's revenue, value is easily determined, and thus the return on investment argument is clear. Nowhere is this more true than in a dynamic, young, agile, organization with a large and growing market footprint; such organizations are commonly driven unswervingly by analytical assessment of the efficacy of the business (sales, marketing, and manufacturing) and technology delivery functions. Unfortunately, "architecture projects"—those that aim to improve one or more quality attributes of a system via a structural transformation system without (generally) changing its behavior—are extremely difficult to evaluate in the same fashion. The general case is to resort to anecdotal and informal arguments that speak in general terms of risk reduction (i.e., improved reliability) or increased developer productivity (i.e., improved maintainability). These arguments are typically unsatisfying to organizations accustomed to decision making based on concrete metrics.

This presentation discusses research done to address this dilemma, in a collaboration by VistaPrint, the Software Engineering Institute, and the National Research Council of Canada. Specifically, we present a model derived from analyzing and modeling actual projects undertaken at VistaPrint, a rapidly growing marketing services company targeting small businesses globally. The presentation shares the details of the approach and the specific results derived in the context of VistaPrint's portfolio of architectural transformations.

This content was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.