Part 1: Doing More for Less
By Douglas C. Schmidt,
Mission-critical operations in the Department of Defense (DoD) increasingly depend on complex software-reliant systems-of-systems (abbreviated as “systems” below). These systems are characterized by a rapidly growing number of connected platforms, sensors, decision nodes, and people. While facing constrained budget, expanded threat, and engineering workforce challenges, the DoD is trying to obtain greater efficiency and productivity in defense spending needed to acquire and sustain these systems. This blog posting—the first in a three-part series—motivates the need for DoD common operating platform environments that can help collapse today’s stove-piped solutions to decrease costs, spur innovation, and increase acquisition and operational performance.
In an era of relative fiscal austerity, the DoD is seeking to
- acquire and sustain software-reliant systems at lower cost over the life cycle and across the enterprise. Decisions and commitments made in the acquisition phase should reflect the fact that sustainment costs may account as much as 60 percent or more of the total software life-cycle cost.
- reduce acquisition and new technology insertion cycle time. The broad—and rapidly expanding—threats the DoD must address requires accelerating the development and fielding of affordable, sustainable traditional and non-traditional capabilities for the warfighter.
- establish realistic business and staffing strategies to support these goals. In particular, the DoD and defense industry face a shortage of qualified software engineers and cyber-security professionals who are U.S. citizens.
Meeting these goals is a significant challenge under any circumstances, but it is even more daunting when DoD acquisition programs support a large variety of software development activities, each implementing unique solutions. DoD acquisition programs have traditionally been developed in a stove-piped manner that locks the government into a limited number of system integrators, each designing their solutions using proprietary approaches to system architecture and integration. These stovepipes have yielded many redundant “point-solutions” that have become prohibitively expensive to develop, certify, and sustain.
For example, since stove-piped solutions require each combat system to bring its own networks, computers, displays, software, and operators, interoperability, and integrated management with other systems is impeded and system modifications are expensive and error-prone. Stove-piped systems are also often vulnerable to security exploits since they were developed as isolated enclaves, so interconnecting them exposes vulnerabilities not anticipated by their original designers. Moreover, the design of many of these legacy systems inhibit program offices and system integrators from quickly or inexpensively leveraging advances in commodity hardware and/or software platforms, such as multi-core and distributed-core cloud computing environments.
The DoD has tried—and often failed—to break away from a stove-piped acquisition model for decades. Some challenges faced by the DoD include misaligned incentives, social dilemmas, inconsistent assertion of government data rights, and inadequate appreciation of the essential role of software architecture in software processes, systems engineering, and capability reuse. The recent emphasis on austerity, however, has motivated the DoD to reinvigorate efforts to replace stove-piped solutions with systematic software reuse approaches. Generally known as common operating platform environments (COPEs), these reusable software infrastructures foster competition and innovation by
- improving performance and affordability via the use of modular, loosely coupled, and well-articulated software architectures that provide applications and end-users with many shared capabilities, such as data-centricity, utility computing, situational awareness, and mobility
- ensuring full disclosure of design specifications to program performers, including competitors and small businesses
- enabling systematic reuse of software design and implementation artifacts, such as objects, components, services, and associated metadata
- mandating common and portable interfaces based on open standards supported by a range of open- and closed-source providers
- achieving seamless interoperability between system hardware and software applications via common protocols and data models
- amortizing the effort needed to create conformance test suites that validate and optimize domain-independent portions of the software infrastructure to assure software quality attributes, such as dependability and scalability
When implemented properly, COPEs foster competition and innovation through open business practices, thereby enabling the development and sustainment of software and hardware components by different vendors over the life cycle. COPE initiatives are therefore gaining traction in the DoD, particularly for those programs or services lacking the funds to develop unique software solutions for each warfighter domain or mission. For example, various branches of the military have begun establishing COPEs, including the Army’s Common Operating Environment initiative, the Navy’s Open Systems Architecture initiative, and the joint Army-Navy Future Airborne Capability Environment (FACE) initiative, among many others.
One of the SEI’s missions is to help the DoD implement COPEs effectively to reduce total ownership costs, achieve better performance, field innovations more rapidly, and leverage the existing government and defense contractor workforce effectively. This mission is challenging since developing high-quality software for DoD systems is hard enough—but developing high-quality, reusable software infrastructure for families of DoD systems is even harder. To address this challenge, a team of researchers at the SEI are investigating how to create and govern COPEs successfully.
My next blog posting describes key success drivers for DoD COPEs that can proactively and intentionally exploit commonality across multiple DoD acquisition programs. These success drivers include technical drivers, such as expertise with systematic software reuse technologies (software patterns, frameworks, product-lines, etc.) and supporting methods (test-driven development, continuous integration, etc.). Equally important are operational drivers that focus on articulating the business case for COPEs and programmatic drivers that focus on effective leadership and management of COPE initiatives.
The third posting in this series will describe our work at the SEI on a COPE maturity model to help military and commercial organizations assess and improve their progress in developing and adopting systematic software reuse for DoD acquisition programs. As always, we welcome your feedback in the comments section below with suggestions on how the DoD can collapse stovepipes and develop COPEs more effectively.