MIL-STD-498

MIL-STD-498 (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, 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 "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 systems development 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 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.

Methodologies
Paragraph 4.1, “major activities may overlap, may be applied iteratively, may be applied differently to different elements of software...need not be performed in the order listed.” In terms of methodologies, MIL-STD-498 mitigates against the use of the Waterfall Model in non safety-critical projects, as it is seen to introduce time-based dependencies causing major budget and cost overruns due to its more formal and bureaucratic approach. MIL-STD-498 encourages a more iterative approach to software development which recognizes the fact that requirements change and understanding the design is an evolutionary process.

Data Item Descriptions
Mil-Std-498 standard describes the development and documentation in terms of 22 Data Item Descriptions (DIDs) from which an effort will select to conduct the system development and support efforts. 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 contracting party (e.g., the government) is encouraged to specify acceptable formats. Any data item description is tailored for a specific contract, meaning sections not desired for a particular effort are identified as not to be provided as part of identifying the Contract Data Requirements List (CDRL) of what items are to be produced and delivered by a contractor. 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

 * 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