Grady Booch spoke in CrossTalk about the current state of DoD software. John Goodpasture has the clip, here's the magazine with the article. I certaintly don't have the credentials the way Grady does to speak of the broader issues of architecture and similar topics.
But, as one working on portions of DoD (and NASA) software intensive programs, I found his approach a bit unsettling. Booch's basic message is DoD is behind the curve and needs to catch up.
- There is a mix of words around IT Infrastructure and weapons in his article. The weapons side is almost always purpose built software. Software designed and constructed for a singular purpose. The Systems Engineering paradigm dominates these products. Some DoD services do better than others when it comes to Systems Engineering. NAVAIR is an example of incorporating system engineering throughout the full procurement cycle. Others do a good job, some "not so good."
- The IT infrastructure problem is larger. COTS systems architecture is incorporated into many systems. From ERP to voice and data systems.
What Booch does not mention - on the weapons side - is DoD is primary a "procurement" house. They buy thing others build.
Booch mentions "open source," but not the Information Assurance (IA) and secure systems aspects of weapons. Vetting open source is likely less costly than writing it from scratch. But it is still a non-trivial process for an integrated weapons platform.
There is a mix of issues in the article. SOA, for one, is being used for large infrastructure programs - NETCENTS2 is one we work - in the Program Management Office. But embedded systems have special needs. Grady mentions languages and their need for improvement, but doesn't isolate the domain or context. Flight systems is another side of the DoD (and NASA) side we work. A missing critical understanding around programming languages is the heritage of the code base. C, C++, and Handel-C are common sources of heritage applications. The avionics suite on Mars missions has decades of V&V. The code base is not going to be converted to the "next new thing." The flight software on vendors "black boxes" is not going to be re-written in the lastest language. The current approach is "incremental upgrades." The site for the journal Booch writes in manages efforts like these.
It is not well understood that systems like GN&C (Guidance Navigation & Control), C&DH (Command & Data Handling) and GPS (Global Position Systems) all have decades of "proven" reliability and functionality on the code base. The source code for these systems are "trusted" in ways unimaginable in the commercial world.
There is no doubt - especially among those working the real problems - of the difficulties of developing weapon systems software, flight, launch, ground, on-orbit - all have great difficulties. But many times the source of those difficulties starts with requirements and capabilities definitions. These attributes (capabilities and requirements) are many times driven by politics as much as adversaries.
Grady doesn't speak to these issues. GAO does.
What troubles me most is the final answer in the article.
I think the major change is in education. I don’t mean to be critical, but in many ways the DoD’s expertise has, frankly, been outsourced to its contractors. It is not to say that is a horrible, terrible thing, but a lot of the things that happened in old warfighting systems came through intrinsic expertise inside the DoD. I would strongly encourage the increase of education of the DoD’s intrinsic forces with regards to decision engineering and software engineering—and draw back into the DoD more of that intellectual property. Ultimately, delivering for the warfighters is what the DoD is all about, and that requires an intensely educated staff to make that happen. How does one make that manifest? I think there is work to be done in acquisition policy, in processes for delivery in the use of things like DoDAF. I think the DoD itself can lead and should lead this, and it needs to make this change in the interspatial spaces of its training, in its service academies, and in its colleges as well.
DoD is an acquisition organization. It does write "some" software but not much - at least not on the weapons side. DoD "acquires" weapons systems from the industrial base. A good starting point is SoftwareTech News. Read through some recent issues and articles about the "software acquisition" issues. Take a look at the site of the person tasked to manage these acquisitions - USD(AT&L),
then some related webs sites.
The Issue Is More Complex Than Languages, Modeling, and Architecture
The issue does start with Systems Engineering. But systems engineering starts with definitions of needed capabilities and the development of technical, operational, and managerial requirements.
Booch's article contributes to the discussion of building complex systems in the presence of emerging needs. But it's not about software development - at least in the beginning. It's about defining what DONE looks like in units of measure meaningful to the stakeholders. This is about Systems Engineering (which Booch states). But it's also about capabilities. This is where to start. There are processes in place to do this, but not always used.
One place to start this approach is the Rand Corporations work on Capabilities Based Planning. IT Infrastructure could take a lesson from this approach. The weapons side does in some cases. In others "not so much." Future Combat System (one where we work on a piece), Joint Strike Fighter, NASA Orion, and other System of Systems each have varying degrees of success in this domain (SoS).
The Problems Are Great, So Should the Solutions
Huge amounts of waste are in the DoD procurement process. There is no doubt about this. The SecDef speaks directly to the problem and proposes solutions. Please subscribe to the Defense Acquisition Portal to read almost daily news on these issues. At the same time there are professional organizations focusing on the issues of procurement and development of software during those procurements. The Software Engineering Institute is one. There approach is described in Understanding Common Acquisition Problems. Acquisition, like all complex problems, is fundamentally a risk management problem. In order to manage risk, we needed measures of risk and along with that measures of performance. This paradigm is at the heart of Systems Engineering. The problems Grady speaks about are Systems Engineering problem from day one. Architecture, development, operational test and evaluation, deployment, and sustainment are systems problems.
If there is to be encouragement in education let's start with encouraging Systems Engineering as a foundation. Without the system architecture being right, all the subsystems are going to hampered in their ability to provide solutions to the mission capabilities.
The Other Side of Software Based Procurement
All DoD procurements greater than $20M must have Earned Value Management processes. For procurements greater than $50M, a validated Earned Value Management System is mandated. Reform in the Earned Value world is starting to take place. Inclusion of Techncial Performance Measures (TPM) is one path for improvement. Paul Solomon provides insight into this issue
Recent Comments