'DOD-STD-2167A' (
Department of Defense Standard 2167A), titled "Defense Systems Software Development", was a United States
defense standard, published on
February 29,
1988. This document established "uniform requirements for the software development that are applicable throughout the system life cycle." It was designed to be used with
DOD-STD-2168, "Defense System Software Quality Program".
On
December 5th,
1994 it was superseded by
MIL-STD-498, which merged DOD-STD-2167A,
DOD-STD-7935A, and DOD-STD-2168 into a single document, and addressed some vendor criticisms.
Criticisms
One criticism of the standard was that it was biased toward the
Waterfall Model. Although the document states "the contractor is responsible for selecting software development methods (for example, rapid prototyping)", it also required "formal reviews and audits" that seemed to lock the vendor into designing and documenting the system before any implementation began.
Another criticism was the focus on design documents, to the exclusion of
Computer-Aided Software Engineering (CASE) tools being used in the industry. Vendors would often use the CASE tools to design the software, then write several standards-required documents to describe the CASE-formatted data. This created problems matching design documents to the actual product.
One result of these criticisms was to begin designing a successor standard, which became MIL-STD-498. Another result was a preference for formal industry-designed standards (such as
IEEE 12207) and informal "
best practice" specifications, rather than trying to determine the best processes and making them formal specifications.
External links
★
The DOD-STD-2167A standard
★
Summary of DOD-STD-2167A standard
★
Military perspective on replacing DOD-STD-2167A with MIL-STD-498