DOD-STD-2167A
CFICSE 2002 – ST03
Michelle L. Crane
References
James W. Moore, Software Engineering
Standards: A User’s Road Map, IEEE Computer
Society, 1998.
www.software.org/quagmire
Paul A. Szulewski and David S. Maiblor. MIL-
STD-498: What’s New and Some Real Lessons
Learned. CrossTalk. March 1996.
Maj. George A. Newberry, USAF. Changes
from DOD-STD-2167A to MIL-STD-498.
CrossTalk. April 1995.
CFICSE 2002 / ST03 - 2
Outline
vitae
2167A in more details
some key areas
the worst parts?
evolution
CFICSE 2002 / ST03 - 3
Standards We Will Love
DoD-Std
2167A
SW CMM
EIA/IEEE Mil-Std
J-Std-016 498
IEEE/EIA
Std 12207
supersedes
based on ISO 9000
uses/references series ISO/IEC
12207
Reference: http://www.software.org/quagmire/ CFICSE 2002 / ST03 - 4
DOD-STD-2167A
Framework Name
Defense Systems Software Development
Published: 29 Feb 88
Cancelled: 5 Dec 94
Reference: http://www.software.org/quagmire/ CFICSE 2002 / ST03 - 5
Why Study a Dead Standard?
reach at the time
leads to other standards
legacy systems
documentation
CFICSE 2002 / ST03 - 6
Purpose
to establish requirements to be applied
during the acquisition, development, or
support of mission-critical software
systems
Reference: http://www.software.org/quagmire/ CFICSE 2002 / ST03 - 7
Description
requirements of the standard applied to the
development of Computer Software
Configuration Items (CSCIs)
applied to the extent specified in the contract
clauses, the Statement of Work (SOW), and
the Contract Data Requirements List (CDRL)
Reference: http://www.software.org/quagmire/ CFICSE 2002 / ST03 - 8
Relation to Other Frameworks
intended to be used in conjunction with
DOD-STD-2168 (Defense System Software Quality
Program )
superseded by
MIL-STD-498
Reference: http://www.software.org/quagmire/ CFICSE 2002 / ST03 - 9
Reach
was the de facto software development
standard in the US and throughout the world
well accepted for use in software development
though DOD-STD-2167A was superseded by
MIL-STD-498, many existing systems are
documented based on DOD-STD-2167A
in some circumstances, commercial best
practices allow contractors to propose use of
any standard (commercial or otherwise,
including DOD-STD-2167A)
CFICSE 2002 / ST03 - 10
Customer/Developer Relationship
“The requirements of this standard provide the
basis for Government insight into a contractor’s
software development, testing, and evaluation
efforts…This standard is not intended to
specify or discourage the use of any
particular software development method.
The contractor is responsible for selecting
software development methods (for example,
rapid prototyping) that best support the
achievement of contract requirements.”
CFICSE 2002 / ST03 - 11
Process Model
“The software development process shall
include the following major activities, which
may overlap and may be applied
iteratively or recursively:
System Requirements Analysis/Design
Software Requirements Analysis
Preliminary Design
Detailed Design
Coding and CSU Testing
CSC Integration and Testing
CSCI Testing
System Integration and Testing”
CFICSE 2002 / ST03 - 12
Reviews
“During the software development process, the
contractor shall conduct or support formal
reviews and audits as required by the
contract. Guidance on formal reviews and
audits is provided in MIL-STD-1521.”
But:
“The contractor shall conduct one or more Software Specification
Review(s) (SSR) in accordance with MIL-STD-1521.” (ditto for
PDR, CDR, TRR, etc.)”
CFICSE 2002 / ST03 - 13
MIL-STD-1521 HWCI
testing
fabrication
detailed
design
preliminary
design CDR FCA PCA
hardware
requirements
analysis PDR
system system
system
requirements SRR SDR SSR integration FQR
design
analysis and testing
software
PDR
requirements
analysis
preliminary FCA PCA
CDR
design
functional detailed
baseline design
Abbreviations
allocated coding and TRR
SRR system requirements review CSU testing
baseline
SDR system design review CSC
SSR software specification review integration
PDR preliminary design review and testing product
CDR critical design review CSCI baseline
TRR test readiness review testing
FCA functional configuration audit
PCA physical configuration audit
FQR formal qualification review CFICSE 2002 / ST03 - 14
development configuration
Hard Copy Deliverable Data
DOD-STD-2167A identifies 16 separate
deliverable data items, with associated Data
Item Descriptions (DIDs). Many projects
require the developer to prepare and deliver
most or all of the documents in hard copy
format 30 to 60 days prior to the milestone
reviews.
CFICSE 2002 / ST03 - 15
Deliverables
DOD-STD-2167A
Management Technical Test Support
SDP SSS STP SUM
CRISD SSDD STD CSOM
STP SRS STR SPM
VDD IRS FSM
SSS SDD VDD
SSDD IDD
SPS
CFICSE 2002 / ST03 - 16
Abbreviations
CRISD computer resources integrated support document
CSOM computer system operator’s manual
FSM firmware support manual
IDD interface design document
IRS interface requirements specification
SDD software design document
SDP software development plan
SPM software programmer’s manual
SRS software requirements specification
SSDD system/segment design document
SSS system/segment specification
STD software test description
STP software test plan
STR software test report
SUM software user’s manual
VDD version description document
CFICSE 2002 / ST03 - 17
Functional Bias
DOD-STD-2167A assumes that system and software
products are developed following a functional
decomposition approach.
“Requirements” are specified as capabilities with
associated performance and interface parameters and
represent what the item must do.
“Design” details are specified as hardware or software
configuration items, computer software components
(software preliminary design), computer software
units (software detailed design), and represented how
the item satisfies its requirements.
CFICSE 2002 / ST03 - 18
Tailoring
“Per DODD 5000.43, Acquisition Streamlining,
this standard must be appropriately tailored
by the program manager to ensure that only
cost-effective requirements are cited in
defense solicitations and contracts. Tailoring
guidance can be found in DOD-HDBK-248,
Guide for Application and Tailoring of
Requirements for Defense Material
Acquisitions.”
CFICSE 2002 / ST03 - 19
Traceability
“The contractor shall document the traceability of the
requirements allocated from the system specification to each
CSCI, its Computer Software Components (CSCs) and Computer
Software Units (CSUs), and from the CSU level to the Software
Requirements Specifications (SRSs) and Interface Requirements
Specifications (IRS).”
“Traceability as used in this standard means that the document
in question is in agreement with a predecessor document to
which it has a hierarchical relationship. Traceability has five
elements:
the document in question contains or implements all applicable
stipulations of the predecessor document,...
all material in the successor document has its basis in the
predecessor document, that is, no untraceable material has been
introduced, and
the two documents do not contradict one another
CFICSE 2002 / ST03 - 20
Reuse
DOD-STD-2167A provides weak support for reuse with
the following:
“The contractor shall consider incorporating non-developmental
software (NDS) into the deliverable software. The contractor
shall document plans for using NDS. NDS may be incorporated
by the contractor without contracting agency approval only if the
NDS is fully documented in accordance with the requirements of
this standard. The software development files for NDS need not
contain the design considerations, constraints, or data.
Incorporation of NDS shall comply with the data rights
requirements in the contract.”
CFICSE 2002 / ST03 - 21
References for the Standard
DOD-STD-480
Configuration Control - Engineering Changes, Deviations, and
Waivers
MIL-STD-481
ConfigurationControl - Engineering Changes, Deviations, and
Waivers (Short Form).
MIL-STD-490
Specification Practices
MIL-STD-499
Engineering Management
MIL-STD-1521
Reviews and Audits for Systems, Equipments, and
Technical
Computer Software
CFICSE 2002 / ST03 - 22
What Happened to It?
concerns began to surface in regard to
its perceived imposition of the waterfall
development model
inflexibility related to object-oriented design
excessive documentation
no guidance on management indicators
need to incorporate new development techniques
such as reuse and reengineering
also,DoD began to eliminate unnecessary
standards and consolidate others where
appropriate
Reference: Newberry CFICSE 2002 / ST03 - 23
What Happened to It? (cont’d)
1991: Joint Logistics Commanders (JLC)
established the Harmonization Working Group
(HW)
more than 50 individuals from software
communities within the services, defense agencies,
federal agencies, US commercial industry, defense
ministries of Canada, Germany and UK
tasked to resolve the concerns raised about DOD-
STD-2167A and combine it with other DoD
software standards
resultant document was MIL-STD-498…
Reference: Newberry CFICSE 2002 / ST03 - 24
Summary
vitae
2167A in more details
some key areas
the worst parts?
evolution
CFICSE 2002 / ST03 - 25
CFICSE 2002 / ST03 - 26