498GBOT
-
Upload
emiliano-pandolfi -
Category
Documents
-
view
215 -
download
0
Transcript of 498GBOT
-
8/7/2019 498GBOT
1/109
MIL-STD-498Overview and Tailoring
GUIDEBOOK
MIL-STD-498
Software Development and Documentation
OVERVIEWAND
TAILORINGAPPLICATION
ANDREFERENCE
-
8/7/2019 498GBOT
2/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page ii
This page is intentionally blank.
-
8/7/2019 498GBOT
3/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page iii
CONTENTS
Paragraph Page
FOREWORD .............................................................................................................................vii
EXECUTIVE OVERVIEW.........................................................................................................viii
PARTICIPANTS ......................................................................................................................... x
1. SCOPE.............................................................................................................................. 1
1.1 Purpose................................................................................................................... 11.2 Application of the guidebook................................................................................... 1
1.2.1 Intended audience.................................................................................... 11.2.2 Use on contracts ...................................................................................... 1
1.3 Organization of the guidebook ................................................................................ 1
2. DOCUMENTS MENTIONED IN THIS GUIDEBOOK......................................................... 22.1 Government documents.......................................................................................... 2
2.1.1 Specifications, standards, and handbooks ............................................... 22.1.2 Other government documents, drawings, and publications...................... 2
2.2 Non-government publications.................................................................................. 2
3. DEFINITIONS.................................................................................................................... 3
4. OBJECTIVES, OVERVIEW, KEY CONCEPTS, AND CONVERSION............................... 94.1 Objectives of MIL-STD-498..................................................................................... 9
4.1.1 Merge DOD-STD-2167A and DOD-STD-7935A....................................... 9
4.1.2 Resolve issues identified in applying DOD-STD-2167A .......................... 104.1.3 Ensure compatibility with current DoD instructions, standards, andhandbooks............................................................................................... 11
4.2 Overview of MIL-STD-498...................................................................................... 124.2.1 Organization of MIL-STD-498.................................................................. 124 2 2 Overview of MIL STD 498's general requirements 13
-
8/7/2019 498GBOT
4/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page iv
4.3.13 Distinguishing between software quality assurance and softwareproduct evaluation................................................................................... 33
4.3.14 Application of configuration management to in-process work products... 344.3.15 Relationship to other related standards................................................... 354.3.16 Ordering the software via the CDRL (DD Form 1423) ............................. 354.3.17 Tailoring................................................................................................... 364.3.18 The importance of plans.......................................................................... 36
4.4 Converting to MIL-STD-498 from DOD-STD-2167A and DOD-STD-7935A........... 37
5. TAILORING AND APPLICATION GUIDANCE ................................................................. 41
5.1 Approval of MIL-STD-498....................................................................................... 415.2 Ways of applying MIL-STD-498 ............................................................................. 415.3 Information about tailoring...................................................................................... 42
5.3.1 What is tailoring....................................................................................... 425.3.2 Why tailor ................................................................................................ 425.3.3 When is tailoring performed..................................................................... 435.3.4 Who performs tailoring ............................................................................ 45
5.4 Tailoring and applying MIL-STD-498...................................................................... 465.4.1 Step 1: Determining the context of the software development .............. 465.4.2 Step 2: Determining the program strategy for the system ..................... 465.4.3 Step 3: Selecting a strategy for acquiring the software ......................... 475.4.4 Step 4: Selecting the software support concept .................................... 495.4.5 Step 5: Identifying types of software on the project............................... 55
5.4.6 Step 6: Defining the software builds ...................................................... 565.4.7 Step 7: Tailoring MIL-STD-498 for each build ....................................... 595.4.8 Step 8: Tailoring the DIDs as activity checklists .................................... 615.4.9 Step 9: Recording tailoring decisions in the Statement of Work............ 625.4.10 Step 10: Clarifying "shell requirements".................................................. 635.4.11 Step 11: Selecting deliverables .............................................................. 65
5.4.12 Step 12: Tailoring the DIDs for deliverables ........................................... 665.4.13 Step 13: Selecting the format of deliverables ......................................... 675.4.14 Step 14: Scheduling deliverables ........................................................... 695.4.15 Step 15: Preparing the CDRL (DD Form 1423) ...................................... 705.4.16 Step 16: Including SDP preparation in Instructions to Bidders ............... 715 4 17 Step 17: Evaluating Software Development Plans 72
-
8/7/2019 498GBOT
5/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page v
FIGURESFigure Page
1 Objectives of MIL-STD-498................................................................................... 92 Issues identified in applying DOD-STD-2167A...................................................... 103 The MIL-STD-498 package.................................................................................... 124 Organization of MIL-STD-498 ................................................................................ 125 Overview of MIL-STD-498's general requirements................................................. 136 Overview of MIL-STD-498's detailed requirements................................................ 147 The MIL-STD-498 DIDs.......................................................................................... 18
8 Overview of MIL-STD-498 DIDs and the resulting software products .................... 199 Players and agreements assumed by MIL-STD-498.............................................. 22
10 One possible mapping of MIL-STD-498 activities to multiple builds....................... 2411 Excessive documentation ...................................................................................... 2512 Role of DIDs and software products in MIL-STD-498............................................. 2613 Two types of systems handled by MIL-STD-498.................................................... 2714 Illustration of the use of quantitative measures...................................................... 2715 MIL-STD-498 provisions supporting modification, reuse, and reengineering ......... 2816 MIL-STD-498 provisions that promote software supportability ............................... 2917 Contrasting definitions of requirements and design ............................................... 3018 Flexibility in handling design entities, code entities, and files................................. 3119 Methodology independence of MIL-STD-498......................................................... 3220 Relationship of the terms software, computer program, and
computer database ................................................................................................ 3221 MIL-STD-498's use of objective and subjective criteria.......................................... 3322 Avoiding overlap of SQA with other evaluation/testing activities ............................ 3423 Tiering of standards ............................................................................................... 3524 The MIL-STD-498 plans ......................................................................................... 3625 Mapping of key terms............................................................................................. 37
26 Mapping of DOD-STD-7935A DIDs to MIL-STD-498 DIDs..................................... 3827 Mapping of DOD-STD-2167A DIDs to MIL-STD-498 DIDs..................................... 3928 Mapping of MIL-STD-498 DIDs to DOD-STD-2167A and
DOD-STD-7935A DIDs .......................................................................................... 4029 Ways of applying MIL-STD-498 ............................................................................. 4130 Overview of the tailoring process 42
-
8/7/2019 498GBOT
6/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page vi
45 Using the worksheets to record tailoring decisions ................................................ 5946 Process for tailoring the standard........................................................................... 6047 Relationship of tailoring decisions for the standard and DIDS ............................... 6148 Sample language for specifying tailoring in the Statement of Work ....................... 6249 MIL-STD-498's "shell requirements"....................................................................... 6350 Distinguishing between preparation and delivery of software products.................. 6551 Alternative "homes" for selected information......................................................... 6652 Combining software products into a single deliverable ......................................... 6753 Sample CDRL wording for combining deliverables ................................................ 6854 Sequential versus incremental/overlapping delivery of software products ............. 69
55 Examples of information that can be included in Block 16 ..................................... 7056 Requiring an SDP in proposals as well as after contract award............................. 7157 Ways of achieving visibility into the evolving software............................................ 7258 Ingredients for successful joint reviews.................................................................. 7359 Mapping between DOD-ST--2168 and MIL-STD-498............................................. 7860 Sample build planning and tailoring worksheet for MIL-STD-498........................... 8261 Sample build planning and tailoring worksheet for a DID....................................... 96
-
8/7/2019 498GBOT
7/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page vii
FOREWORD
1. This guidebook is available for use by all departments and agencies of the Department of
Defense (DoD) or any other government agency.
2. MIL-STD-498, Software Development and Documentation, identifies a set of software
development activities and defines the software products to be generated by those activities.
In order to use the standard effectively, all parties involved in a software development effort
need to understand the principles that underlie the standard. This guidebook is intended to
help the acquirer understand and apply MIL-STD-498, but, it can be useful to developers and
other parties.
3. This guidebook is the first of two guidebooks prepared by DoD for use with MIL-STD-498.
The two guidebooks are:
1) MIL-STD-498 Overview and Tailoring Guidebook. The first guidebook provides thefollowing:
Objectives of MIL-STD-498
Overview of the standard
Key concepts of the standard
Conversion guide
Tailoring and application guidance
2) MIL-STD-498 Application and Reference Guidebook. The second guidebookprovides the following:
(PDF i ) MIL STD 498 O i d T il i G id b k P iii
-
8/7/2019 498GBOT
8/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page viii
EXECUTIVE OVERVIEW
MIL-STD-498 is a standard for the software development process. It is applicable throughout
the system life cycle. It establishes uniform requirements for acquiring, developing, modifying,and documenting software. It defines standard terminology and establishes activities, tasks,
and products for a software development or maintenance project. It can be applied to any type
of software, including application software, operating system software, the software portion of
firmware, reusable software, and software employed to develop deliverable software.
The activities in the standard form a comprehensive set, sufficient for a large, complex project,
but scalable and adaptable to suit the needs of small ones. The standard is meant to be
tailored as needed for each project by specifying in the contract which provisions of the
standard apply.
The standard is intended to be responsive to the rapidly evolving software discipline. It is
independent of any particular methodology, ensuring the acquirer's right to specify the product
and the developer's right to be technologically creative and innovative. In particular:
The activities and tasks in the standard tell what to do, not how to do it. For example,the standard requires the developer to perform architectural design, but does notrequire use of the object-oriented design method.
The standard does not specify or encourage any software life cycle model (Waterfall,Incremental, Evolutionary, Spiral, etc.). Instead, the standard provides the buildingblocks needed to carry out the life cycle model selected for a software project.
The standard does not specify or depend on any design or programming language. Itis meant to be applicable regardless of the language used.
The standard provides flexibility regarding documentation:
(PDF i ) MIL STD 498 O i d T il i G id b k P i
-
8/7/2019 498GBOT
9/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page ix
The standard provides a performance-based distinction between requirements for aproduct and design of a product. A requirement is a characteristic that a system orsoftware item is required to possess to be acceptable to the acquirer, while design isa characteristic that the acquirer is willing to leave up to the developer. Thisemphasis on required performance can allow a developer to provide quality productsat reduced costs when unique product solutions are not required.
MIL-STD-498 specifically removes key problems found in the use of predecessor standards.
MIL-STD-498:
a. Is usable with any development strategy. MIL-STD-498 has been structured to betteraccommodate development models other than the traditional "Waterfall" model; toavoid time-oriented dependencies and implications; to provide alternatives to formalreviews (that can force a Waterfall development model); and to explain how to applythe standard across multiple builds or iterations.
b. Is usable with any development methods. To improve compatibility withobject-oriented and other methods not using functional decomposition, MIL-STD-498allows the developer to define the design and implementation structures, and to usethat structure in the documentation.
c. Is compatible with CASE tools. MIL-STD-498 recognizes that much of the significantwork on a software development project does not involve writing documents. Thestandard: (1) separates planning and engineering activities from preparation ofdeliverables to make it easier to call for one without the other; (2) provides languagethat permits the recording of project information in forms other than traditionaldocuments, such as CASE tools; (3) acknowledges data in CASE tools as asubstitute for traditional documents; and (4) provides guidance to preventunnecessary deliverables.
d. Provides requirements for software reuse. MIL-STD-498 recognizes that manyprojects incorporate or are based on reusable software. To provide clearerrequirements when this is the case, the standard: (1) identifies criteria for usein evaluating reusable software, and (2) provides guidance on interpreting
(PDF version) MIL STD 498 Overview and Tailoring Guidebook Page 10
-
8/7/2019 498GBOT
10/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 10
PARTICIPANTS
The MIL-STD-498 Overview and Tailoring Guidebook was sponsored by the Joint Logistics
Commanders (JLC) Joint Policy Coordinating Group on Computer Resource Management
(JPCG-CRM), and was developed by Logicon under the direction of the MIL-STD-498
Harmonization Working Group (HWG). At the time this guidebook was completed, the HWG
had the following membership:
Dr. Raghu Singh, SPAWAR, HWG Chairman
Norma Stopyra, SPAWAR, MIL-STD-498 Guidebook Product Manager
Paul Anderson, SPAWAR
Larry Baker, DSMC
Perry DeWeese, CODSIA
C. "Jay" Ferguson (NSA)
Robert Gagnon, OASD (ES)
Susan Gardner, FAA
Joseph Gianuzzi, SEI
Robert Hegland, USAISSC
Alan Huguley, DMA
Tim Janes, MoD, UK
Capt. Jonathan Liles, HQ AFMC
Donna McCloud, HQ DLA
LTC. Dixie McNeme, USA
Fred Moxley, DISA
Glenn Plonk, NSA
Linda Sheets, AFMC
Mary Synder, USN
Guidebook Developers:
Myrna Olson
Stuart Campbell
Dorothy Kuckuck (PDF version) MIL STD 498 Overview and Tailoring Guidebook Page 1
-
8/7/2019 498GBOT
11/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 1
1. SCOPE
1.1 Purpose. The purpose of this guidebook is to:
a. Describe the objectives of MIL-STD-498
b. Provide an overview of the standard and explain its key concepts
c. Provide a conversion guide from DOD-STD-2167A and DOD-STD-7935A
d. Provide guidance on applying MIL-STD-498
1.2 Application of the guidebook. This guidebook is intended to be applied as follows.
1.2.1 Intended audience. This guidebook is addressed to the acquirer, that is, to an
organization that procures software products for itself or for another organization. It can alsobe used by developers and other parties, but its focus is on helping the acquirer understand
and apply MIL-STD-498.
1.2.2 Use on contracts. This guidebook is not intended to be included in procurements or
contracts as a contractually binding document. It is meant to provide guidance only.
1.3 Organization of the guidebook. This guidebook is organized into five major sections.
a. Section 1 defines the purpose, application, and organization of the guidebook.
b. Section 2 provides information about documents mentioned in the guidebook.c. Section 3 defines key terms used in the guidebook.
d. Section 4 describes the objectives of MIL-STD-498, provides an overview of the
standard explains its key concepts and provides a conversion guide from (PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 2
-
8/7/2019 498GBOT
12/109
(PDF version) MIL STD 498 Overview and Tailoring Guidebook Page 2
2. DOCUMENTS MENTIONED IN THIS GUIDEBOOK
This section identifies documents mentioned in sections 3, 4 and 5 of this guidebook.
2.1 Government documents.
2.1.1 Specifications, standards, and handbooks. The following specifications, standards,
and handbooks are mentioned in this guidebook. Unless otherwise specified, the issues of
these documents are those listed in the Department of Defense Index of Specifications and
Standards (DoDISS) and supplements thereto.
SPECIFICATIONS: None
STANDARDS, MILITARY
MIL-STD-498 - Software Development and Documentation
DOD-STD-1703* - Software Product Standards
DOD-STD-2167A* - Defense System Software Development
DOD-STD-7935A* - DoD Automated Information Systems (AIS) Documentation
Standards
DOD-STD-2168** - Defense System Software Quality Program
* Superseded by MIL-STD-498
** Discussed in this guidebook to aid in the transition to MIL-STD-498
HANDBOOKS, MILITARY: None
Unless otherwise indicated copies of federal and military specifications standards and (PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 3
-
8/7/2019 498GBOT
13/109
(PDF version) MIL STD 498 Overview and Tailoring Guidebook Page 3
3. DEFINITIONS
The definitions below are the same as those in MIL-STD-498. They are provided here to aid in
using this guidebook. A list of acronyms used in this guidebook can be found inAppendix A.
3.1 Acceptance. An action by an authorized representative of the acquirer by which the
acquirer assumes ownership of software products as partial or complete performance of a
contract.
3.2 Acquirer. An organization that procures software products for itself or another
organization.
3.3 Approval. Written notification by an authorized representative of the acquirer that a
developer's plans, design, or other aspects of the project appear to be sound and can be used
as the basis for further work. Such approval does not shift responsibility from the developer to
meet contractual requirements.
3.4 Architecture. The organizational structure of a system or CSCI, identifying its
components, their interfaces, and a concept of execution among them.
3.5 Associate developer. An organization that is neither prime contractor nor
subcontractor to the developer, but who has a development role on the same or related system
or project.
3.6 Behavioral design. The design of how an overall system or CSCI will behave, from a
user's point of view, in meeting its requirements, ignoring the internal implementation of the
system or CSCI This design contrasts with architectural design which identifies the internal (PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 4
-
8/7/2019 498GBOT
14/109
(PDF version) MIL STD 498 Overview and Tailoring Guidebook Page 4
3.9 Computer hardware. Devices capable of accepting and storing computer data,
executing a systematic sequence of operations on computer data, or producing control
outputs. Such devices can perform substantial interpretation, computation, communication,
control, or other logical functions.
3.10 Computer program. A combination of computer instructions and data definitions that
enable computer hardware to perform computational or control functions.
3.11 Computer software. See software.
3.12 Computer Software Configuration Item (CSCI). An aggregation of software that
satisfies an end use function and is designated for separate configuration management by the
acquirer. CSCIs are selected based on tradeoffs among software function, size, host or target
computers, developer, support concept, plans for reuse, criticality, interface considerations,
need to be separately documented and controlled, and other factors.
3.13 Configuration Item. An aggregation of hardware, software, or both that satisfies an
end use function and is designated for separate configuration management by the acquirer.
3.14 Database. A collection of related data stored in one or more computerized files in a
manner that can be accessed by users or computer programs via a database management
system.
3.15 Database management system. An integrated set of computer programs that provide
the capabilities needed to establish, modify, make available, and maintain the integrity of a
database.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 5
-
8/7/2019 498GBOT
15/109
( ) g g
3.18 Developer. An organization that develops software products ("develops" may include
new development, modification, reuse, reengineering, maintenance, or any other activity that
results in software products). The developer may be a contractor or a government agency.
3.19 Document/documentation. A collection of data, regardless of the medium on which it
is recorded, that generally has permanence and can be read by humans or machines.
3.20 Evaluation. The process of determining whether an item or activity meets specified
criteria.
3.21 Firmware. The combination of a hardware device and computer instructions and/or
computer data that reside as read-only software on the hardware device.
3.22 Hardware Configuration Item (HWCI). An aggregation of hardware that satisfies an
end use function and is designated for separate configuration management by the acquirer.
3.23 Independent verification and validation (IV&V). Systematic evaluation of software
products and activities by an agency that is not responsible for developing the product or
performing the activity being evaluated. IV&V is not within the scope of this standard.
3.24 Interface. In software development, a relationship among two or more entities (such
as CSCI-CSCI, CSCI-HWCI, CSCI-user, or software unit-software unit) in which the entities
share, provide, or exchange data. An interface is not a CSCI, software unit, or other system
component; it is a relationship among them.
3.25 Joint review. A process or meeting involving representatives of both the acquirer and
the developer during which project status software products and/or project issues are (PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 6
-
8/7/2019 498GBOT
16/109
( ) g g
3.29 Reengineering. The process of examining and altering an existing system to
reconstitute it in a new form. May include reverse engineering (analyzing a system and
producing a representation at a higher level of abstraction, such as design from code),
restructuring (transforming a system from one representation to another at the same level ofabstraction), redocumentation (analyzing a system and producing user or support
documentation), forward engineering (using software products derived from an existing
system, together with new requirements, to produce a new system), retargeting (transforming a
system to install it on a different target system), and translation (transforming source code from
one language to another or from one version of a language to another).
3.30 Requirement. (1) A characteristic that a system or CSCI must possess in order to be
acceptable to the acquirer. (2) A mandatory statement in this standard or another portion of
the contract.
3.31 Reusable software product. A software product developed for one use but having
other uses, or one developed specifically to be usable on multiple projects or in multiple roles
on one project. Examples include, but are not limited to, commercial off-the-shelf software
products, acquirer-furnished software products, software products in reuse libraries, and
preexisting developer software products. Each use may include all or part of the software
product and may involve its modification. This term can be applied to any software product (for
example, requirements, architectures, etc.), not just to software itself.
3.32 Software. Computer programs and computer databases. Note: Although some
definitions of software include documentation, MIL-STD-498 limits the definition to computer
programs and computer databases in accordance with Defense Federal Acquisition Regulation
Supplement 227.401.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 7
-
8/7/2019 498GBOT
17/109
3.35 Software development library (SDL). A controlled collection of software,
documentation, other intermediate and final software products, and associated tools and
procedures used to facilitate the orderly development and subsequent support of software.
3.36 Software development process. An organized set of activities performed to translate
user needs into software products.
3.37 Software engineering. In general usage, a synonym for software development. As
used in this standard, a subset of software development consisting of all activities except
qualification testing. The standard makes this distinction for the sole purpose of giving
separate names to the software engineering and software test environments.
3.38 Software engineering environment. The facilities, hardware, software, firmware,
procedures, and documentation needed to perform software engineering. Elements may
include but are not limited to computer-aided software engineering (CASE) tools, compilers,
assemblers, linkers, loaders, operating systems, debuggers, simulators, emulators,
documentation tools, and database management systems.
3.39 Software product. Software or associated information created, modified, or
incorporated to satisfy a contract. Examples include plans, requirements, design, code,
databases, test information, and manuals.
3.40 Software quality. The ability of software to satisfy its specified requirements.
3.41 Software support. The set of activities that takes place to ensure that software
installed for operational use continues to perform as intended and fulfill its intended role in
system operation Software support includes software maintenance aid to users and related (PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 8
-
8/7/2019 498GBOT
18/109
3.44 Software transition. The set of activities that enables responsibility for software
development to pass from one organization, usually the organization that performs initial
software development, to another, usually the organization that will perform software support.
3.45 Software unit. An element in the design of a CSCI; for example, a major subdivision
of a CSCI, a component of that subdivision, a class, object, module, function, routine, or
database. Software units may occur at different levels of a hierarchy and may consist of other
software units. Software units in the design may or may not have a one-to-one relationship
with the code and data entities (routines, procedures, databases, data files, etc.) that
implement them or with the computer files containing those entities.
3.46 Support (of software). See software support.
3.47 Transition (of software). See software transition.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 9
-
8/7/2019 498GBOT
19/109
4. OBJECTIVES, OVERVIEW, KEY CONCEPTS, AND CONVERSION
This section describes the objectives of MIL-STD-498, provides an overview of the standard,
explains its key concepts, and provides a conversion guide from DOD-STD-2167A andDOD-STD-7935A.
4.1 Objectives of MIL-STD-498. MIL-STD-498 was developed with three primary
objectives. These objectives are illustrated inFigure 1 and discussed in the following
paragraphs.
Resolve DOD-STD-2167A issues raised in applying Merge DOD-STD-2167A
MIL-STD-498 Incorporate DOD-STD-7935A changes in DoD Directives, Instructions, etc.
FIGURE 1. Objectives of MIL-STD-498.
4.1.1 Merge DOD-STD-2167A and DOD-STD-7935A.
a. Former standards. Before the development of MIL-STD-498, there were two primary
software development and documentation standards in the DoD:
1) DOD-STD-2167A, Defense System Software Development. This standard was
used for mission critical systems. It defined a software development process and
had 16 Data Item Descriptions (DIDs) defining documentation.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 10
-
8/7/2019 498GBOT
20/109
c. Relationship to DOD-STD-1703. One of the participants in the MIL-STD-498 project
was the National Security Agency (NSA). During the project, NSA decided to adopt
MIL-STD-498 in place of its software development standard DOD-STD-1703 (NS),
Software Product Standards. As a result, DOD-STD-1703, though not merged withDOD-STD-2167A and DOD-STD-7935A, was superseded along with them.
4.1.2 Resolve issues identified in applying DOD-STD-2167A.
a. Issues raised. During the time that DOD-STD-2167A was in use, a number of issueswere identified regarding its use. Figure 2 presents the primary issues.
ISSUES IDENTIFIED IN APPLYING DOD-STD-2167A
1) Improve compatibility with Incremental and Evolutionary development models
2) Decrease dependence on formal reviews and audits
3) Decrease emphasis on preparing documentation
4) Improve compatibility with computer-aided software engineering (CASE) tools
5) Improve links to systems engineering
6) Include the use of software management indicators7) Improve coverage of modification, reuse, and reengineering
8) Increase emphasis on software supportability
9) Provide a clearer distinction between requirements and design
10) Improve compatibility with non-hierarchical design methods
11) Improve coverage of database development
12) Improve the criteria used for software product evaluations
13) Eliminate confusion between software quality assurance and software product evaluation
14) Extend configuration management concepts to in-process work products
15) Clarify relationships to other standards
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 11
-
8/7/2019 498GBOT
21/109
4.1.3 Ensure compatibility with current DoD instructions, standards, and handbooks.
a. Changing environment. Between the time that DOD-STD-2167A and
DOD-STD-7935A were issued and the time that MIL-STD-498 was begun, significantchanges were made in DoD directives, instructions, standards, and handbooks
affecting software development. Key documents developed or undergoing change at
that time were DoDI 5000.2 and DoDI 8120.2 as well as standards and handbooks on
systems engineering, configuration management, and software support.
b. Ensuring compatibility. This changing environment for software development
resulted in the third objective for MIL-STD-498: ensure that the merged standard would
be compatible with the changes being made to these documents.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 12
-
8/7/2019 498GBOT
22/109
4.2 Overview of MIL-STD-498. The MIL-STD-498 package consists of the standard and
22 Data Item Descriptions (DIDs), as illustrated in Figure 3. The paragraphs that follow provide
an overview of the standard and its DIDs.
. . .
MIL-STD-498
22
Data Item
Descriptions
(DIDs)
FIGURE 3. The MIL-STD-498 package.
4.2.1 Organization of MIL-STD-498. Figure 4 shows the organization of MIL-STD-498. Its
requirements are presented in Sections 4 and 5 of the standard. The remainder of the
standard provides details for selected requirements and associated material such as definitions
and application guidance.
ORGANIZATION OF MIL-STD-498
Section 1: Scope (including purpose and applicability)
Section 2: Referenced Documents
Section 3: Definitions
Section 4: General Requirements
Section 5: Detailed Requirements
Appendixes
Appendix A: Acronyms
Appendix B: Interpreting MIL-STD-498 for Incorporation of Reusable Software Products
Appendix C: Category and Priority Classifications for Problem Reporting
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 13
http://498-std.pdf/http://498-std.pdf/http://498-std.pdf/http://498-std.pdf/ -
8/7/2019 498GBOT
23/109
4.2.2 Overview of MIL-STD-498's general requirements. Figure 5 provides an overview of
MIL-STD-498's general requirements, presented in Section 4 of the standard. These
requirements apply across all detailed requirements presented in Section 5 of the standard.
OVERVIEW OF MIL-STD-498 GENERAL REQUIREMENTS
4.1 Establish a software development process consistent with contract requirements
4.2 General requirements for software development
- Use systematic, documented methods
- Develop and apply standards for representing requirements, design, code, and test
information
- Reuse software products as appropriate:
- Evaluate reusable software products for use in fulfilling contract requirements; incorporate
those that meet the criteria in the Software Development Plan
- Identify opportunities for developing software products for reuse; notify the acquirer of
those that have cost benefits and are consistent with program objectives
- Establish and apply strategies for handling critical requirements, such as those with safety,
security, or privacy implications
- Analyze and fulfill the computer hardware resource utilization requirements (such as memory
reserves)
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 14
http://498-std.pdf/http://498-std.pdf/http://498-std.pdf/http://498-std.pdf/ -
8/7/2019 498GBOT
24/109
OVERVIEW OF MIL-STD-498 DETAILED REQUIREMENTS
5.1 Project planning and oversight- Plan the software development effort
- Plan for computer software configuration item (CSCI) qualification testing
- Participate in planning for system testing
- Plan for installing the software at user sites
- Plan for transitioning the software to the support agency
- Follow approved plans; conduct management reviews; get approval for updates
5.2 Establishing a software development environment
- Establish, control, and maintain:
- A software engineering environment
- A software test environment- A software development library
- Software development files
- Use non-deliverable software only if operation/support of the deliverable software do not
depend on it or if the acquirer has or can obtain the same software
5.3 System requirements analysis
- Analyze user input provided by the acquirer
- Participate in defining and recording the system operational concept
- Participate in defining and recording system requirements
5.4 System design- Participate in defining and recording the system-wide design decisions
- Participate in defining and recording the system architectural design
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 15
-
8/7/2019 498GBOT
25/109
OVERVIEW OF MIL-STD-498 DETAILED REQUIREMENTS - (continued)
5.7 Software implementation and unit testing- Develop and record software corresponding to each software unit
- Prepare test cases, procedures, and data for unit testing
- Perform unit testing
- Revise and retest as needed
- Analyze and record test results
5.8 Unit integration and testing
- Prepare test cases, procedures, and data for unit integration and testing
- Perform unit integration and testing
- Revise and retest as needed
- Analyze and record test results
5.9 CSCI qualification testing
- Assign responsibility to persons who did not perform detailed design or implementation
- Include testing on the target computer system or an approved alternative
- Prepare test cases, procedures, and data for CSCI qualification testing
- Dry run the test cases if testing is to be witnessed by the acquirer
- Perform CSCI qualification testing
- Revise and retest as needed
- Analyze and record test results
5.10 CSCI/HWCI integration and testing- Prepare test cases, procedures, and data for CSCI/HWCI integration and testing
- Perform CSCI/HWCI integration and testing
- Revise and retest as needed
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 16
-
8/7/2019 498GBOT
26/109
OVERVIEW OF MIL-STD-498 DETAILED REQUIREMENTS - (continued)
5.12 Preparing for software use- Prepare the executable software for user sites
- Identify and record the exact version of software to be sent to each site
- Prepare information needed for:
- Hands-on use of the software
- Submitting (batch) inputs and interpreting outputs
- Operating the software in software centers or networked environments
- Operating the computers
- Install at user sites; provide training and other assistance as required
5.13 Preparing for software transition
- Prepare the executable software for the support site- Prepare the source files for the support site
- Identify and record the exact version of software to be sent to the support site
- Update the CSCI design descriptions and prepare other information needed for support
- Update the system design descriptions
- Prepare information needed to:
- Program the host and target computers
- Program/reprogram the firmware devices
- Install the software at the support site; demonstrate that it can be regenerated from source
files; provide training and other assistance as required
5.14 Software configuration management
- Identify all entities to be controlled during development: computer files, documents, other
software products, and elements of the software environments
- Establish and implement procedures for controlling each entity
Prepare/maintain records of the stat s of all entities nder project le el or higher control
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 17
-
8/7/2019 498GBOT
27/109
OVERVIEW OF MIL-STD-498 DETAILED REQUIREMENTS - (continued)
5.16 Software quality assurance- Perform on-going evaluations to assure that:
- Activities required by the contract or described in the software development plan (SDP) are
being performed in accordance with the contract and SDP
- Required software products exist and have undergone software product evaluation, testing,
and corrective action as required by the standard and contract
- Prepare records of the evaluations
- Assign responsibility to persons other than those who developed the software product,
performed the activity, or are responsible for the product or activity
5.17 Corrective action
- Prepare problem/change reports for problems found in:- Software products under project-level or higher control
- Activities required by the contract or described in the software development plan
- Implement a corrective action system for handling these problems
5.18 Joint technical and management reviews
- Plan and participate in joint (acquirer/developer) technical reviews
- Plan and participate in joint management reviews
5.19 Other activities
- Identify project risks; develop/implement strategies to manage them
- Identify and apply software management indicators- Comply with the security and privacy requirements in the contract
- Include in subcontracts all requirements necessary to ensure that software products are
developed in accordance with the prime contract
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 18
-
8/7/2019 498GBOT
28/109
4.2.4 Overview of the MIL-STD-498 DIDs. MIL-STD-498 provides 22 DIDs from which an
appropriate set can be selected for a project. Figure 7 identifies the DIDs. Figure 8 provides
an overview of each DID and the resulting software product. Section4.4 shows the
relationship of the MIL-STD-498 DIDs to those for DOD-STD-2167A and DOD-STD-7935A.Section 6.2 of MIL-STD-498 provides a cross-reference to associated paragraphs of the
standard.
MIL-STD-498 DID Resulting Software Product
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 CSCI
Interface Requirements Specification (IRS) The requirements for one or more interfaces
System/Subsystem Design Description (SSDD) The design of the systemSoftware 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, andinformation to be used for support
http://498-std.pdf/http://498-std.pdf/ -
8/7/2019 498GBOT
29/109
-
8/7/2019 498GBOT
30/109
-
8/7/2019 498GBOT
31/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 22
-
8/7/2019 498GBOT
32/109
4.3 Key concepts of MIL-STD-498. To apply MIL-STD-498 effectively, it is important to
understand the key concepts embodied in the standard. The paragraphs that follow present
these key concepts.
4.3.1 Players and agreements assumed by MIL-STD-498. Figure 9 illustrates the players and
agreements assumed by MIL-STD-498. The paragraphs that follow explain each term.
Statement
User
Acquirer
Support
of
Agency
Work
(Tasking)
Developer Contract
Contract Line Item
(Agreement)
Number (CLIN)
----- OR -----
Contract Data
Requirements List
(CDRL)
Subcontractors
(Deliverables)
FIGURE 9. Players and agreements assumed by MIL-STD-498.
a. Players. MIL-STD-498 is written in terms of the following players.
1) Acquirer: an organization that procures software products for itself or another
organization. The acquirer may be a government agency or a prime contractor.
2) Developer: an organization that develops software products ("develops" may includenew development, modification, reuse, reengineering, or any other activity that results
in software products). The developer may be a contractor or a government agency.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 23
b. Agreements. MIL-STD-498 is written in terms of the following agreements:
-
8/7/2019 498GBOT
33/109
b. Agreements. MIL STD 498 is written in terms of the following agreements:
1) Contract: the agreement between the acquirer and developer. Between government
agencies, the contract may take the form of a Memorandum of Agreement or other
form of tasking.
2) Statement of Work (SOW): that portion of the contract that lays out the tasks to be
performed by the developer.
3) Contract Line Item Number (CLIN): that portion of the contract that identifies
deliverable products.
4) Contract Data Requirements List (CDRL): that portion of the contract that identifies
deliverable software products.
c. Project-specific interpretation. Depending upon circumstances, two or more of the
players identified above may be the same; the players or agreements may have different
names; or there may be other variations from the framework just described. It is important
to sort out how these terms apply to each individual situation so the standard can be
interpreted appropriately.
4.3.2 Accommodating Incremental and Evolutionary development.
a. Program strategies. Both DoDI 5000.2 and DoDI 8120.2 define multiple program
strategies for acquiring systems and software. Included are "Grand Design," "Incremental"
(also called "Preplanned Product Improvement"), and "Evolutionary" strategies. A key
concept of MIL-STD-498 is accommodating each of these strategies.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 24
-
8/7/2019 498GBOT
34/109
ActivityBuilds
Build 1 Build 2 Build 3 Build 4
5.1 Project planning and oversight x x x x
5.2 Establishing a software development environment x x x x
5.3 System requirements analysis x x
5.4 System design x x x
5.5 Software requirements analysis x x x x
5.6 Software design x x x x
5.7 Software implementation and unit testing x x x x
5.8 Unit integration and testing x x x x
5.9 CSCI qualification testing x x x
5.10 CSCI/HWCI integration and testing x x x
5.11 System qualification testing x x
5.12 Preparing for software use x x x x
5.13 Preparing for software transition x
Integral processes:
5.14 Software configuration management x x x x
5.15 Software product evaluation x x x x
5.16 Software quality assurance x x x x
5.17 Corrective action x x x x
5.18 Joint technical and management reviews x x x x
5.19 Other activities x x x x
FIGURE 10 O ibl i f MIL STD 498 ti iti t lti l b ild
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 25
b. MIL-STD-498's joint reviews. Instead of formal reviews and audits, MIL-STD-498 calls
-
8/7/2019 498GBOT
35/109
j
for more frequent, low-key joint (acquirer/developer) technical and management reviews,
focusing on natural work products rather than view-graphs or other specially prepared
materials. These reviews include informal discussions of status, ideas, approaches, risks,
etc. The idea of these reviews is ongoing communication between the acquirer and
developer with minimum time wasted. Appendix F in MIL-STD-498 suggests candidate
reviews to hold.
c. Relationship to formal reviews and audits. MIL-STD-498's joint technical and manage-
ment reviews are designed to provide all of the coordination needed between the
developer and the acquirer. Formal reviews may be used to supplement the joint reviews
if so desired, but they should focus on major issues raised at the joint reviews rather than
repeating the details covered there.
4.3.4 Decreased emphasis on documentation and greater compatibility with CASE tools.
a. Document-driven software development. A frequent
complaint about software development under military
standards is that it is document driven. This concern is
illustrated in Figure 11. Rather than focusing on the realwork to be done, the developer must generate an endless
series of documents, some of which have little to do with
getting the job done. The developer may have to translate
real work products, such as data in computer-aided
software engineering (CASE) tools, into paper documentsor translate work products from the format in which work is
being done to an artificial format imposed by Data Item
Descriptions (DIDs).
FIGURE 11.Excessive documentation.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 26
2) Focus on natural work projects versus deliverables. MIL-STD-498 distinguishes
http://498-std.pdf/http://498-std.pdf/ -
8/7/2019 498GBOT
36/109
between the planning and engineering work that are the "real work" of a project and
the activity of preparing a deliverable. This point may seem the same as item (1) just
above, but is not. Item (1) is about allowing the developer to record project
information in the most natural form, for example, in a CASE tool versus a paper
document. Item (2) is about not making work products, whatever their form,
deliverable without good reason. In the past, acquirers often thought that the way to
make the developer do the work was to require deliverables containing evidence of
the work (the "homework" approach to acquisition management). But preparing
information for delivery takes extra time and should not be required without good
reason. MIL-STD-498 requires the work to take place, regardless of whether the
results are made deliverable, and gives the acquirer access to the results in the
developer's facility. When deliverables are needed, they are called for in the CDRL or
in contract line item numbers (CLINs).
3) Use of the DIDs as checklists. Many of the activities in MIL-STD-498 rely on DIDs to
fully define them. For example, the activity of preparing a Software Development Plan
(SDP) consists of defining and recording all information called for by the Software
Development Plan DID. This requirement applies regardless of whether the SDP is in
the form of a document and regardless of whether the resulting plan is deliverable.
The DID is used as a checklist of information to be defined in carrying out the required
activity. This is a new role for DIDs.Figure 12 illustrates the role of DIDs and software
products in MIL-STD-498, emphasizing the distinction made between natural work
products, the form in which they reside, and their status as deliverables or
non-deliverables. If the DID is used only as a checklist and the resulting softwareproduct is not deliverable, the DID is not cited in the CDRL.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 27
4.3.5 Improved links to systems engineering.
-
8/7/2019 498GBOT
37/109
a. Two types of systems. A key aspect of the merger of DOD-STD-2167A and
DOD-STD-7935A was that the resulting standard had to cover two types of systems,
illustrated in Figure 13: (1) hardware-software systems (such as radar systems) for which
the standard covers only the software portion, and (2) software systems (such as payroll
systems) for which the standard governs overall system development.
Hardware/Software Software
System
System
Hardware Software Hardware Software Software Software
FIGURE 13. Two types of systems handled by MIL-STD-498.
b. MIL-STD-498's "participate" concept. MIL-STD-498 covers this duality by including
system-level activities, requiring the developer to "participate" in them, and stating that:
1) If the software to be developed is part of a hardware-software system for which the
standard covers only the software portion, the term "participate" is to be interpreted as
"take part in, as described in the Software Development Plan," and 2) If the software
(possibly with its computers) is considered to constitute a system, the term "participate" is
to be interpreted as "be responsible for." This use of "participate" covers both cases.
4.3.6 Use of software management indicators.
a. DoD emphasis on quantitative measures. There is increasing emphasis in DoD on
quantitative measurement of software progress, size, quality, and other attributes.
Figure 14 illustrates this type of measurement The idea behind these initiatives is that
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 28
b. MIL-STD-498's software management indicators. MIL-STD-498 takes a cautious step
-
8/7/2019 498GBOT
38/109
into this area by requiring the developer to define and apply software management
indicators and by providing a set of candidate management indicators to serve as a
starting point. It is left to the developer to propose in the Software Development Plan the
indicators to be used, the data to be collected, the approach to interpreting the data, and
the reporting approach. The acquirer can provide feedback on the proposed approach
when reviewing the Software Development Plan.
4.3.7 Improved coverage of modification, reuse, and reengineering.
a. DoD initiatives. There is increasing emphasis in DoD on meeting user needs by
modifying, reusing, and reengineering existing software products rather than developing
everything "from scratch." These initiatives apply not just to the software itself, but to
associated software products such as architectures and design.
b. MIL-STD-498's support for these initiatives. Figure 15 summarizes the provisions
incorporated into MIL-STD-498 to accommodate these approaches.
PROVISIONS SUPPORTING SOFTWARE MODIFICATION, REUSE, AND REENGINEERING
MIL-STD-498:
1) States that each activity in the standard may be performed by modifying, reusing, or
reengineering existing items, as well as by developing something new.
2) Requires the developer to identify and evaluate reusable software products for use infulfilling contract requirements, and to incorporate those that meet the criteria
established for the project.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 29
4.3.8 Increased emphasis on software supportability.
-
8/7/2019 498GBOT
39/109
a. Importance of supportability. Study after study has shown that over 75% of software's
life cycle cost occurs after initial delivery. These figures emphasize the importance of
making software supportable.
b. Effect of the DoD support model. In many DoD organizations, the approach to software
support is to transition the software from the initial developer to a completely different
organization for software support. This approach, potentially involving a complete change
of players, makes supportability of the software even more critical.
c. MIL-STD-498's approach to supportability. Supportability is the driving force behind
many of MIL-STD-498's requirements. Figure 16 summarizes key provisions.
PROVISIONS THAT PROMOTE SOFTWARE SUPPORTABILITY
MIL-STD-498 requires the developer to:
1) Identify all resources used or generated during the development that will be needed by
the support agency.
2) Prepare a Software Transition Plan that identifies these resources and tells how
deliverable items will be transitioned to the support agency.
3) Demonstrate that the delivered software can be supported given these resources.
4) Define and record the behavioral design as well the architectural and detailed designs,
detailing the behavior selected to meet system and CSCI requirements.
-
8/7/2019 498GBOT
40/109
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 31
3) Keeping design decisions the developer's prerogative. Design decisions made during
th j t if t d t j i t i i l d d i d li bl d i
-
8/7/2019 498GBOT
41/109
the project, even if presented at joint reviews or included in deliverable design
descriptions, remain at the discretion of the developer. They need to be covered in
developer-internal testing, but they are subject to change and need not be
demonstrated in qualification testing. If the acquirer decides that a design decision
should be a requirement, it is necessary to take appropriate action, possibly involving
contractual measures and additional cost to revise specifications, revise planning for
qualification tests, and perform additional qualification tests.
4.3.10 Compatibility with non-hierarchical methods.
a. Top-down functional decomposition. Although not intended to do so, DOD-STD-2167A
has been perceived to favor top-down functional decomposition over other development
methods. Most frequently cited are DOD-STD-2167A's requirements regarding software
architecture, in which CSCIs are decomposed into computer software components(CSCs), which are decomposed into other CSCs, which are finally decomposed into
computer software units (CSUs), which are associated with physical code entities. While
some users of DOD-STD-2167A have had no problem with this framework, others have
found it inhibiting to their preferred methods.
b. MIL-STD-498's software architecture. MIL-STD-498 redefines software architecture by
requiring simply that CSCIs be decomposed into software units, which may or may not be
related to each other in a hierarchical manner. A software unit is any element in the
design of a CSCI, for example, a major subdivision of a CSCI, a component of that
subdivision, a class, object, module, function, routine, or database. Software units may
occur at different levels of a hierarchy and may consist of other software units.
MIL-STD-498 further acknowledges that software units in the design may or may not have
a one-to-one relationship with the code and data entities that implement them or with the
fil i i h i i Thi li i f f i d
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 32
c. Methodology independence. It is MIL-STD-498's goal to neither encourage nor preclude
ti l ft d l m t m th d l A h i Fi 19 th t d d
-
8/7/2019 498GBOT
42/109
any particular software development methodology. As shown inFigure 19, the standard
lays out a set of activities that must be accomplished and defines a set of software
products that must be produced, but leaves it to the developer to propose in the Software
Development Plan how those activities will be performed and how the products will be
produced. The acquirer has an opportunity to react to the proposed methods when
reviewing the Software Development Plan.
MIL-STD-498 SW Development Plan
-------- -------- --------
-------- -------- -------
------- -------
--------
-------
--------
-------
--------
--------
Requirement stating Developer's plan stating
WHAT must be done HOW it will be done
FIGURE 19. Methodology independence of MIL-STD-498.
4.3.11 Improved coverage of database development.
a. Role of databases. Databases are crucial to automated information systems. They may
not be used at all in weapon systems. A significant issue that arose in merging
DOD-STD-2167A and DOD-STD-7935A was making sure that database development was
handled adequately.
b. MIL-STD-498's approach to databases. MIL-STD-498 takes an approach consistent
with the Defense Federal Acquisition Regulation Supplement, by defining software as
computer programs and computer databases. Figure 20 illustrates this relationship.
Following this approach, MIL-STD-498 takes databases into account throughout the
software development process. Requirements definition includes defining database
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 33
4.3.12 Improved criteria for software product evaluations.
-
8/7/2019 498GBOT
43/109
a. Objective versus subjective criteria. A significant problem in specifying criteria for
software product evaluations is that some of the most important criteria are subjective. For
example, most people would agree that a requirement specification should be
understandable and feasible, but there are no objective definitions for these criteria.
Concern about objectivity led to the deletion of all subjective criteria from
DOD-STD-2167A. The result was a set of objective but incomplete criteria that was less
than satisfactory.
b. MIL-STD-498's criteria. MIL-STD-498 handles this problem by including subjective
criteria such as understandability and feasibility, defining them as clearly as possible,
acknowledging that they are subjective, and stating that, because of their subjectivity, the
requirement is not to prove that a software product meets the criteria but to perform an
evaluation using the criteria and to identify possible problems for discussion andresolution. This explicit handling of subjective criteria, illustrated inFigure 21, was
accepted by reviewers and provides more meaningful software product evaluations.
Objective Software Product
criteria
--------
--------
Possible
--------
--------
problems for
-------- discussion and
Subjective
-------- -------- resolution
criteria
--------
--------
FIGURE 21. MIL-STD-498's use of objective and subjective criteria.
4.3.13 Distinguishing between software quality assurance and software product
evaluation.
a. Issues addressed. MIL-STD-498 addresses two related issues:
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 34
b. MIL-STD-498's approach to software quality assurance. In response to these
concerns MIL-STD-498 incorporates software quality assurance and carefully words the
-
8/7/2019 498GBOT
44/109
concerns, MIL STD 498 incorporates software quality assurance and carefully words the
requirements for software quality assurance to avoid any overlap with software product
evaluation. Figure 22 summarizes these requirements.
Aspect of the project Responsibility of quality assurance
Activities required by the contract or described in
the Software Development Plan
Assure they are being performed in accordance
with the contract and with the plan
Software products required by the contract
(whether deliverable or not)
Assure they exist and have undergone software
product evaluation, testing, and corrective actionas required by the contract
FIGURE 22. Avoiding overlap of SQA with other evaluation/testing activities.
c. Relationship to DOD-STD-2168. MIL-STD-498's quality assurance requirements can be
used on their own. If more detail is desired, they can be replaced or supplemented byDOD-STD-2168 or another software quality assurance standard. Appendix B of this
guidebook shows how MIL-STD-498 covers the requirements in DOD-STD-2168.
4.3.14 Application of configuration management to in-process work products.
a. Software configuration management in DOD-STD-2167A. DOD-STD-2167A's
configuration management requirements focused on controlling deliverable code and
documentation. Feedback on the standard indicated that DOD-STD-2167A's concept of a
"developmental configuration" was confusing and unhelpful; that all work products, not just
deliverable ones, need to be controlled during development; and that the standard ignores
items that are actually controlled (such as computer files).
b. MIL-STD-498's approach to configuration management. MIL-STD-498 eliminates the
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 35
4.3.15 Relationship to other related standards.
-
8/7/2019 498GBOT
45/109
a. Tiering of standards. Tiering of standards, that is, having one standard invoke other
standards, is discouraged by the DoD Acquisition Streamlining initiative as leading to
excessive, sometimes unintended requirements. The problem is illustrated inFigure 23.
CONTRACT MIL-x MIL-y MIL-z
--------
--------
--------
--------
--------
-------- -------- Follow
-------- Follow . . .
Follow Follow MIL-z Mil-w
MIL-x
--------
MIL-y
--------
--------
-------- -------- ------- -------- -------
FIGURE 23. Tiering of standards.
b. MIL-STD-498's approach. MIL-STD-498 invokes no other standards. It takes the
approach of covering all relevant topics at least in summary form, and provides, for
information only, a table of related standards that the acquirer may wish to consider as
alternatives or supplements to the requirements in MIL-STD-498. Included in the table are
both DoD and commercial standards. Because the listed standards are from various
sources and are not coordinated, a set selected from the table may be inconsistent. The
acquirer is responsible for reconciling any inconsistencies in the selected standards.
4.3.16 Ordering the software via the CDRL (DD Form 1423).
a. Differing methods. Different DoD services and government agencies disagree on how to
order delivery of the software itself. Some order delivery of the software via the CDRL
(DD Form 1423), using a DID; others order delivery of the software as a contract line item
number (CLIN). As a result of the controversy, DOD-STD-2167A was issued without aDID for ordering software. This decision forced DoD services and government agencies
who wished to order software via the CDRL to find or prepare a DID for this purpose.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 36
4.3.17 Tailoring.
http://498-std.pdf/http://498gbar5.pdf/http://498gbar5.pdf/http://498-std.pdf/ -
8/7/2019 498GBOT
46/109
a. Importance of tailoring. MIL-STD-498 and its DIDs are designed to be tailored for each
project and for each type of software being developed on a project. Each project is to
review the standard and DIDs and select only those requirements that will be
cost-effective for the project.
b. Relationship to "builds." Tailoring goes hand in hand with multiple builds because
different requirements of the standard apply to different builds. For example, the
requirements for qualification testing may not apply to early prototypes, but do apply to the
finished product. Section 5 provides guidance on how to plan the builds for a project and
tailor MIL-STD-498 accordingly.
4.3.18 The importance of plans.
a. MIL-STD-498's plans. MIL-STD-498 requires 4 types of plans, described inFigure 24.
Title Purpose
SoftwareDevelopment Plan(SDP)
Describes the developer's approach to carrying out the softwaredevelopment project. Includes planning for software qualityassurance and software configuration management, which can bepublished separately
Software Test Plan(STP)
Describes the developer's approach to software qualificationtesting
Software InstallationPlan (SIP) Describes the developer's approach to installing the software atuser sites
Software TransitionPlan (STrP)
Describes the developer's approach to transitioning the software tothe support agency
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 37
4.4 Converting to MIL-STD-498 from DOD-STD-2167A and DOD-STD-7935A. This section
is designed to ease the transition from DOD-STD-2167A and DOD-STD-7935A to MIL-STD-498.
-
8/7/2019 498GBOT
47/109
g
It identifies key terminology changes and maps the DIDs of the preceding standards to and from
the MIL-STD-498 DIDs.
a. Mapping of key terms. Figure 25 identifies selected terms in MIL-STD-498 and gives
their counterparts in DOD-STD-2167A and DOD-STD-7935A.
b. Mapping of DIDs. Figure 26 identifies the DOD-STD-7935A DIDs and tells which
MIL-STD-498 DIDs contain their contents. Figure 27 provides a similar mapping from the
DOD-STD-2167A DIDs to the MIL-STD-498 DIDs. Figure 28 provides the reverse
mapping, identifying the MIL-STD-498 DIDs and telling which DOD-STD-2167A and/or
DOD-STD-7935A DIDs formed the basis for each.
MIL-STD-498 Term DOD-STD-2167A Counterpart DOD-STD-7935A Counterpart
Acquirer Contracting agency User Group (no distinction made
between acquirer and user roles)
Developer Contractor (covers government
agency or contractor)
Development Group (covers
government agency or contractor)
Implementation Coding Development, production, coding,
database generation
Installation (at user sites) Deployment Deployment, implementation,
installation
Software unit Computer software component andcomputer software unit
Software unit
Computer Software Configuration
Item (CSCI)
Computer Software Configuration
Item (CSCI)
Program, computer program
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 38
DOD-STD-7935A DID Incorporated into These MIL-STD-498 DIDs
-
8/7/2019 498GBOT
48/109
DOD STD 7935A DID Incorporated into These MIL STD 498 DIDs
Functional Description (FD) System concepts into Operational Concept Description (OCD)
System requirements into System/Subsystem Specification (SSS)Development planning into Software Development Plan (SDP)
System/Subsystem Specification
(SS)
System requirements into System/Subsystem Specification (SSS)
System design into System/Subsystem Design Description (SSDD)
Software Unit Specification (US) Requirement information into Software Requirements Specification
(SRS) and Interface Requirements Specification (IRS)Design information into Software Design Description (SDD) and
Interface Design Description (IDD)
Database Specification (DS) Database Design Description (DBDD)
Test Plan (PT) High-level planning into Software Test Plan (STP)
Detailed planning into Software Test Description (STD)
Test Analysis Report (RT) Software Test Report (STR)
Users Manual (UM) Software Input/Output Manual (SIOM)
End User Manual (EM) Software User Manual (SUM)
Computer Operation Manual (OM) Software Center Operator Manual (SCOM)
Maintenance Manual (MM) Planning information into Software Transition Plan (STrP)
Software description into Software Design Description (SDD)
Maintenance procedures into Software Product
Specification (SPS)
Implementation Procedures (IP) Software Installation Plan (SIP)
FIGURE 26. Mapping of DOD-STD-7935A DIDs to MIL-STD-498 DIDs.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 39
DOD-STD-2167A DID Incorporated into These MIL-STD-498 DIDs
-
8/7/2019 498GBOT
49/109
DOD STD 2167A DID Incorporated into These MIL STD 498 DIDs
Software Development Plan (SDP) Software Development Plan (SDP)
System/Segment Specification (SSS) System/Subsystem Specification (SSS)
System/Segment Design Document (SSDD) Operational concept into Operational Concept Description
(OCD)
System design into System/Subsystem Design Description
(SSDD)
Software Requirements Specification (SRS) Software Requirements Specification (SRS)
Interface Requirements Specification (IRS) Interface Requirements Specification (IRS)
Software Design Document (SDD) Software Design Description (SDD)
Interface Design Document (IDD) Interface Design Description (IDD)
Software Test Plan (STP) Software Test Plan (STP)
Software Test Description (STD) Software Test Description (STD)
Software Test Report (STR) Software Test Report (STR)
Computer System Operator's Manual (CSOM) Computer Operation Manual (COM)
Software User's Manual (SUM) Software User Manual (SUM)
Computer Resources Integrated Support
Document (CRISD)
Planning information into Software Transition Plan (STrP)
Modification procedures into Software Product Specification
(SPS)
Software Product Specification (SPS) Software Product Specification (SPS)
Software Programmer's Manual (SPM) Computer Programming Manual (CPM)
Firmware Support Manual (FSM) Firmware Support Manual (FSM)
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 40
MIL-STD-498 DID DOD-STD-2167A and DOD-STD-7935A Source DIDs
-
8/7/2019 498GBOT
50/109
Software Development Plan (SDP) 2167A Software Development Plan (SDP)7935A Functional Description (FD), section 7
Software Installation Plan (SIP) 7935A Implementation Procedures (IP)
Software Transition Plan (STrP) 2167A Comp Res Integ Sup Doc (CRISD) - planning info
7935A Maintenance Manual (MM) - planning info
Operational Concept Description (OCD) 2167A System/Segment Design Doc (SSDD), section 3
7935A Functional Description (FD), section 2
System/Subsystem Specification (SSS) 2167A System/Segment Specification (SSS)7935A Functional Description (FD) - system req't info
7935A System/Subsystem Spec (SS) - system req't info
System/Subsystem Design Description (SSDD) 2167A System/Segment Design Document (SSDD)
7935A System/Subsystem Spec - system design info
Software Requirements Specification (SRS) 2167A Software Requirements Specification (SRS)
7935A Software Unit Specification (US) - req't info
Interface Requirements Specification (IRS) 2167A Interface Requirements Specification (IRS)7935A SW Unit Specification (US) - interface req't info
Software Design Description (SDD) 2167A Software Design Document (SDD)7935A Software Unit Specification (US) - design info
7935A Maintenance Manual (MM) - "as built" design info
Interface Design Description (IDD) 2167A Interface Design Document (IDD)7935A SW Unit Specification (US) - interface design info
Database Design Description (DBDD) 7935A Database Specification (DS)
Software Test Plan (STP) 2167A Software Test Plan (STP)
7935A Test Plan (PT) - high-level information
Software Test Description (STD) 2167A Software Test Description (STD)7935A Test Plan (PT) - detailed information
Software Test Report (STR) 2167A Software Test Report (STR)
7935A Test Analysis Report (RT)
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 41
5. TAILORING AND APPLICATION GUIDANCE
Thi i id id i il i d l i MIL STD 498 Thi
-
8/7/2019 498GBOT
51/109
This section provides guidance to an acquirer on tailoring and applying MIL-STD-498. This
section assumes a basic knowledge of system and software acquisition and does not attempt
to describe these processes.
5.1 Approval of MIL-STD-498. MIL-STD-498 was issued 5 December 1994. Its approval
extends for a two-year period, at the end of which time a commercial standard is expected to
be ready to use in its place. Readers are advised to check with the Departmental
Standardization Office (DepSO) Standards Improvement Executive (SIE) of their DoD serviceor government agency or the DoD Standards Office for current policy and guidance regarding
the standard.
5.2 Ways of applying MIL-STD-498. As shown inFigure 29 and described below,
MIL-STD-498 can be used in four basic ways. The applicability of each method depends uponDoD service or government agency policy and practice. The acquirer is advised to check with
the Software Acquisition Executive for the DoD service or government agency for which the
project is being developed to determine the current status of pertinent policy.
Four basic ways of applying MIL-STD-498
Cite as a requirement inthe RFP and the contract
Cite as a requirement inthe RFP; require an SDP;put the resulting SDP oncontract
Cite as guidance in theRFP; require an SDP; putthe resulting SDP oncontract
Cite as a requirement inthe contract as a result ofthe winning bidder havingproposed it
FIGURE 29. Ways of applying MIL-STD-498.
a. Requirement in RFP and contract. One way of using MIL-STD-498 is to cite it as a
required standard, appropriately tailored, in the Request for Proposal (RFP) and in the
contract. This is the traditional use of military standards.
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 42
5.3 Information about tailoring. Regardless of the manner in which MIL-STD-498 is
used, it is intended to be tailored for each type of software to which it is applied. This section
-
8/7/2019 498GBOT
52/109
provides guidance on tailoring.
5.3.1 What is tailoring? The tailoring process is illustrated inFigure 30. It consists of:
a. Evaluating each requirement in a standard or DID to determine whether it is necessary
and cost effective for a given project, for a given phase or build within a project, and for
particular software on the project
b. For standards, deleting, modifying, or adding to the requirements, as appropriate
c. For DIDs, deleting unneeded requirements or modifying requirements in a manner that
does not increase required workload (This more restrictive tailoring for DIDs is based
on U.S. law, specifically the Paperwork Reduction Act)
D o D s e r v i c e / g o v t .
a g e n c y p o l i c i e s . . .
C h a r a c t e r i s t i c s o f M I L - S T D - 4 9 8
a g i v e n p r o j e c t U s e t o - - - - - - - - - - - - - - - -
> - - - - - - - -
e v a l u a t e D I D s
O b j e c t i v e s o f a - - - - - - - - - - - - - - - - - - -
p r o j e c t p h a s e / b u i l d - - - - - - - - - - - - - - - -
- - - - - - - - - - -
- - - - - - - - - - -
C h a r a c t e r i s t i c s o f d e s i g n a t e s d e l e t e d
p a r t i c u l a r s o f t w a r e o r m o d i f i e d - - - - - - - - - - -
r e q u i r e m e n t s
FIGURE 30. Overview of the tailoring process.
5.3.2 Why tailor?
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 43
d. Balance between near-term and long-term benefits. In making tailoring decisions, it
is important to perform a risk analysis to balance near-term savings of cost and
-
8/7/2019 498GBOT
53/109
schedule against long-term risks. Sample trade-offs include the following:
1) Products needed for software support. Tailoring out software products needed for
software support can save time and money in the initial development, but may
have severe negative effects on the long-term cost of supporting the software.
2) Tests and evaluations. Tailoring out software product evaluations, software
testing, and related activities can save time and money in the short term, but canresult in reduced quality and expensive and time-consuming rework if software
products are delivered before they are ready.
5.3.3 When is tailoring performed? Tailoring of MIL-STD-498 and its DIDs should be
viewed as an incremental process, as illustrated in Figure 31 and described below.
a. During preparation of the draft RFP. Initial tailoring is often performed during
preparation of a draft Request for Proposal (RFP). The acquirer assesses the project
and its objectives and determines what requirements of MIL-STD-498 and its DIDs
apply to each type of software. The draft RFP requests feedback on the tailoring as
well as on other aspects of the procurement.
b. In response to the draft RFP. Prospective bidders often include proposed revisions to
the tailoring in their comments on the draft RFP. This tailoring provides each
prospective bidder's view as to the most cost-effective manner to perform the project
given project requirements and the particular methods and tools used by that bidder.
c. During preparation of the final RFP. The tailoring in the final RFP is often revised
from the draft based on input from the prospective bidders. This tailoring reflects the
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 44
-
8/7/2019 498GBOT
54/109
ACQUIRER'S TAILORING DEVELOPERS' TAILORING
Program strategy
Developer's software development process
Current acquisition phase Developer's software development tools
DoD service/government agency policy Developer's capability maturity
Software support concept
Other considerations
Tailoring Draft Prospective
for
bidders'
draft RFP RFP tailoring
Tailoring
Comments on
for
RFP Draft RFP
RFP
Bidders'
tailoring
for proposal
Tailoring Proposals
for Best &
Final Offer
Request for Best and Bidders'
tailoring for
Final Offer Best and Final
Offer
Tailoring for Best and Final Offers
contract
negotiations
Tailoring Tailoring for
during contract contract
negotiations
negotiations
Contract
Proposed Revised tailoring Proposed
revisions to the
during contract
revisions to the
tailoring
performance
tailoring
(PDF version) MIL-STD-498 Overview and Tailoring Guidebook Page 45
f. During contract negotiations. Additional tailoring may occur as part of contract
negotiations with the winning bidder.
-
8/7/2019 498GBOT
55/109