Software Architecture in DoD Acquisition: An Approach and Language for a Software Development Plan
February 2005 • Technical Note
John K. Bergey, Paul C. Clements
This report discusses the Software Development Plan (SDP), providing an example approach and corresponding SDP language that enable software architecture to play a central role in the technical and organizational management of a software development effort.
Software Engineering Institute
CMU/SEI Report Number
The right software architecture is essential for a software-intensive system. Meeting behavioral requirements and providing quality attributes such as real-time performance, reliability, and maintainability are essential architectural drivers. Because an architecture comprises the earliest, most important, and most far-reaching design decisions, making sure that the architecture will be fit for purpose is one of the most powerful, technical risk mitigation strategies available to a program office. This technical note covers one avenue of exercising architectural control—the Software Development Plan (SDP). The report provides an example approach and corresponding SDP language that enable software architecture to play a central role in the technical and organizational management of a software development effort. The example is drawn from an actual SDP written by a major U.S. Department of Defense contractor in a weapon-system procurement. The intent is to provide an example for other acquisition organizations to use (and adapt as appropriate) in their own procurements. While the example is based on a contracting approach with a lead system integrator, it can serve as a model for using an architecture-centric approach effectively to unify and manage software development across multiple suppliers, as found in the conventional prime-with-subcontractors acquisition context.