IEEE 12207 - SW Process Improvement Working Group2
IEEE 12207 - SW Process Improvement Working Group2
IEEE 12207 - SW Process Improvement Working Group2
2167A 1220 7
5000.1
9000
CMM
5000.2-R
by Software Engineering Process Office (SEPO - D12) Software Process Improvement Working Group (SPIWG) October 13, 1999
12207 SPIWG
Outline
Background of IEEE/EIA 12207 Structure of the standard Its Life Cycle Processes 12207 vs. 2167A and 498 How it relates to the SW-CMM How to tailor it for your use
12207 SPIWG
Are there TWO 12207s? ISO/IEC 12207: Information Technology - Software Life Cycle Processes
published in 1995 by International Organization for Standardization International Electrotechnical Commission Provides common framework for developing and managing software
INTERNATIONAL STANDARD ISO/IEC Information technology Software life cycle processes ISO/IEC 12207: 1995(E)
1 1.1 Scope Purpose
This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of a system that contains software, a stand-alone software product, and software service and during the supply, development, operation, and maintenance of software products. Software includes the software portion of firmware. This International Standard also provides a process that can be employed for defining, controlling, and improving software life cycle processes. 1.2 Field of application
This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of a system that contains software, a stand-alone software product, and software service and during the supply, development, operation.
NOTE: The processes used during the software life cycle need to be compatible with the processes used during the system life cycle.
This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of a system that contains. This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. 1.3 Tailoring of the International Standard
This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks.
NOTE: The processes used during the software life cycle need to be compatible with the processes.
IEEE/EIA 12207.0-1996
(A Joint Standard Developed by IEEE and EIA)
Reproduced by GLOBAL ENGINEERING DOCUMENTS 1.1 Purpose With The Permission of IEEE Under Royalty Agreement
IEEE/EIA Standard
This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of a system that contains software, a stand-alone software product, and software service and during the supply, development, operation, and maintenance of software products. Software includes the software portion of firmware. This International Standard also provides a process that can be employed for defining, controlling, and improving software life cycle processes.
Industry Implementation of 1.2 Field International of application Standard This International Standard ISO/IEC 12207 : 1995 establishes
a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of
a system that contains software, a stand-alone (ISO/IEC 12207) Standardoperation. software product, and software service and for Information during the supply, development, TechnologyNOTE: The processes used during the software life cycle need to be compatible with the processes used during the system life cycle.
a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It contains processes, activities, and tasks that are to be applied during the acquisition of a system that contains. This International Standard establishes a common framework for software life cycle
processes, with well-defined terminology, that can be referenced by the software industry. March 1998 1.3 Tailoring of the International Standard
processes, with well-defined terminology, that can be referenced by the THE INSTITUTE OF ELECTRICAL ELECTRONIC INDUSTRIES ASSOCIATION It contains processes, activities, and tasks. AND ELECTRONICS ENGINEERING DEPARTMENT ENGINEERS, INC.
This International Standard establishes a common framework for software life cycle software industry.
NOTE: The processes used during the software life cycle need to be compatible with the processes.
12207 SPIWG
12207 provides industry a basis for software practices usable for both national and international business
12207 SPIWG
To foster improved understanding between customers and vendors and among the parties involved in the life cycle of a software product
To facilitate world trade in software
12207 SPIWG
12207 SPIWG
12207 SPIWG
1996
1998
12207 SPIWG
ISO 12207
IEEE Stds
2167A
498 7935A
DOD-STD-7935A DoD Automated Information Systems (AIS) Documentation Standards Oct 88 MIL-STD-498 Software Development and Documentation Dec 94
016
J-STD-016-1995 (Trial Use) Software Life Cycle Processes, Software Development Sep 95
IEEE/EIA 12207
IEEE/EIA 12207.0-1996 IEEE/EIA 12207.1-1997 IEEE/EIA 12207.2-1997 Software Life Cycle Processes Mar/Apr 98
12207 SPIWG
IEEE/EIA Standard
Industry Implementation of International Standard ISO/IEC 12207 : 1995 (ISO/IEC 12207) Standard for Information TechnologySoftware life cycle processes
Forward
1. Scope 2. Normative references 3. Definitions
March 1998
total: 85 pages
10
12207 SPIWG
Outline of IEEE/EIA 12207.1: Software Life Cycle Processes - Life cycle data
IEEE/EIA 12207.0-1996
Reproduced by GLOBAL ENGINEERING DOCUMENTS With The Permission of IEEE Under Royalty Agreement
IEEE/EIA Standard
Forward 1. Scope 2. Normative references 3. Definitions 4. Life cycle data 5. Generic info item content guidelines
Industry Implementation of International Standard ISO/IEC 12207 : 1995 (ISO/IEC 12207) Standard for Information TechnologySoftware life cycle processes
March 1998
total: 36 pages
11
12207 SPIWG
IEEE/EIA Standard
Industry Implementation of International Standard ISO/IEC 12207 : 1995 (ISO/IEC 12207) Standard for Information TechnologySoftware life cycle processes
1. Scope
2. Normative references 3. Definitions 4. Application
March 1998
5. Primary processes
6. Supporting processes 7. Organizational processes Annexes A - M
Repeats 12207.0 clauses with additional guidance total: 109 pages
12
12207 SPIWG
Each Process is broken down into Activities Each Activity is broken down into Tasks Tasks reference Information Items (software products/documents) 84 items in matrix Generic guidelines for 7 categories Specific guidelines for 30
Aed repf dbmezrt
13
12207 SPIWG
Supply
Development
Developer
Maintenance Operation
(Support Agency)
(User)
14
12207 SPIWG
Role
Teens Truck
Navy System
Acquirer (Buyer)
Supplier (Vendor) Developer Maintainer Operator User
15
12207 SPIWG
16
12207 SPIWG
contract
MANAGEMENT
OPERATION
SUPPLY
DEVELOPMENT
CM
QA
DOCUMENTATION
JOINT REVIEW
PROB. RES.
AUDIT
VERIFICATION
VALIDATION
SUPPORTING PROCESSES
INFRASTRUCTURE TRAINING IMPROVEMENT
ORGANIZATIONAL PROCESSES
17
12207 SPIWG
Once-Through (Waterfall)
Incremental (Preplanned Product Improvement)
Evolutionary
These are recommended by SSC SD as the basis for project planning and implementation.
18
12207 SPIWG
Software Installation
System Integration
T/VPr T/VRR
T/VRR SCR
Supporting Processes: Documentation, CM, QA, Verification, Validation, Joint Review, Audit, Problem resolution SCMP, SCMR, SCIR, SQAP, SQAR, SVRR, PR/PRR Organizational Processes: Management, Infrastructure, Improvement, Training
19
12207 SPIWG
20
12207 SPIWG
Example
5.3.1.4: The developer shall develop plans for conducting the activities of the development process. The plans should include (5 topics) For development process plan (5.3.1.4), see: J-STD-016 E.2.1: contents of Software Development Plan (like 498) IEEE 1074 Standard for Developing Software Life Cycle Processes IEEE 1074.1 Guide for Developing Software Life Cycle Processes and 2 others 5.2.2 A plan should include planning activities and tasks, schedules, estimates, risks, cost, interfaces, (20 topics) 6.5 The development process plan should include specific standards, methods, tools, actions associated with the development (8 topics)
12207.1 5: Generic content guidelines for 7 kinds of item: description, plan, procedure, record, report, request, specification 12207.1 6: Specific content guidelines for 30 information Items
21
12207 SPIWG
22
12207 SPIWG
Defines the basic activities of the maintainer: managing modifications to the software product to keep it current and in operational fitness.
Activity 1 Process Implementation Tasks Document maintenance activities (in Maintenance process plan). Document problem tracking procedures. Manage modifications to the system. 2 Problem and modification Analyze problem reports. Replicate or verify analysis problems. Develop modifications. Document problems, analysis, fixes (with Modification request). Get modifications approved per contract. 3 Modification implementation Document where changes are needed. Implement modifications (use Development Process). 4 Maintenance review/ Review integrity of modified system. Get approval for acceptance modifications per contract. 5 Migration Ensure products meet with this standard. Develop and use Migration Plan. Notify users of migration. Conduct parallel operations if needed. Notify all concerned, archive all records. Perform post-op review of changes. Keep data from old environment. 6 Software retirement Document plans for retirement. Notify all users of plans and activities. Conduct parallel operations. Notify all concerned, archive all records. Keep data from retired product per contract.
23
12207 SPIWG
12207.1 5.2 gives 20 items of Generic content of a Plan 12207.1 6.11 gives 18 items for Project management plan
Development Process calls for plans for conducting the activities of the development process
12207.0 5.3.1.4 lists 7 topics for inclusion 12207.1 4.3 Table 1 includes Development process plan, references include
ASTM E622 Guide for Developing Computerized Systems ASTM E1340 Guide for Rapid Prototyping of Computerized Systems J-STD-016 E.2.1: contents of Software Development Plan (like 498)
12207.1 5.2 gives 20 items of Generic content of a Plan 12207.1 6.5 gives 13 items for Development process plan - may be part of Project management plan
24
12207 SPIWG
25
12207 SPIWG
Tailoring 12207
12207 should be tailored for a project - no two projects are the same Tailoring considerations: Life cycle activity: prototyping, maintenance Software characteristics: COTS, reuse, embedded firmware Your orgs policies, languages, hardware reserve, culture Acquisition strategy: contract type, contractor involvement Life cycle strategy: waterfall, evolutionary, spiral, etc. The Tailoring Process (12207.0 Annex A) 1. Identify project environment - strategy, activity, requirements 2. Solicit inputs - from users, support team, potential bidders 3. Select processes, activities, documentation, responsibilities 4. Document tailoring decisions and rationale SEPOs guidance on tailoring: What CANT be tailored: the intent or objectives What CAN be tailored: number of phases/activities, roles, responsibilities, document formats, formality/frequency of reports or reviews
(see Tailoring Guidelines in Description of SSC SD Software Process Assets, at http://sepo.spawar.navy.mil/sepo/docs.html under OPD)
26
12207 SPIWG
27
12207 SPIWG
SYSTEM DESIGN
PRELIM DESIGN
DETAILED DESIGN
CODING CSC INTEG. CSC AND CSU AND TEST TESTING TESTING
SOURCE CODE LISTINGS SOURCE CODE
SYSTEM SPEC
PRELIM SDD
DETAILED SDD
SW TEST REPORTS
SRR
SDR
FUNCTIONAL BASELINE
SSR
ALLOCATED BASELINE
PDR
CDR
TRR
F/PCA
PRODUCT BASELINE
28
12207 SPIWG
Software Item 1:
Sys Qual Test Unit Integ/ Test STD Software Item Qual Test SW/HW Item Integ/Test STD STR
STR
Prepare for SW Transition Executable SW Source files SVDs SPSs Updated SSDDs Maint. manuals
Other ongoing activities: SQA, SCM, Reviews, Risk Management, Process Improvement, etc.
29
12207 SPIWG
Qualification Testing
Software Test Description (STD) Software Test Report (STR)
Maintenance
Software Product Specification (SPS) Software Version Description (SVD) Computer Programming Manual (CPM) Firmware Support Manual (FSM)
User/Operator
Software User Manual (SUM) Software Input/Output Manual (SIOM) Software Center Operator Manual (SCOM) Computer Operation Manual (COM)
Design
System/Subsys. Design Descr. (SSDD) Interface Design Description (IDD) Database Design Description (DBDD) Software Design Description (SDD)
30
12207 SPIWG
10 Formal Reviews 11 candidate mgmt. MIL-STD-1521B reviews, brief guidelines Limited Coverage for Scant planning, QA, CM, maint. Roles Government, Contractor Acquirer, Developer
31
12207 SPIWG
Software impl. & unit test Software code & test Software integration Software qual testing System integration System qual testing Software installation Software accept support
32
12207 SPIWG
System Reqts. Rev.(SRR) System Design Rev.(SDR) Software Spec. Rev. (SSR) Prelim Design Rev. (PDR) Critical Design Rev. (CDR) Test Readiness Rev. (TRR)
Software design review Test readiness review Test results review Production Readiness Rev(PRR) -Software usability review Software supportability rev. Critical reqts. review Functional Config Audit (FCA) Physical Config Audit (PCA) Formal Qual. Review (FQR) (see MIL-STD-1521B) (FCA in MIL-STD-973) (PCA in MIL-STD-973) (dropped by MIL-STD-073) (see 498 Appendix E)
33
12207 SPIWG
* * * *
* * * * * * * * * * * * * * *
* * * * * *
34
12207 SPIWG
Proj. Track & Oversight Software QA Software CM Software Subctr. Mgmt. L3: Org. Process Focus Org Process Defn. Integ. Software Mgmt. Training Program Software Prod. Engr. Intergroup Coord. Peer Reviews
35
12207 SPIWG
see http://standards.ieee.org
With IEEE username & password, download from
http://standards.ieee.org/catalog/olis/search.html
Review the Defense Automated Printing Service (DAPS) ASSIST Online webpage at http://astimage.daps.dla.mil/online/ IEEE/EIA 12207 can be downloaded to government users with DoD Single Stock Point accounts from http://assist.daps.mil/
Choose Assist Quick Search then Document Number = 12207
36
12207 SPIWG
DoD and other standards can be downloaded from the Defense Automated Printing Service (DAPS) ASSIST Online webpage at
http://astimage.daps.dla.mil/online/
Users have to register for many documents, but the Assist QuickSearch (lower right icon) can be used for the following: MIL-STD-498, all DIDs, and the cancellation notice available at
http://assist.daps.mil/ - choose Assist Quick Seach and enter document number
Hard copies of cancelled DOD specifications and standards can be obtained from the DoD Single Stock Point (DoDSSP) at
http://www.dodssp.daps.mil/
37
12207 SPIWG
* * * *
13-page summary of all three volumes and annexes Tabular lists of processes, activities, tasks, and related info items Cross references: Info Item to activity - and vice versa Comparison of 498 activities to 12207 Comparison of program reviews among 2167A/1521B, 498, 12207 Comparison of documents among 2167A, 498, J-016, 12207
38
12207 SPIWG
SEPO Recommends:
Use IEEE/EIA 12207: It is the standard of DoD and SSC-SD
39
12207 SPIWG
References
- Capability Maturity Model For Software, Version 1.1, SEI-93-TR-24, Feb. 1993.
On web at http://rbse.jsc.nasa.gov:80/cmm/
- IEEE Standards Collection: Software Engineering. 1997 Edition, Institute of Electrical and Electronics Engineers, Inc. New York, NY.
See http://www.ieee.org/prod_svcs.html
- 9000: Quality Management, International Organization for Standardization, 1994. See http://www.iso.ch/welcome.html - The ISO 9000 Implementation Manual, Omneo- Oliver Wight Publications, 1994. In SEPO library. - U.S. Software Lifecycle Process Standards, Crosstalk, July 1997. See
http://www.stsc.hill.af.mil/
- Defense Acquisition Policy - A More Flexible Management Approach. Program Manager magazine, July-August 1996. See
http://www.dsmc.dsm.mil/pubs/pdf/pm_articles96.htm
- Software Engineering Standards - A User's Road Map. IEEE Computer Society, Nov. 1997.
See http://www.computer.muni.cz/cspress/CATALOG/bp08008.htm
40