Posted on by Acquisitionin
Major acquisition programs increasingly rely on software to provide substantial portions of system capabilities. All too often, however, software is not considered when the early, most constraining program decisions are made. SEI researchers have identified misalignments between software architecture and system acquisition strategies that lead to program restarts, cancellations, and failures to meet important missions or business goals. This blog posting--the second installment in a two-part series--builds on the discussions in part one by introducing several patterns of misalignment--known as anti-patterns--that we've identified in our research and discussing how these anti-patternsare helping us create a new method for aligning software architecture and system acquisition strategies to reduce project failure.
We used an interview-based approach to discover and document patterns of alignment among four key aspects: business and mission goals, architecture, quality attributes, and acquisition strategy. We then analyzed the interview data looking for evidence of alignment or misalignment. Since most of our data comes from troubled programs, we have primarily discovered evidence of misalignment--known as anti-patterns--to date.
Our initial set of anti-patterns includes
Let's explore one of these anti-patterns to show how it might be used. The first anti-pattern--undocumented business goals--reflects a lack of precise, well-defined, and well-documented business goals for a DoD acquisition program. In the programs we examined, we found that these goals were seldom explicitly expressed (e.g., "replace legacy system") or they reflected high-level program constraints (e.g., "maximize competition") or policy regulations (e.g., "implement an open architecture").
When this anti-pattern is present, we found that mission requirements dominate the definition of the software architecture, often leading to an architecture contrary to the achievement of the unstated business goal. For instance, an architect might reasonably design a monolithic architecture that was an excellent fit for the mission goals for performance, but which could be strongly at odds with an implicit--but unspecified--business goal to avoid vendor lock.
The lack of explicit business goals has a more direct impact on the acquisition strategy. In one program in our study, a key element for the program was to build a new system with significant new capabilities. The acquisition strategy specified a slow, deliberate pace to ensure that the new capability was defined correctly. A competing goal was to replace several "end-of-life" systems. Not stated in this goal was the urgent need to replace these failing system as quickly as possible. When the operators and maintainers of the legacy systems became aware of the intended acquisition strategy, they forced a major change in program focus. The sequence of acquisition activities required alteration, which caused a significant delay in meeting either goal.
Creating a Method for Identifying Misalignments
Discovering and documenting anti-patterns is only the beginning of our work in addressing the problems of misalignment. The second phase of our project involves creating a method that helps acquisition programs avoid the anti-patterns we've discovered and provides options that could help programs better align their acquisition strategy and software architecture to satisfy stakeholder mission and business goals. We will then validate the utility of this method through the help of projects and programs outside the SEI.
Software-reliant systems are inherently social and technical endeavors. A key facet of our method, therefore, is thus its ability to bring disparate actors together--often for the first time--to rationally identify and discuss issues of mutual concern and be able to make hard and informed choices based on rational information.
We plan to adapt and tailor existing methods where possible. We are currently exploring methods in the following areas:
Government acquisitions are more likely to succeed if a program can align its acquisition strategy and software architecture with each other and with respect to satisfying stakeholder mission and business goals. Our research has shown evidence of misalignments in the form of anti-patterns. Discovering the patterns a program should avoid is a key step toward our objective to develop a method that systematically supports business and mission goals by aligning the acquisition strategy and software architecture.
We welcome opportunities to validate and expand the anti-patterns or pilot our emerging method. Please leave us feedback or questions about our research in the comments section below and we will follow up with you.
For more information about the Pedigreed Attribute eLicitation Method (PALM), please visit
To read A Method for Controlled Requirement Specification, please visit
To read the SEI technical report, Quality Attribute Workshops, please visit
For more information about the book, Evaluating Software Architectures: Methods and Case Studies, please visit www.sei.cmu.edu/library/abstracts/books/020170482X.cfm
To read the SEI technical report, Making Architecture Design Decisions: An Economic Approach, please visit