Paul R. Croll Chair, IEEE SESC Computer Sciences Corporation pcroll@csc.com An Overview of IEEE Software Engineering Standards and Knowledge Products Objectives l l Provide an introduction to The IEEE Software Engineering Standards Committee (SESC) Provide an overview of the current state and future direction of IEEE Software Engineering Standards and knowledge products u u u l IEEE Software Engineering Standards Collection Software Engineering Competency Recognition Program Standards-Based Training Discuss how you can participate in software engineering standardization efforts ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 2 The IEEE Software Engineering Standards Committee (SESC) http://computer.org/standard/sesc/ ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 3 The SESC Vision l The leading supplier and promoter of a fam ily of software engineering standards and related products and services. ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 4 Software Engineering: An Object View Source: [SESC95] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 5 SESC in the IEEE Structure IEEE IEEE Computer Society IEEE Standards Board Software Engineering Standards Committee Executive Committee & Management Board Working Group Study Group ASQ Section 509 SSIG Meeting, 8 November 2000 Planning Group Conferences Paul R. Croll - 6 SESC Strategic Program Model ISO and IEC Standards IEEE SESC Standards Program Terminology Terminology Overall Guide Quality Management Software Engineering Customer Resource Process Product Principles or Policies Element Standards Application Guides “Toolbox” of Technique Standards System Disciplines Source: [SESC95] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 7 The IEEE Software Engineering Standards Collection http://standards.ieee.org/catalog/softwareset.html ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 8 The 2000 Software Engineering Standards Collection l Forty-six Standards u u u u l Customer & Terminology Process Product Resource & Technique Overall guide u u Several “views” n Context n Object n Normative intent n Provider and subject Relationships among standards ASQ Section 509 SSIG Meeting, 8 November 2000 Source: [Moore97] Paul R. Croll - 9 IEEE/EIA 12207: The Life Cycle Process Framework l IEEE/EIA 12207, Standard for Information Technology – Software Life Cycle Processes u u u Addresses the complete software engineering life cycle, from acquisition and supply, through development, to operations and maintenance Provides a process framework upon which an organization can build its enterprise-level life cycle processes These enterprise-level processes are then tailored into projects, in order to meet specific project-level requirements. ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 10 IEEE/EIA 12207 Process Tree ACQUISITION SUPPLY DEVELOPMENT OPERATION MAINTENANCE PRIMARY LIFE CYCLE SUPPORTING DOCUMENTATION CONFIGURATION MANAGEMENT QUALITY ASSURANCE VERIFICATION VALIDATION JOINT REVIEW AUDIT PROBLEM RESOLUTION ORGANIZATIONAL MANAGEMENT INFRASTRUCTURE IMPROVEMENT TRAINING Source: [Singh97] TAILORING ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 11 Unit 2: IEEE/EIA 12207 Overview - Process Interactions 12207 Process Flow ORGANIZATION MANAGEMENT M F IMPROVEMENT INFRASTRUCTURE TRAINING F PROJECT F OPERATION F E: 3 F T ACQUISITION U: 4 P U: 4 JOINT REVIEW E E AUDIT P E 1 DOCUMENTATION Source: [Singh97] E (I)V&V E: 3 E QA E: 2,3 U DEVELOPMENT E: 3 E: 3 (T)E T E E: ACQ E T: SUB E: 3 U MAINTENANCE SUPPLY T E: 1,2,3 V&V E: 3 2 3 CM PROBLEM RESOLUTION 4 TAILORING ACQ - ACQUISITION. SUB - SUBCONTRACTOR E - EXECUTE F - FEEDBACK. M - MANAGE. P - PARTICIPATE. T - TASK. U USE E:N - EXECUTE THE PROCESS NUMBERED N ASQ Section 509 SSIG Meeting, 8 November 2000 PDCA Paul R. Croll - 12 Unit 2: IEEE/EIA 12207 Overview - Primary Process Flow Primary Process Flow OPERATION T ACQUISITION MAINTENANCE SUPPLY E/T T U E = EXECUTE T =TASK U =USE DEVELOPMENT Source: [Singh97] PLAN, DO, CHECK & ACT ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 13 Unit 2: IEEE/EIA 12207 Overview - Supporting Process Flow Supporting Process Flow QUALITY ASSURANCE ACQUISITION VERIFICATION SUPPLY VALIDATION DOCUMENTATION DEVELOPMENT JOINT REVIEW AUDIT OPERATION CONFIGURATION MANAGEMENT MAINTENANCE PROBLEM RESOLUTION Source: [Singh97] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 14 Unit 2: IEEE/EIA 12207 Overview - Organizational Process Flow Organizational Process Flow MANAGEMENT PROCESS PRIMARY PROCESS SUPPORTING PROCESS INFRASTRUCTURE PROCESS IMPROVEMENT PROCESS TRAINING PROCESS Source: [Singh97] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 15 Unit 2: IEEE/EIA 12207 Overview - Process Roles 12207 Process Roles Role ACQUISITION ROLE ACQUIRER ACQUISITION PROCESS employ contract SUPPLY ROLE employ OPERATING ROLE • OPERATOR • USER employ SUPPLY PROCESS SUPPLIER employ employ OPERATION PROCESS employ use ENGINEERING ROLE • DEVELOPER • MAINTAINER SUPPORTING ROLE EMPLOYER OF SUPPORTING PROCESSES ORGANIZATIONAL ROLE MANAGER MAINTENANCE PROCESS use DEVELOPMENT PROCESS • Documentation • Configuration management • Quality assurance • Verification employ • Validation • Joint review • Audit • Problem resolution S U P P O R T I N G P R O C E S S E S ORGANIZATIONAL PROCESSES • Management • Infrastructure • Improvement • Training Source: [Singh97] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 16 Unit 2: IEEE/EIA 12207 Overview - Process Roles Role Definitions l Acquirer: u l Supplier: u l an organization that acquires or procures a system, software product or software service from a supplier an organization that enters into a contract with the acquirer for the supply of a system, software product or software service under the terms of the contract Operator: u an organization that operates the system ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 17 Unit 2: IEEE/EIA 12207 Overview - Process Roles Role Definitions - 2 l Developer: u l Maintainer: u l an organization that performs development activities (including requirements analysis, design, testing through acceptance) during the software life cycle process an organization that performs maintenance activities Supporting Process Performer and Manager are undefined ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 18 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207 Document Structure l IEEE/EIA 12207.0-1996, Software Life Cycle Processes u l IEEE/EIA 12207.1-1997, Life Cycle Data u l Industry adoption of ISO/IEC 12207-1995 Industry guide to life cycle data IEEE/EIA 12207.2-1997, Implementation Considerations u Industry guide to implementation of the life cycle processes contained in 12207.0 ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 19 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.0 Document Structure l l Foreword to IEEE/EIA 12207.0-1996 ISO/IEC 12207-1995 u Introduction u Foreword u Clause 1 - Scope u Clause 2 - Normative references u Clause 3 - Definitions u Clause 4 - Application of this International Standard u Clause 5 - Primary life cycle processes u Clause 6 - Supporting processes u Clause 7 - Organizational life cycle processes ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 20 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.0 Annexes l l ISO/IEC 12207-1995 Annexes u A - Tailoring process u B - Guidance on tailoring u C - Guidance on processes and organizations u D - Bibliography Additional IEEE/EIA 12207.0 Annexes u E - Basic concepts of ISO/IEC 12207 u F - Compliance u G - Life cycle processes objectives u H - Life cycle data objectives u I - Relationships u J - Errata ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 21 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.1 Document Structure u Introduction Clause 1 - Scope Clause 2 - Normative references Clause 3 - Definitions Clause 4 - Life cycle data n Clause 4.1 Overview n Clause 4.2 Life cycle data objectives n Clause 4.3 Information item matrix n Clause 4.4 Compliance Clause 5 - Generic information item content guidelines Clause 6 - Specific information item content guidelines u Annex A - References u u u u u u ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 22 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.2 Document Structure l l l l l l l l l Foreword Introduction Clause 1 - Scope Clause 2 - Normative references Clause 3 - Definitions Clause 4 - Application Clause 5 - Primary life cycle processes Clause 6 - Supporting processes Clause 7 - Organizational life cycle processes ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 23 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.2 Annexes l IEEE/EIA 12207 Annexes u u u u u A - IEEE/EIA 12207.0 Annex A - Tailoring process B - IEEE/EIA 12207.0 Annex F - Compliance C - IEEE/EIA 12207.0 Annex G - Life cycle processes objectives D - IEEE/EIA 12207.0 Annex H - Life cycle data objectives E - IEEE/EIA 12207.0 Annex J - Errata ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 24 Unit 2: IEEE/EIA 12207 Overview - Structure IEEE/EIA 12207.2 Annexes - 2 l Additional IEEE/EIA 12207.2 Annexes u F - Use of reusable software products u G - Candidate joint management reviews u H - Software measurement categories u I - Guidance on development strategies and build planning u J - Category and priority classifications for problem reporting u K - Software product evaluations u L - Risk management u M - Life cycle processes references ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 25 Supporting Standards for High Integrity Software l l IEEE/EIA 12207 relies upon other standards to fill in the details regarding the activities supporting life cycle processes. In the case of high integrity software, several additional software engineering standards are of interest. ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 26 Customer and Terminology l l l l l l l l l 610.12, Standard Glossary of Software Engineering Terminology 1062, Recommended Practice for Software Acquisition 1220, Standard for Application and Management of the Systems Engineering Process 1228, Standard for Software Safety Plans 1233, Guide for Developing System Requirements Specifications 1362, Guide for Concept of Operations Document 12207, Software Life Cycle Processes 12207.1, Guide to Software Life Cycle Processes—Life Cycle Data 12207.2, Guide to Software Life Cycle Processes—Implementation Considerations n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 27 Process l l l l l l l l l l l l l l 730, Standard for Software Quality Assurance Plans 730.1, Guide for Software Quality Assurance Planning 828, Standard for Software Configuration Management Plans 1008, Standard for Software Unit Testing 1012, Standard for Software Verification and Validation 1012a, Software Verification and Validation Content Map to IEEE/EIA 12207.1 1028, Standard for Software Reviews 1042, Guide to Software Configuration Management 1045, Standard for Software Productivity Metrics 1058, Standard for Software Project Management Plans 1059, Guide for Software Verification and Validation Plans 1074, Standard for Developing Software Life Cycle Processes 1219, Standard for Software Maintenance 1490, A Guide to the Program Management Body of Knowledge n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 28 Process - 2 l l l J-STD-016-1995, (EIA/IEEE) Interim Standard for Information Technology - Software Life Cycle Processes - Software Development - Acquirer-Supplier Agreement 1517-1999, Standard for Information Technology - Software Life Cycle Processes - Reuse Processes P1540, D7.0, Draft Standard for Software Life Cycle Processes - Risk Management n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 29 Product l l l l l l 982.1, Standard Dictionary of Measures to Produce Reliable Software 982.2, Guide for the Use of Standard Dictionary of Measures to Produce Reliable Software 1061, Standard for a Software Quality Metrics Methodology 1063, Standard for Software User Documentation 1465, IEEE Standard Adoption of ISO/IEC 12119: 1994 (E) International Standard--Information Technology - Software Packages - Quality Requirements and Testing 14143.1, Approved Draft - Standard Adoption of ISO/IEC 14431:1998 - Information Technology - Software Measurement Functional Size Measurement - Part 1: Definition of Concepts n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 30 Resource and Technique l l l l l l l l l l l 829, Standard for Software Test Documentation 830, Recommended Practice for Software Requirements Specifications 1016, Recommended Practice for Software Design Descriptions 1044, Standard Classification for Software Anomalies 1044.1, Guide to Classification for Software Anomalies 1320.1, Syntax and Semantics for IDEF0 1320.2, Syntax and Semantics for IDEF1X97 (IDEFObject) 1348, Recommended Practice for the Adoption of CASE Tool 1420.1, Software Reuse—Data Model for Reuse Library Interoperability: Basic Interoperability Data Model 1420.1a, Software Reuse—Data Model for Reuse Library Interoperability: Asset Certification Framework 1420.1b-1999, Trial Use Supplement - Software Reuse—Data Model for Reuse Library Interoperability: Data Model for Reuse Library Interoperability: Intellectual Property Rights Framework n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 31 Resource and Technique - 2 l l l 1430, Guide for Software Reuse - Concept of Operations for Interoperating Reuse Libraries 1462, Guide for the Evaluation and Selection of CASE Tools P1471, Recommended Practice For Architectural Description of Software Intensive Systems n = High Integrity Systems Related ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 32 IEEE 1540: Software Risk Management - Process Model ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 33 IEEE 1471: Recommended Practice for Architectural Description of SoftwareIntensive Systems - Conceptual Model ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 34 Software Engineering Competency: Professionalizing Software Engineering ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 35 The Three Components of Engineering Competency l l l A defined Body of Knowledge A Code of Practice Competency recognition ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 36 Guide to the Software Engineering Body of Knowledge l Objectives u u Better characterize the discipline of Software Engineering Provide a consistent view Software Engineering as an engineering discipline http://www.swebok.org ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 37 IEEE Software Engineering Competency Recognition Program l Goals u u u u u u Identify qualified professionals Ensure recognition of expertise Assist in professional development Establish professional practice standards Protect public Enable professionals to stay current Source: [IEEE99] ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 38 IEEE Software Engineering Competency Recognition Program - 2 l Roles u u u u software engineering practitioner software project manager software systems architect supporter (e.g. CM, QA, etc.) ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 39 Standards-Based Training l Skills training in the “Code of Practice” u u l Pilot training program u u u l l tailorable course outlines completion certificates State of California New York City Transit Authority Delta Airlines Twenty-three courses were delivered last year to 500 attendees Five universities contracted to teach courses ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 40 IEEE Software Engineering Standards Committee Our Future and Yours ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 41 SESC objectives for the New Millenium l l l l A consistent collection of Software Engineering Standards to support process definition and product development, that improve the quality of delivered software and software-intensive systems Development and delivery of Standards-based training to improve skills Feedback mechanisms to capture experience in standards usage A conformance program for the organizational implementation of SESC standards ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 42 How You Can Participate l l Join the IEEE Computer Society (at http://www.computer.org) Join the IEEE Software Engineering Standards Committee (at http://www.tcse.org) u u u u Lead or participate in Working Groups developing or revising Standards Lead or participate in Study Groups investigating new areas for standardization Participate in SESC special projects Become part of the SESC balloting pool (IEEE Standards Association membership required) ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 43 Questions ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 44 For more information . . . Paul R. Croll Computer Sciences Corporation 5166 Potomac Drive King George, VA 22485-5824 Phone: Fax: e-mail: +1 540.663.9251 +1 540.663.0276 pcroll@csc.com ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 45 References [IEEE99] IEEE Computer Society, “Business Plan for the Software Engineering Competency Recognition Program”, May1999 [Moore97] James W. Moore, Software Engineering Standards: A User's Road Map, IEEE Computer Society Press, Los Alamitos, CA, 1997. [SESC95] SESC Business Planning Group, “Vision 2000 Strategy Statement (Final Draft),” v0.9, SESC/BPG-002, August 20, 1995. [Singh97] Raghu Singh, An Introduction to International Standards ISO/IEC 12207, Software Life Cycle Processes, 1997. ASQ Section 509 SSIG Meeting, 8 November 2000 Paul R. Croll - 46