MIL-STD-498

MIL-STD-498, Military Standard Software Development and Documentation, 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, DOD-STD-2168, DOD-STD-7935A, 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 DOD-STD-2167A which was mainly focused on the risky new area of software development, MIL-STD-498 was the first attempt at comprehensive description of the systems development life-cycle. MIL-STD-498 was the baseline for industry standards (e.g. IEEE 828-2012, IEEE 122077-2017) that followed it. It also contains much of the material that the subsequent professionalization of project management covered in the Project Management Body of Knowledge (PMBOK). The document "MIL-STD-498 Overview and Tailoring Guidebook" is 98 pages. The "MIL-STD-498 Application and Reference Guidebook" is 516 pages. Associated to these were document templates, or Data Item Descriptions, 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, etcetera).

It was one of the few military standards that survived the "Perry Memo", then U.S. Secretary of Defense William Perry's 1994 memorandum commanding the discontinuation of defense standards. However, it was canceled on May 27, 1998, and replaced by the essentially identical demilitarized version EIA J-STD-016  as a process example guide for 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 and presence of process detail including contractually-usable Data Item Descriptions.

In military airborne software, MIL-STD-498 was gradually eclipsed by the civilian airborne software guideline, RTCA DO-178B.

Data Item Descriptions
MIL-STD-498 standard describes the development and documentation in terms of 22 Data Item Descriptions (DIDs), which were standardized documents for recording the results of each the development and support processes, for example, the Software Design Description DID was the standard format for the results of the software design process. Each DID generically describes the required content of a data item, a file or document that describes the system or some aspect of the system life cycle. These documents could take many forms, from source code, to installation scripts, to various electronic and paper reports, and the government contracting party is encouraged to specify acceptable formats. Any software development project (effort) was expected to make selections from the 22 possible documents and list the selections in the Contract Data Requirements List (CDRL) form within the Uniform Contract Format. A CDRL lists the data items which are to be produced and delivered by a contractor as part of that contract. Any Data Item Description is tailored for a specific contract, meaning sections in the standard DID which are not desired for that contract will be identified in the section of the CDRL form provided for that purpose. Exactly which DIDs and what parts of the DIDs are required for a particular system depends on the nature of the project and how parts of it are being produced by contract(s).

The DIDs are:

Plans

 * Software Development Plan (SDP) - A plan for performing the software development
 * 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

Concept/requirements

 * 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

Design

 * System/Subsystem Design Description (SSDD) - The design of the system
 * Software Design Description (SDD) - The design of a CSCI
 * Database Design Description (DBDD) - The design of a database
 * Interface Design Description (IDD) - The design of one or more interfaces

Qualification test products

 * Software Test Plan (STP) - A plan for conducting qualification testing
 * Software Test Description (STD) - Test cases/procedures for qualification testing
 * Software Test Report (STR) - Test results of qualification testing

User/operator manuals

 * 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

Support manuals

 * Computer Programming Manual (CPM) - Instructions for programming a computer
 * Firmware Support Manual (FSM) - Instructions for programming firmware devices

Software product definition

 * 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 files and related information