The recent emergence of rapidly developing information technologies is challenging traditional Navy acquisition methods. This is causing a significant delay in bringing these advances to the sailors who will benefit from them the most. The Navy is most experienced at acquiring new mechanical and propulsion systems, but the attempt to apply the same methods to software acquisition has fallen short. We have been trying to force the square peg of tangible mechanical system acquisition into the round hole of somewhat intangible software development. Trying to improve sailors' quality of life, we have attempted to compress the traditional implementation scheme of military specifications and ship alterations, which sometimes take years. This cycle reduction has come at the expense of process, which results in little to no software-system testing or quality assurance.
I am a line officer presently in an acquisition-related billet. In this position I am required on an increasingly frequent basis to evaluate the capabilities of newly developed software products designed to improve various aspects of day-to-day shipboard operations—even though I have had little training or experience in evaluating these systems. A recent system acquisition with which I am familiar illustrates this point: This system was intended to improve operational readiness of a fleet unit by consolidating system displays. Instead, a failure to conduct unit, component, or system testing led to costly overseas technical assistance while the unit was deployed. Mechanical systems sometimes require this same assistance, but in this case the cost could have been avoided if proper development methodology, quality assurance, and test requirements had been imposed prior to system deployment. In an effort to "get it out to the fleet," we failed to meet our goal of operational improvement and, instead, reduced the readiness of a frontline unit.
The Navy must recognize the need to enforce rigorous software development standards in order to ensure we meet the intent—improved operations. Increasing software and network system complexity and more rapid technological developments require that we educate the people responsible for system acquisition in expected software testing and quality assurance. We must be able to recognize both proper and improper processes, to ensure system operability and compatibility—not just upon delivery, but for the life of the system.
I continue to be amazed at the difference in requirements for acquisition of mechanical and software systems. If it comes on a disk or CD, it seems enough just to slide it in the tray and load it. We must change this perspective and require the testing of the product before we deliver it. This basic truth seems to be lost in the world of impressive graphical user-interface demos and rapid system deployment in the guise of "keeping up with technology." We are making it harder to implement new systems when we allow untested software to be deployed.
I propose that the following steps be initiated to improve our acquisition process:
First, standardize the process in three divisions: small, medium, and large systems. Mandate the use of a development process agreed to by both parties. Included in this process should be an agreement on testing requirements prior to implementation—e.g., reliability requirements, coverage requirements, stress testing, inspection points, and reporting requirements. Standardization of the process does not mean that these are not flexible, but it does mean that both parties must agree on them. One would think that this would be the case now—it is not. Second, establish a formal education process whereby personnel placed in a position to evaluate software systems have the tools necessary to do so. Third, develop quality-assurance practices for software development similar to those in place for mechanical and electrical systems. We don't test in quality. Implementation of the first two steps will facilitate the third.
Improving technology provides the Navy with significant opportunities to improve operations and enhance the quality of life of the sailors who we ask to leave their families for months at a time. It also creates a danger of weakening operations when we begin to depend on unreliable, poorly written and tested software. Standard testing and quality-assurance requirements are essential to the successful implementation of new technology.
Lieutenant Commander Desmarais is the maintenance manager of the USS Carl Vinson (CVN-70) at Commander Naval Air Forces Pacific Fleet. He is attending graduate courses in software engineering given by Southern Methodist University.