(Military-Standard-498) was a United States military standard
whose purpose was to "establish uniform requirements for software development and documentation." It was released Nov. 8, 1994, and replaced DOD-STD-2167A
, and DOD-STD-1703
. It was meant as an interim standard, to be in effect for about two years until a commercial standard was developed.
Unlike previous efforts like the seminal "2167A" which was mainly focused on the risky new area of software development, "498" was the first attempt at a truly comprehensive description of the system level life-cycle. It was the baseline that all of the ISO, IEEE, and related efforts after it replaced. It also contains much of the material that the subsequent professionalization of Project Management covered in the PMBOK. The document "MIL-STD-498 Overview and Tailoring Guidebook" is 98 pages. The "MIL-STD-498 Application and Reference Guidebook" is 516 pages. And then there were the document templates or DIDs described below, bringing documentation and process order that could scale to projects of the size humans were then conducting (aircraft, battleships, canals, dams, factories, satellites, submarines, etc.).
It was one of the few military standards that survived the infamous "Perry Memo", then U.S. Secretary of Defense William Perry's written command that, effectively, the U.S. military did not require special standards any more, from hammers to systems. However, it was cancelled on May 27, 1998 and replaced by J-STD-016 and IEEE 12207. Several programs outside of the U.S. military continued to use the standard, due to familiarity and perceived advantages over alternative standards, such as free availability of the standards documents.
Data Item Descriptions
A key component of the standard is 22 Data Item Descriptions (DIDs). Each DID generically describes the required content of a data item
, a "document" that describes the software or some aspect of the software life-cycle. These documents could take many forms, from source code, to installation scripts, to various electronic and paper reports, and the contracting party (e.g., the government) is encouraged to specify acceptable formats. The set of data item descriptions, once tailored for a specific contract, then become Contract Data Requirement List items ("CDRLs") that represent the deliverable items of a contract. Depending on the nature of the project, not all data items may be required.
The DIDs are:
- Software Development Plan (SDP) - A plan for performing the software development
- Software Test Plan (STP) - A plan for conducting qualification testing
- Software Installation Plan (SIP) - A plan for installing the software at user sites
- Software Transition Plan (STrP) - A plan for transitioning to the support agency
- Operational Concept Description (OCD) - The operational concept for the system
- System/Subsystem Specification (SSS) - The requirements to be met by the system
- Software Requirements Specification (SRS) - The requirements to be met by a Computer Software Configuration Item (CSCI)
- Interface Requirements Specification (IRS) - The requirements for one or more interfaces
- System/Subsystem Design Description (SSDD) - The design of the system
- Software Design Description (SDD) - The design of a CSCI
- Interface Design Description (IDD) - The design of one or more interfaces
- Database Design Description (DBDD) - The design of a database
- Software Test Description (STD) - Test cases/procedures for qualification testing
- Software Test Report (STR) - Test results of qualification testing
- Software Product Specification (SPS) - The executable software, the source files, and information to be used for support
- Software Version Description (SVD) - A list of delivered file and related information
- Software User Manual (SUM) - Instructions for hands-on users of the software
- Software Input/Output Manual (SIOM) - Instructions for users of a batch or interactive software system that is installed in a computer center
- Software Center Operator Manual (SCOM) - Instructions for operators of a batch or interactive software system that is installed in a computer center
- Computer Operation Manual (COM) - Instructions for operating a computer
- Computer Programming Manual (CPM) - Instructions for programming a computer
- Firmware Support Manual (FSM) - Instructions for programming firmware devices