Alignment and Comparison of Systems Engineering Standards
Contributing Authors: Daniel Robbins, Rick Adcock
Over the past decade, a number of the standards development organizations (SDOs) and other industry associations have been working collaboratively to align the systems engineering (SE) and software engineering (SwE) standards. The objective is to have a set of standards that can easily be used concurrently within both engineering disciplines, due to the frequent disparity between their use of common terminology and concepts.
Problem
There has been a lack of integration both within and across SDOs. This has led to SE and SwE standards that use different terminology, process sets, process structures, levels of prescription, and audiences. These differences have been both between systems and software, and to some extent, within each. The problem has been exacerbated, in whole or part, by competing standards (Roedler 2010).
Cause
The cause of this problem includes several factors, as follows (Roedler 2010):
- Culture – Concepts such as “we’re different,” “not invented here,” etc.
- Organizational – Structures with different teams, committees, etc.
- Competition – Many SDOs exist.
- Domains – A focused, narrow view often doesn’t look beyond the domain for commonality.
Impact
The impact of this problem includes the following (Roedler 2010):
- Less effective or efficient processes that are not focused on leveraging commonalities. This causes redundancy and has resulted in incompatibilities and inconsistencies between the standards making it difficult to use them concurrently.
- Less effective solutions that are not focused on a common approach to solve a problem or need.
- Obstacles for communicating (at all levels), working in integrated teams, and leveraging resources.
- Stove-piping due to the incompatibilities and inconsistencies of and lack of leveraging commonalities.
Objective of Alignment
The objective is to make the standards more usable together by achieving the following (Roedler 2010):
- common vocabulary
- single, integrated process set
- single process structure
- jointly planned level of prescription
- suitability across multiple audiences
- inclusion of considerations in a wide range of domains and applications
Alignment of Systems Engineering Standards
Approach
A collaborative effort has been in place for the past decade that includes ISO/IEC JTC1/SC7 (Information Technology, Systems and Software Engineering), the IEEE Computer Society, the International Council on Systems Engineering (INCOSE), and others. A collaborative process is being used to align the standards. This process is built around a foundational set of vocabulary, process definition conventions, and life cycle management concepts provided in ISO/IEC/IEEE 24765 (2009) (Systems and software engineering vocabulary), ISO/IEC TR 24774 (2010) (Guidelines for process description), and ISO/IEC/IEEE TR 24748-1 (2001) (Guide to Life Cycle Management), respectively. At the heart of the approach is the alignment of the ISO/IEC/IEEE 15288 (2015) (system life cycle processes) and ISO/IEC/IEEE 12207 (2008) (Software life cycle processes), which provide the top level process framework for life cycle management of systems and software. This enables concurrent and consistent use of the standards to support both systems and software life cycle management on a single project. The approach includes the development or revision of a set of lower level supporting standards and technical reports for elaboration of specific processes, description of practices for specific purposes (e.g., systems/software assurance), description of artifacts, and guidance for the application of the standards.
Past Accomplishments
Significant progress has been made towards the alignment objectives for the groups discussed above. Figure 1 shows a May 2011 snapshot of the status of the standards that are being aligned. In addition, four of the standards shown as “in-process” are complete, but waiting for final publication. The set of standards span ISO/IEC, IEEE, INCOSE, and the Project Management Institute (PMI). This figure depicts the standards in one of many possible taxonomies.
Current Efforts
A Life Cycle Process Harmonization Advisory Group has been evaluating the current standards for systems and software engineering. The objective of the group is to provide a set of recommendations for further harmonization of the industry standards. Specifically, its charter includes:
- Performing an architectural analysis and recommend a framework for an integrated set of process standards in software and IT systems domains.
- Making recommendations regarding the future content, structure, and relationships of ISO/IEC 12207 (2008), ISO/IEC 15288 (2015) and their guides, as well as other related SC7 documents.
To support the development of the recommendations, process modeling of ISO/IEC/IEEE 15288 (2015) and ISO/IEC/IEEE 12207 (2008) has been performed and analyzed for consistency, completeness/gaps, and opportunities. In addition, analysis from other working groups, technical liaisons, and users of the standards has been collected. The output of this effort will be a harmonization strategy, set of recommendations for specific standards, and timing/sequencing recommendations (Roedler 2011).
Additionally, as the industry continues to consider harmonization needs of these standards, the collaboration has grown to include the work of the organizations and projects shown in Figure 2. These organizations are working towards the goal of completing a complementary and supplementary set of systems engineering resources that use the same terminology, principles, concepts, practices, and processes and can be used concurrently without issues.
Comparison of Systems Engineering Standards
See Figure 1 located in the Relevant Standards article to see the breadth and level of detail for many of the SE related standards. Since EIA 632 (2003) (Engineering of a System) is currently in revision, a comparison of ISO/IEC/IEEE 15288 (2015) (System life cycle processes) and EIA 632 will be deferred until the revision is complete.
Figure 3 shows a comparison of the 3-part technical reports that provide life cycle management guidance. Part 1 is focused on the provision of common terminology and concepts that apply to both systems and software. Part 2 provides guidance that directly supports ISO/IEC/IEEE 15288 (2015) that is specific to systems. Part 3 provides guidance that directly supports ISO/IEC/IEEE 12207 (2008) that is specific to software (Roedler 2010).
Practical Considerations
Key pitfalls and good practices related to systems engineering standards are described in the Relevant Standards article.
There are also instances in which standards groups for program management, safety, or other disciplines create standards on topics addressed within systems engineering but use different terminology, culture, etc. One such example is risk management, which has been dealt with by many professional societies from a number of perspectives.
Systems engineers must also be aware of the standards that govern the specialty disciplines that support systems engineering, as discussed in Part 6.
References
Works Cited
ANSI/EIA. 2003. Processes for Engineering a System. Philadelphia, PA, USA: American National Standards Institute (ANSI)/Electronic Industries Association (EIA). ANSI/EIA 632‐1998.
ISO/IEC/IEEE. 2015. Systems and Software Engineering -- System Life Cycle Processes. Geneva, Switzerland: International Organisation for Standardisation / International Electrotechnical Commissions / Institute of Electrical and Electronics Engineers. ISO/IEC/IEEE 15288:2015.
ISO/IEC. 2010. Systems and software engineering -- Life cycle management -- Guidelines for process description. Geneva, Switzerland: International Organisation for Standardisation/International Electrotechnical Commissions. ISO/IEC TR 24774:2010.
ISO/IEC/IEEE. 2009. Systems and Software Engineering - System and Software Engineering Vocabulary (SEVocab). Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/ Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 24765:2009.
ISO/IEC/IEEE. 2011. "Part 1: Guide for life cycle management," in Systems and software engineering--life cycle management.. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/ Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE TR 24748-1:2010.
ISO/IEEE. 2008. Systems and Software Engineering — Software Life Cycle Processes. Geneva, Switzerland: International Organization for Standards (ISO)/Institute of Electrical & Electronics Engineers (IEEE) Computer Society, ISO/IEEE 12207:2008(E).
Roedler, G. 2010. An Overview of ISO/IEC/IEEE 15288, System Life Cycle Processes. Asian Pacific Council on Systems Engineering (APCOSE) Conference.
Roedler, G. 2011. "Towards Integrated Systems and Software Engineering Standards." National Defense Industrial Association (NDIA) Conference, San Diego, CA, USA.
Primary References
Roedler, G. 2010. "An Overview of ISO/IEC/IEEE 15288, System Life Cycle Processes." Asian Pacific Council on Systems Engineering (APCOSE) Conference.
Additional References
ISO. 2003. Space Systems - Risk Management. Geneva, Switzerland: International Organization for Standardization (ISO), ISO 17666:2003.
ISO. 2009. Risk Management—Principles and Guidelines. Geneva, Switzerland: International Organization for Standardization (ISO), ISO 31000:2009.
ISO/IEC. 2009. Risk Management—Risk Assessment Techniques]]. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC), ISO/IEC 31010:2009.
ISO/IEC/IEEE. 2006. Systems and Software Engineering - Risk Management. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE), ISO/IEC/IEEE 16085.
ISO/IEC/IEEE. 2007. Systems and Software Engineering - Measurement Process. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE), ISO/IEC/IEEE 15939.
ISO/IEC/IEEE. 2009. Systems and Software Engineering - Project Management]]. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 16326.
ISO/IEC/IEEE. 2009. Systems and Software Engineering - System and Software Assurance, Part 1: Concepts and definitions. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 15026-1.
ISO/IEC/IEEE. 2009. Systems and Software Engineering - System and Software Engineering Vocabulary (SEVocab). Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/ Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 24765:2009.
ISO/IEC/IEEE. 2010. Systems and Software Engineering - System and Software Assurance, Part 2: Assurance case. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 15026-2.
ISO/IEC/IEEE. 2011. Systems and Software Engineering - Content of Life-Cycle Information Products (documentation). Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 15289.
ISO/IEC/IEEE. 2011. Systems and Software Engineering - System and Software Assurance, Part 3: Integrity Levels. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 15026-3.