SlideShare a Scribd company logo
IEEE/EIA 12207.0 – 1996 “ Software Life Cycle Processes” National Defense Industrial Association (NDIA) Presents
ISO/IEC 12207 – 1995:  Standard for Information Technology –  Software Life Cycle Processes IEEE/EIA 12207.0 – 1996:  Software Life Cycle Processes IEEE/EIA 12207.1 – 1998:  Software Life Cycle Processes –  Life Cycle Data IEEE/EIA 12207.2 – 1998:  Software Life Cycle Processes –  Implementation Considerations History of 12207
Abstract ISO/IEC 12207 provides a common  framework for developing and managing software .  IEEE/EIA 12207.0 consists of the  clarifications, additions, and changes  accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations.  IEEE/EIA 12207.0 contain  concepts and guidelines to foster better understanding and application of the standard .  Thus this standard provides industry a basis for software practices that would be useable for both national and international business. IEEE/EIA 12207.0 - 1996 Software Life Cycle Processes NDIA
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 . Application:   Applies to the acquisition of systems and software products and services, to the supply, development, operation, and maintenance of software products, and to the software portion of firmware, whether performed internally or externally to an organization. IEEE/EIA 12207.0 - 1996 Software Life Cycle Processes NDIA
Abstract ISO/IEC 12207 provides a common framework for developing and managing software.  IEEE/EIA 12207.0 consists of the clarifications, additions, and changes accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations.  IEEE/EIA 12207.1 provides guidance for recording life cycle data resulting from the life cycle processes of IEEE/EIA 12207.0. IEEE/EIA 12207.1 - 1997 Software Life Cycle Processes – Life Cycle Data NDIA
Abstract ISO/IEC 12207 provides a common framework for developing and managing software.  IEEE/EIA 12207.0 consists of the clarifications, additions, and changes accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations.  IEEE/EIA 12207.2 provides implementation considerations guidance for the normative clauses of IEEE/EIA 12207.0.  The guidance is based on software industry experience with the life cycle processes of IEEE/EIA 12207.0. IEEE/EIA 12207.2 - 1997 Software Life Cycle Processes – Implementation Considerations NDIA
2.  Normative Reference  (pg 2) The following standards contain provisions which, through reference in this test, constitute provisions of this International Standard.  At the time of publication, the editions indicated were valid.   All standards are subject to revision, and parties to agreement based on this International Standard are  encouraged to investigate the possibility of applying the most recent editions  of the standards indicated below.  Members of IEC and ISO maintain registers of currently valid International Standards . IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
3.  Definitions  (pg 3) For the purposes of this International Standard, the definitions given in ISO 8402, ISO/IEC 2382-1 and ISO/IEC 2382-20 apply, together with the following definitions. NOTE – A product may be interpreted as a part of a system as applicable. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
4.  Application of this International Standard   (Clause 4)  (pg 6) This  clause  presents the software life cycle that can be  employed to acquire, supply, develop, operate, and maintain software products .  The  objective  is to  provide a road map for the users  of this International Standard so that they can orient themselves in it and apply it judiciously. 4.1.1  Life Cycle Processes:   This International Standard  groups the activities  that may be performed during the life cycle of software into  five primary processes, eight supporting processes, and four organizational processes .  Each life cycle process is divided into a set of activities; each activity is further divided into a set of tasks.  Subclause numbering  a.b denotes a process ,  a.b.c an activity , and  a.b.c.d a task .  These life cycle processes are introduced below in depicted in figure 1 (see pg 7). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
4.1.1.1  Primary Processes  [ task]   (pg 6):  The primary processes  (clause 5)  [presents the software life cycle ]  consist of  five processes  that serve primary parties during the life cycle of software.  A primary party is one that initiates or performs the development, operation, or maintenance of software products.  The primary processes are: Acquisition Process (subclause 5.1)   [ process] :   Defines the activities of the acquirer, the organization that acquires a system, software product or software service. Supply Process (subclause 5.2):   Defines the activities of the supplier, the organization that provides the system, software product or software service to the acquirer. Development Process (subclause 5.3):   Defines the activities of the developer, the organization that defines and develops the software product. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Operation Process (subclause 5.4):   Defines the activities of the operator, the organization that provides the service of operating a computer system in its live environment for its users. Maintenance Process (subclause 5.5):   Defines the activities of the maintainer, the organization that provides the service of maintaining the software product; that is, managing modifications to the software product to keep it current and in operational fitness.  This process includes the migration and retirement of the software product. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
4.1.1.2  Supporting Life Cycle Processes (pg 6):  The supporting life cycle processes  (clause 6)  consist of  eight processes .  A supporting process  supports another process as an integral part with a distinct purpose and contributes to the success and quality of the software project .  A supporting process is employed and executed, as needed, by another process.  The supporting processes are: Documentation Process (subclause 6.1)  [ a process] .   Defines the activities for recording the information produced by a life cycle process. Configuration Management Process (subclause 6.2).   Defines the configuration management activities. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Quality Assurance Process (subclause 6.3).   Defines the activities for objectively assuring that the software products and processes are in conformance with their specified requirements and adhere to their established plans.  Joint Reviews, Audits, Verification, and Validation may be used as techniques of Quality Assurance. Verification Process (subclause 6.4).   Defines the activities (for the acquirer, the supplier, or an independent party) for verifying the software products and services in varying dept depending on the software project. Validation Process (subclause 6.5).   Defines the activities (for the acquirer, the supplier, or an independent party) for validating the software products of the software project. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Joint Review Process (subclause 6.6).   Defines the activities for evaluating the status and products of an activity.  This process may be employed by any two parties, where one party (reviewing party) reviews another party (reviewed party) in a joint forum. Audit Process (subclause 6.7).   Defines that activities for determining compliance with the requirements, plans, and contract.  This process may be employed by any two parties, where one party (auditing party) audits the software products or activities of another party (audited party). Problem Resolution Process (subclause 6.8).   Defines a process for analyzing and removing the problems (including nonconformances), whatever their nature or source, that are discovered during the execution of development, operation, maintenance, or other processes. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
4.1.1.3  Organizational Life Cycle Processes (pg 8):  The organizational life cycle processes  (clause 7)  consist of  four processes .  They are employed by an organization to establish and implement an underlying structure made up of associated life cycle processes and personnel and continuously improve the structure and processes.  They are  typically employed outside the realm of specific projects and contracts ; however, lessons from such projects and contracts contribute to the improvement of the organization.  The organizational processes are: Management Process (subclause 7.1)  [ a process] .   Defines the basic activities of the management, including project management, related to the execution of a life cycle process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Infrastructure Process (subclause 7.2).   Defines the basic activities for establishing the underlying structure of a life cycle process. Improvement Process (subclause 7.3).   Defines the basic activities that an organization (that is, acquirer, supplier, developer, operator, maintainer, or the manager of another process) performs for establishing, measuring, controlling, and improving its life cycle process. Training Process (subclause 7.4).   Defines the activities for providing adequately trained personnel. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5 PRIMARY LIFE CYCLE PROCESSES 5.1  Acquisition 5.5  Maint. 5.4  Operation 5.3  Development  5.2  Supply 8 SUPPORTING LIFE CYCLE PROCESSES 6.1  Documentation 6.2  Configuration Management 6.3  Quality Assurance 6.4  Verification 6.5  Validation 6.6  Joint Review 6.7  Audit 6.8 Problem Resolution 4 ORGANIZATIONAL LIFE CYCLE PROCESSES 7.1  Management 7.2. Infrastructure 7.3  Improvement 7.4.  Training  IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.  Primary Life Cycle Processes  (Clause 5)  (pg 9):   This clause defines the following primary life cycle processes: 5.1  Acquisition process; 5.2  Supply process; 5.3  Development process; 5.4  Operation process; 5.5  Maintenance process. The activities and tasks in a primary process are the responsibility of the organization initiating and performing that process.  This organization ensures that the process is in existence and functional. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.1  Acquisition Process  [a process]  (pg 10):   Contains the activities and tasks of the acquirer .  The process begins with the definition of the need to acquire a system, software product or software service.  This process continues with the preparation and issue of a request for proposal, selection of a supplier, and management of the acquisition process through to the acceptance of the system, software product or software service. The individual organization having the need may be called the owner.  The owner may contract any or all of the acquisition activities to an agent who will in turn conduct those activities according to the Acquisition Process.  The acquirer in this subclause may be the owner or the agent. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
The acquirer manages the Acquisition Process at the project level following the  Management Process (7.1),  which is instantiated in this process; establishes an infrastructure under the process following the  Infrastructure Process (7.2);  tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the  Improvement Process (7.3)  and the  Training Process (7.4). List of Activities:   This process consists of the following activities: Initiation; Request-for-Proposal [-tender] preparation; Contract preparation and update; Supplier monitoring; Acceptance and completion. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.2  Supply Process  [a process]  (pg. 13): The Supply Process contains the  activities and tasks of the supplier .  The process may be initiated either by a decision to prepare a proposal to answer an acquirer’s request for proposal or by signing and entering into a contract with the acquirer to provide the system, software product or software service.  The process continues with the determination of procedures and resources needed to manage and assure the project, including development of project plans and execution of the plans through delivery of the system, software product or software service to the acquirer. The supplier manages the Supply Process at the project level following the  Management Process  (7.1), which is instantiated in this process; establishes an infrastructure under the process following the  Infrastructure Process  (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the  Improvement Process  (7.3) and the  Training Process  (7.4). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities:   This process consists of the following activities: Initiation; Preparation of response; Contract; Planning; Execution and control; Review and evaluation; Delivery and completion. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.3  Development Process  [a process]  (pg 16):   The Development Process contains the  activities and tasks of the developer .  The process contains the  activities for requirements analysis, design, coding, integration, testing, and installation and acceptance related to software products .  It may contain system related activities if stipulated in the contract.  The developer performs or supports the activities in this process in accordance with the contract. The developer manages the Development Process at the project level following the  Management Process  (7.1), which is instantiated in this process; establishes an infrastructure under the process following the  Infrastructure Process  (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the  Improvement Process  (7.3) and the  Training Process  (7.4).  When the developer is the supplier of the developed software product, the developer performs the  Supply Process  (5.2). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities:   This process consists of the following activities: Process Implementation; System Requirements Analysis; System Architectural Design; Software Requirements Analysis; Software Architectural Design; Software Detailed Design; Software Coding and Testing; Software Integration; Software Qualification Testing; System Integration; System Qualification Testing; Software Installation; Software Acceptance Support; IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.4  Operation Process  [a process]   (pg 23):   The Operation Process contains the  activities and tasks of the operator .  The process  covers the operation of the software product and operational support to users .  Because operation of software product is integrated into the operation of the system. The activities and tasks of this process refer to the system. The operator manages the Operation Process at the project level following the  Management Process  (7.1), which is instantiated in this process; establishes an infrastructure under the process following the  Infrastructure Process  (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the  Improvement Process  (7.3) and the  Training Process  (7.4).  When the operator is the supplier of the operation service, the operator performs the  Supply Process  (5.2). (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities:   This process consists of the following activities: Process implementation; Operational testing; System operation; User support. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
5.5  Maintenance Process  [a process]   (pg. 24):   The Maintenance Process contains the  activities and tasks of the maintainer .  This process is activated  when the software product undergoes modifications to code and associated documentation due to a problem or the need for improvement or adaptation .  The objective is to modify existing software product while preserving its integrity.  This process includes the migration and retirement of the software product.  The process ends with the retirement of the software product. The activities provided in this clause are specific to the Maintenance Process; however, the process may utilize other processes in this International Standard.  If the  Development Process  (5.3) is utilized, the term developer there is interpreted as maintainer. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
The maintainer manages the Maintenance Process at the project level following the  Management Process  (7.1), which is instantiated in this process; establishes an infrastructure under the process following the  Infrastructure Process  (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the  Improvement Process  (7.3) and the  Training Process  (7.4).  When the maintainer is the supplier of the maintenance service, the maintainer performs the  Supply Process  (5.2). List of Activities:   This process consists of the following activities: Process implementation; Problem and modification analysis; Modification implementation; Maintenance review/acceptance; Migration; Software retirement. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Supporting Life Cycle Processes  (Clause 6)  (pg. 27): This clause defines the following supporting life cycle processes: 6.1  [ a process]  Documentation Process; 6.2  Configuration Management Process; 6.3  Quality Assurance Process; 6.4  Verification Process; 6.5  Validation Process; 6.6  Joint Review Process; 6.7  Audit Process; 6.8  Problem Resolution Process; IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.1  Documentation Process  [a process]   (pg. 28): The Documentation Process is a process  for recording information  produced by a life cycle process or activity.  The process contains the  set of activities, which plan, design, develop, produce, edit, distribute, and maintain those documents needed by all concerned  such as managers, engineers, and users of the system or software product. Execution of this process by an organization results in the establishment of internal documentation standards (such as standards for program management plan and software design document) in a suitable media – paper, electronic, or other.  The terms used in this process need to be interpreted accordingly for a given media or domain. List of Activities: 6.1.1 Process Implementation   [ activity]  (A plan, identifying the documents to be produced during the life cycle….shall be developed, documented, and implemented.) 6.1.2 Design and Development   [ activity]  (Each identified document shall be designed in accordance with applicable documentation standards…format, content description, page numbering, figure/table placement, proprietary/security marking, packaging, and other presentation items.) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.1.3  Production   [ activity]   (In accordance with the plan…may use paper, electronic, or other media.  Master materials shall be stored….for record retention, security, maintenance, and backup.) 6.1.4 Maintenance   [ activity]  (The tasks, that are required to be performed when documentation is to be modified, shall be performed.  For those documents that are under CM, modifications shall be managed in accordance with the CM process (6.2) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.2  Configuration Management Process  [a process]  (pg. 29): The Configuration Management Process is a process of applying administrative and technical procedures throughout the software life cycle to:  Identify and define software items in a system; control modifications and releases of the items; record and report the status of the items and modification requests; ensure the completeness, consistency, and correctness of the items; and control storage, handling, and delivery of the items. List of Activities: 6.2.1  Process Implementation  [activity] .  This activity consists of the following tasks: IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.2.1.1  A configuration management plan shall be developed  [task] .  The plan shall describe: The CM Activities; Procedures and Schedule for performing these activities; The organization(s) responsible for performing these activities; and their relationship with other organizations, such as software development or maintenance.  The plan shall be documented and implemented. NOTE – The plan may be a part of the system configuration management plan. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.2.2 Configuration Identification  [activity] .  This activity consists of the following tasks:  6.2.2.1  [task]  A scheme shall be established for the identification of software items and their versions to be controlled for the project.  For each software CI and its versions, the following shall be identified:  the documentation that establishes the baseline;  the version references; and other identification details. 6.2.3 Configuration Control.  This activity consists of the following task: 6.2.3.1  The following shall be performed:  identification and recording of change requests; analysis and evaluation of the changes; approval or disapproval of the request; and implementation, verification, and release of the modified software item.  An audit trail shall exist, whereby each modification, the reason for the modification, and authorization of the modification can be traced.  Control and audit of all accesses to the controlled software items that handle safety or security critical functions shall be performed. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.2.4 Configuration Status Accounting.  This activity consists of the following tasks: 6.2.4.1  Management records and status reports that show the status and history of controlled software items including baseline shall be prepared.  Status reports shall include the number of changes for a project, latest software item versions, release identifiers, the number of releases, and comparisons of releases. 6.2.5 Configuration Evaluation.  This activity consists of the following tasks: 6.2.5.1  The following shall be determined and ensured:  the functional completeness of the software items against their requirements and the physical completeness of the software items (whether their design and code reflect an up-to-date technical description). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.2.6  Release Management and Delivery.  This activity consists of the following task: 6.2.6.1  The release and delivery of software products and documentation shall be formally controlled.  Master copies of code and documentation shall be maintained for the life of the software product.  The code and documentation that contain safety or security critical functions shall be handled, stored, packaged, and delivered in accordance with the policies of the organizations involved.  IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.3  Quality Assurance Process  [a process]   (pg. 31): The Quality Assurance Process is a process for providing adequate assurance that the software products and processes in the project life cycle conform to their specified requirements and adhere to their established plans.  To be unbiased, quality assurance needs to have organizational freedom and authority from persons directly responsible for developing the software product or executing the process in the project.  Quality Assurance may be internal or external depending on whether evidence of product or process quality is demonstrated to the management of the supplier or the acquirer.  Quality assurance may make use of the results of other supporting processes, such as Verification, Validation, Joint Reviews, Audits, and Problem Resolution. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities .   This process consists of the following activities: Process Implementation; Product Assurance; Process Assurance; Assurance of Quality Systems. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.4.  Verification Process  [a process]   (pg. 33): The Verification Process is a process for determining whether the software products of an activity fulfill the requirements or conditions imposed on them in the previous activities.  For cost and performance effectiveness, verification should be integrated, as early as possible, with the process (such as supply, development, operation, or maintenance) that employs it.  This process may include analysis, review and test. This process may be executed with varying degrees of independence.  The degree of independence may range from the same person or different person in the same organization to a person in a different organization with varying degrees of separation.  In the case where the process is executed by and organization independent of the supplier, developer, operator, or maintainer, it is called Independent Verification Process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities .   The process consists of the following activities: Process Implementation; Verification. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.5.  Validation Process  [a process]   (pg. 36): The Validation process is a process for determining whether the requirements and the final, as-built system or software product fulfills its specific intended use.  Validation may be conducted in earlier stages.  This process by be conducted as part of Software Acceptance Support (5.3.13). This process may be executed with varying degrees of independence.  The degree of independence may range from the same person or different person in the same organization to a person in a different organization with varying degrees of separation.  In the case where the process is executed by an organization independent of the supplier, developer, operator, or maintainer, it is called Independent Validation Process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
List of Activities .   The process consists of the following activities: Process Implementation; Validation. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.6  Joint Review Process  [a process]   (pg. 38): The Joint Review Process is a process for evaluating the status and products of an activity of a project as appropriate.  Joint reviews are at both project management and technical levels and are held throughout the life of the contract. This process may be employed by any two parties, where one party (reviewing party) reviews another party (reviewed party). List of activities .   This process consists of the following activities: 6.6.1  Process Implementation; 6.6.2  Project Management Reviews; 6.6.3  Technical Reviews. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.7  Audit Process  [a process]   (pg 40): The Audit Process is a process for determining compliance with the requirements, plans, and contract as appropriate.  This process may be employed by any two parties, where one party (auditing party) audits the software products or activities of another party (audited party). List of Activities .   This process consists of the following activities: Process Implementation; Audit. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
6.8  Problem Resolution Process  [a process]   (pg. 41): The Problem Resolution Process is a process for analyzing and resolving the problems (including nonconformance’s), whatever their nature or source, that are discovered during the execution of development, operation, maintenance, or other processes.  The objective is to provide a timely, responsible, and documented means to ensure that all discovered problems are analyzed and resolved and trends are recognized. List of Activities .  The process consists of the following activities: Process Implementation; Problem Resolution. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Organizational Life Cycle Processes  (Clause 7)   (pg 42) This clause defines the following organization life cycle processes: 7.1  Management Process; 7.2  Infrastructure Process; 7.3  Improvement Process; 7.4  Training Process. The activities and tasks in an organizational process are the responsibility of the organization using that process.  The organization ensures that the process is in existence and functional. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
7.1  Management Process  [a process]   (pg 43); The Management Process contains the generic activities and tasks, which may be employed by any party that has to manage its respective process(es).  The manager is responsible for product management, project management, and task management of the applicable process(es), such as the acquisition, supply, development, operation, maintenance, or supporting process. List of Activities .  This process consists of the following activities; 7.1.1  Initiation and Scope definition; 7.1.2  Planning; 7.1.3  Execution and Control; 7.1.4  Review and Evaluation; 7.1.5  Closure. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
7.2  Infrastructure Process  [a process]   (pg 45); The Infrastructure Process is a process to establish and maintain the infrastructure needed for any other process.  The infrastructure may include hardware, software, tools, techniques, standards, and facilities for development, operation, or maintenance. List of Activities .  This process consists of the following activities; 7.2.1  Process Implementation; 7.2.2  Establishment of the Infrastructure; 7.2.3  Maintenance of the Infrastructure. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
7.3  Improvement Process  [a process]   (page 46); The Improvement Process is a process for establishing, assessing, measuring, controlling, and improving a software life cycle process. List of Activities .  This process consists of the following activities; 7.3.1  Process establishment; 7.3.2  Process assessment; 7.3.3  Process improvement. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
7.4  Training Process  [a process]   (page 47); The Training Process is a process for providing and maintaining trained personnel.  The acquisition, supply, development, operation, or maintenance of software products is largely dependent upon knowledgeable and skilled personnel.  For example:  developer personnel should have essential training in software management and software engineering.  It is, therefore, imperative that personnel training be planned and implemented early so that trained personnel are available as the software product is acquired, supplies, developed, operated, or maintained. List of Activities .  This process consists of the following activities; 7.4.1  Process implementation; 7.4.2  Training material development; 7.4.3  Training plan implementation. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
IEEE/EIA 12207.0:  Software Life Cycle Processes 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. Application:   Applies to the acquisition of systems and software products and services, to the supply, development, operation, and maintenance of software products, and to the software portion of firmware, whether performed internally or externally to an organization. SUMMARY IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Life Cycle Processes:   This International Standard groups the activities that may be performed during the life cycle of software into; Five Primary Processes Acquisition Process Supply Process Development Process Operation Process Maintenance Process Eight Supporting Processes Documentation Process Configuration Management Process Quality Assurance Process Verification Process Validation Process Joint Review Process Audit Process Problem Resolution Process IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
Four Organizational Processes Management Process:   Defines the basic activities of the management, including project management, related to the execution of a life cycle process. Infrastructure Process:   Defines the basic activities for establishing the underlying structure of a life cycle process. Improvement Process:   Defines the basic activities that an organization (that is, acquirer, supplier, developer, operator, maintainer, or the manager of another process) performs for establishing, measuring, controlling, and improving its life cycle process. Training Process:   Defines the activities for providing adequately trained personnel. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA

More Related Content

PDF
Iso iec 12207 software life cycle processes
PPTX
Iso12207:2008 standard
ODP
IEEE 12207
PPS
Solo Requisitos 2008 - 07 Upc
PDF
PDF
Software quality infrastructure
PPTX
Quality Control for Medical Device Software - It Arena Lviv Presentation
PPTX
Ch24-Software Engineering 9
Iso iec 12207 software life cycle processes
Iso12207:2008 standard
IEEE 12207
Solo Requisitos 2008 - 07 Upc
Software quality infrastructure
Quality Control for Medical Device Software - It Arena Lviv Presentation
Ch24-Software Engineering 9

What's hot (17)

PDF
General Principals Of Software Validation
PPTX
Ch2-Software Engineering 9
PDF
Software Maintenance and Evolution
PPTX
Ch 10(spi)cm mi-cm-ppqa
PDF
Mps alexandru
PPTX
Software Engineering Process
PDF
AN ANALYSIS OF SOFTWARE REQUIREMENTS SPECIFICATION CHARACTERISTICS IN REGULAT...
PPT
Software maintenance and configuration management, software engineering
PDF
Validation : Project Management
PDF
FDA 21 CFR Part 11 and Related Regulations and Guidances
PPTX
Software re engineering
PPTX
Ch25-Software Engineering 9
PPT
PPTX
Ch 11(spi)relationship pa
PDF
Computer System Validation – Reduce Costs and Avoid 483s
PPTX
Ch 7(spi)intro tocm-mi2013
PDF
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
 
General Principals Of Software Validation
Ch2-Software Engineering 9
Software Maintenance and Evolution
Ch 10(spi)cm mi-cm-ppqa
Mps alexandru
Software Engineering Process
AN ANALYSIS OF SOFTWARE REQUIREMENTS SPECIFICATION CHARACTERISTICS IN REGULAT...
Software maintenance and configuration management, software engineering
Validation : Project Management
FDA 21 CFR Part 11 and Related Regulations and Guidances
Software re engineering
Ch25-Software Engineering 9
Ch 11(spi)relationship pa
Computer System Validation – Reduce Costs and Avoid 483s
Ch 7(spi)intro tocm-mi2013
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
 
Ad

Viewers also liked (10)

PPT
Project
PDF
Yazılım kalitesi ve Standartlar
PDF
Zorays Solar Energy Calculator
PDF
Water Report - Pepsico
PDF
PPTX
Gsm architecture, gsm network identities, network cases, cell planning, and c...
PPT
Intelligent Networks
PPT
3 g call flow
PPTX
Deciding the software development life cycle procedure (according to iso12207)
Project
Yazılım kalitesi ve Standartlar
Zorays Solar Energy Calculator
Water Report - Pepsico
Gsm architecture, gsm network identities, network cases, cell planning, and c...
Intelligent Networks
3 g call flow
Deciding the software development life cycle procedure (according to iso12207)
Ad

Similar to Ray3 (20)

PPTX
Introduction to ISO29110
PPTX
730-214 - IEEE Standard for Software Quality Assurance.pptx
PDF
Suryn abranapril
PPTX
ISO 29110 Software Quality Model For Software SMEs
DOCX
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
PDF
A Comparative Study of Different types of Models in Software Development Life...
PPTX
Software maintenance
PDF
Testing Standards List
PPTX
PPTX
Programming Engineering Lecture 10 Alaa.ppt
PDF
An Innovative Research on Software Development Life Cycle Model
PDF
Software maintenance
PPTX
Software Testing with a TDD Application
PDF
CP7301 Software Process and Project Management notes
DOCX
Software Maintenance
PPTX
SE Sumerville 9th Chp 2
PPTX
Chapter 2.pptx
DOCX
Quality iso-ieee-standards
PPT
Software Configuration Management
PDF
ISO 15288 Systems Engineering - Application to Air Force
Introduction to ISO29110
730-214 - IEEE Standard for Software Quality Assurance.pptx
Suryn abranapril
ISO 29110 Software Quality Model For Software SMEs
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
A Comparative Study of Different types of Models in Software Development Life...
Software maintenance
Testing Standards List
Programming Engineering Lecture 10 Alaa.ppt
An Innovative Research on Software Development Life Cycle Model
Software maintenance
Software Testing with a TDD Application
CP7301 Software Process and Project Management notes
Software Maintenance
SE Sumerville 9th Chp 2
Chapter 2.pptx
Quality iso-ieee-standards
Software Configuration Management
ISO 15288 Systems Engineering - Application to Air Force

Ray3

  • 1. IEEE/EIA 12207.0 – 1996 “ Software Life Cycle Processes” National Defense Industrial Association (NDIA) Presents
  • 2. ISO/IEC 12207 – 1995: Standard for Information Technology – Software Life Cycle Processes IEEE/EIA 12207.0 – 1996: Software Life Cycle Processes IEEE/EIA 12207.1 – 1998: Software Life Cycle Processes – Life Cycle Data IEEE/EIA 12207.2 – 1998: Software Life Cycle Processes – Implementation Considerations History of 12207
  • 3. Abstract ISO/IEC 12207 provides a common framework for developing and managing software . IEEE/EIA 12207.0 consists of the clarifications, additions, and changes accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations. IEEE/EIA 12207.0 contain concepts and guidelines to foster better understanding and application of the standard . Thus this standard provides industry a basis for software practices that would be useable for both national and international business. IEEE/EIA 12207.0 - 1996 Software Life Cycle Processes NDIA
  • 4. 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 . Application: Applies to the acquisition of systems and software products and services, to the supply, development, operation, and maintenance of software products, and to the software portion of firmware, whether performed internally or externally to an organization. IEEE/EIA 12207.0 - 1996 Software Life Cycle Processes NDIA
  • 5. Abstract ISO/IEC 12207 provides a common framework for developing and managing software. IEEE/EIA 12207.0 consists of the clarifications, additions, and changes accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations. IEEE/EIA 12207.1 provides guidance for recording life cycle data resulting from the life cycle processes of IEEE/EIA 12207.0. IEEE/EIA 12207.1 - 1997 Software Life Cycle Processes – Life Cycle Data NDIA
  • 6. Abstract ISO/IEC 12207 provides a common framework for developing and managing software. IEEE/EIA 12207.0 consists of the clarifications, additions, and changes accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations. IEEE/EIA 12207.2 provides implementation considerations guidance for the normative clauses of IEEE/EIA 12207.0. The guidance is based on software industry experience with the life cycle processes of IEEE/EIA 12207.0. IEEE/EIA 12207.2 - 1997 Software Life Cycle Processes – Implementation Considerations NDIA
  • 7. 2. Normative Reference (pg 2) The following standards contain provisions which, through reference in this test, constitute provisions of this International Standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreement based on this International Standard are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below. Members of IEC and ISO maintain registers of currently valid International Standards . IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 8. 3. Definitions (pg 3) For the purposes of this International Standard, the definitions given in ISO 8402, ISO/IEC 2382-1 and ISO/IEC 2382-20 apply, together with the following definitions. NOTE – A product may be interpreted as a part of a system as applicable. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 9. 4. Application of this International Standard (Clause 4) (pg 6) This clause presents the software life cycle that can be employed to acquire, supply, develop, operate, and maintain software products . The objective is to provide a road map for the users of this International Standard so that they can orient themselves in it and apply it judiciously. 4.1.1 Life Cycle Processes: This International Standard groups the activities that may be performed during the life cycle of software into five primary processes, eight supporting processes, and four organizational processes . Each life cycle process is divided into a set of activities; each activity is further divided into a set of tasks. Subclause numbering a.b denotes a process , a.b.c an activity , and a.b.c.d a task . These life cycle processes are introduced below in depicted in figure 1 (see pg 7). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 10. 4.1.1.1 Primary Processes [ task] (pg 6): The primary processes (clause 5) [presents the software life cycle ] consist of five processes that serve primary parties during the life cycle of software. A primary party is one that initiates or performs the development, operation, or maintenance of software products. The primary processes are: Acquisition Process (subclause 5.1) [ process] : Defines the activities of the acquirer, the organization that acquires a system, software product or software service. Supply Process (subclause 5.2): Defines the activities of the supplier, the organization that provides the system, software product or software service to the acquirer. Development Process (subclause 5.3): Defines the activities of the developer, the organization that defines and develops the software product. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 11. Operation Process (subclause 5.4): Defines the activities of the operator, the organization that provides the service of operating a computer system in its live environment for its users. Maintenance Process (subclause 5.5): Defines the activities of the maintainer, the organization that provides the service of maintaining the software product; that is, managing modifications to the software product to keep it current and in operational fitness. This process includes the migration and retirement of the software product. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 12. 4.1.1.2 Supporting Life Cycle Processes (pg 6): The supporting life cycle processes (clause 6) consist of eight processes . A supporting process supports another process as an integral part with a distinct purpose and contributes to the success and quality of the software project . A supporting process is employed and executed, as needed, by another process. The supporting processes are: Documentation Process (subclause 6.1) [ a process] . Defines the activities for recording the information produced by a life cycle process. Configuration Management Process (subclause 6.2). Defines the configuration management activities. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 13. Quality Assurance Process (subclause 6.3). Defines the activities for objectively assuring that the software products and processes are in conformance with their specified requirements and adhere to their established plans. Joint Reviews, Audits, Verification, and Validation may be used as techniques of Quality Assurance. Verification Process (subclause 6.4). Defines the activities (for the acquirer, the supplier, or an independent party) for verifying the software products and services in varying dept depending on the software project. Validation Process (subclause 6.5). Defines the activities (for the acquirer, the supplier, or an independent party) for validating the software products of the software project. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 14. Joint Review Process (subclause 6.6). Defines the activities for evaluating the status and products of an activity. This process may be employed by any two parties, where one party (reviewing party) reviews another party (reviewed party) in a joint forum. Audit Process (subclause 6.7). Defines that activities for determining compliance with the requirements, plans, and contract. This process may be employed by any two parties, where one party (auditing party) audits the software products or activities of another party (audited party). Problem Resolution Process (subclause 6.8). Defines a process for analyzing and removing the problems (including nonconformances), whatever their nature or source, that are discovered during the execution of development, operation, maintenance, or other processes. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 15. 4.1.1.3 Organizational Life Cycle Processes (pg 8): The organizational life cycle processes (clause 7) consist of four processes . They are employed by an organization to establish and implement an underlying structure made up of associated life cycle processes and personnel and continuously improve the structure and processes. They are typically employed outside the realm of specific projects and contracts ; however, lessons from such projects and contracts contribute to the improvement of the organization. The organizational processes are: Management Process (subclause 7.1) [ a process] . Defines the basic activities of the management, including project management, related to the execution of a life cycle process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 16. Infrastructure Process (subclause 7.2). Defines the basic activities for establishing the underlying structure of a life cycle process. Improvement Process (subclause 7.3). Defines the basic activities that an organization (that is, acquirer, supplier, developer, operator, maintainer, or the manager of another process) performs for establishing, measuring, controlling, and improving its life cycle process. Training Process (subclause 7.4). Defines the activities for providing adequately trained personnel. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 17. 5 PRIMARY LIFE CYCLE PROCESSES 5.1 Acquisition 5.5 Maint. 5.4 Operation 5.3 Development 5.2 Supply 8 SUPPORTING LIFE CYCLE PROCESSES 6.1 Documentation 6.2 Configuration Management 6.3 Quality Assurance 6.4 Verification 6.5 Validation 6.6 Joint Review 6.7 Audit 6.8 Problem Resolution 4 ORGANIZATIONAL LIFE CYCLE PROCESSES 7.1 Management 7.2. Infrastructure 7.3 Improvement 7.4. Training IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 18. 5. Primary Life Cycle Processes (Clause 5) (pg 9): This clause defines the following primary life cycle processes: 5.1 Acquisition process; 5.2 Supply process; 5.3 Development process; 5.4 Operation process; 5.5 Maintenance process. The activities and tasks in a primary process are the responsibility of the organization initiating and performing that process. This organization ensures that the process is in existence and functional. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 19. 5.1 Acquisition Process [a process] (pg 10): Contains the activities and tasks of the acquirer . The process begins with the definition of the need to acquire a system, software product or software service. This process continues with the preparation and issue of a request for proposal, selection of a supplier, and management of the acquisition process through to the acceptance of the system, software product or software service. The individual organization having the need may be called the owner. The owner may contract any or all of the acquisition activities to an agent who will in turn conduct those activities according to the Acquisition Process. The acquirer in this subclause may be the owner or the agent. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 20. The acquirer manages the Acquisition Process at the project level following the Management Process (7.1), which is instantiated in this process; establishes an infrastructure under the process following the Infrastructure Process (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the Improvement Process (7.3) and the Training Process (7.4). List of Activities: This process consists of the following activities: Initiation; Request-for-Proposal [-tender] preparation; Contract preparation and update; Supplier monitoring; Acceptance and completion. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 21. 5.2 Supply Process [a process] (pg. 13): The Supply Process contains the activities and tasks of the supplier . The process may be initiated either by a decision to prepare a proposal to answer an acquirer’s request for proposal or by signing and entering into a contract with the acquirer to provide the system, software product or software service. The process continues with the determination of procedures and resources needed to manage and assure the project, including development of project plans and execution of the plans through delivery of the system, software product or software service to the acquirer. The supplier manages the Supply Process at the project level following the Management Process (7.1), which is instantiated in this process; establishes an infrastructure under the process following the Infrastructure Process (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the Improvement Process (7.3) and the Training Process (7.4). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 22. List of Activities: This process consists of the following activities: Initiation; Preparation of response; Contract; Planning; Execution and control; Review and evaluation; Delivery and completion. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 23. 5.3 Development Process [a process] (pg 16): The Development Process contains the activities and tasks of the developer . The process contains the activities for requirements analysis, design, coding, integration, testing, and installation and acceptance related to software products . It may contain system related activities if stipulated in the contract. The developer performs or supports the activities in this process in accordance with the contract. The developer manages the Development Process at the project level following the Management Process (7.1), which is instantiated in this process; establishes an infrastructure under the process following the Infrastructure Process (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the Improvement Process (7.3) and the Training Process (7.4). When the developer is the supplier of the developed software product, the developer performs the Supply Process (5.2). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 24. List of Activities: This process consists of the following activities: Process Implementation; System Requirements Analysis; System Architectural Design; Software Requirements Analysis; Software Architectural Design; Software Detailed Design; Software Coding and Testing; Software Integration; Software Qualification Testing; System Integration; System Qualification Testing; Software Installation; Software Acceptance Support; IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 25. 5.4 Operation Process [a process] (pg 23): The Operation Process contains the activities and tasks of the operator . The process covers the operation of the software product and operational support to users . Because operation of software product is integrated into the operation of the system. The activities and tasks of this process refer to the system. The operator manages the Operation Process at the project level following the Management Process (7.1), which is instantiated in this process; establishes an infrastructure under the process following the Infrastructure Process (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the Improvement Process (7.3) and the Training Process (7.4). When the operator is the supplier of the operation service, the operator performs the Supply Process (5.2). (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 26. List of Activities: This process consists of the following activities: Process implementation; Operational testing; System operation; User support. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 27. 5.5 Maintenance Process [a process] (pg. 24): The Maintenance Process contains the activities and tasks of the maintainer . This process is activated when the software product undergoes modifications to code and associated documentation due to a problem or the need for improvement or adaptation . The objective is to modify existing software product while preserving its integrity. This process includes the migration and retirement of the software product. The process ends with the retirement of the software product. The activities provided in this clause are specific to the Maintenance Process; however, the process may utilize other processes in this International Standard. If the Development Process (5.3) is utilized, the term developer there is interpreted as maintainer. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 28. The maintainer manages the Maintenance Process at the project level following the Management Process (7.1), which is instantiated in this process; establishes an infrastructure under the process following the Infrastructure Process (7.2); tailors the process for the project following the Tailoring Process (annex A); and manages the process at the organizational level following the Improvement Process (7.3) and the Training Process (7.4). When the maintainer is the supplier of the maintenance service, the maintainer performs the Supply Process (5.2). List of Activities: This process consists of the following activities: Process implementation; Problem and modification analysis; Modification implementation; Maintenance review/acceptance; Migration; Software retirement. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 29. Supporting Life Cycle Processes (Clause 6) (pg. 27): This clause defines the following supporting life cycle processes: 6.1 [ a process] Documentation Process; 6.2 Configuration Management Process; 6.3 Quality Assurance Process; 6.4 Verification Process; 6.5 Validation Process; 6.6 Joint Review Process; 6.7 Audit Process; 6.8 Problem Resolution Process; IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 30. 6.1 Documentation Process [a process] (pg. 28): The Documentation Process is a process for recording information produced by a life cycle process or activity. The process contains the set of activities, which plan, design, develop, produce, edit, distribute, and maintain those documents needed by all concerned such as managers, engineers, and users of the system or software product. Execution of this process by an organization results in the establishment of internal documentation standards (such as standards for program management plan and software design document) in a suitable media – paper, electronic, or other. The terms used in this process need to be interpreted accordingly for a given media or domain. List of Activities: 6.1.1 Process Implementation [ activity] (A plan, identifying the documents to be produced during the life cycle….shall be developed, documented, and implemented.) 6.1.2 Design and Development [ activity] (Each identified document shall be designed in accordance with applicable documentation standards…format, content description, page numbering, figure/table placement, proprietary/security marking, packaging, and other presentation items.) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 31. 6.1.3 Production [ activity] (In accordance with the plan…may use paper, electronic, or other media. Master materials shall be stored….for record retention, security, maintenance, and backup.) 6.1.4 Maintenance [ activity] (The tasks, that are required to be performed when documentation is to be modified, shall be performed. For those documents that are under CM, modifications shall be managed in accordance with the CM process (6.2) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 32. 6.2 Configuration Management Process [a process] (pg. 29): The Configuration Management Process is a process of applying administrative and technical procedures throughout the software life cycle to: Identify and define software items in a system; control modifications and releases of the items; record and report the status of the items and modification requests; ensure the completeness, consistency, and correctness of the items; and control storage, handling, and delivery of the items. List of Activities: 6.2.1 Process Implementation [activity] . This activity consists of the following tasks: IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 33. 6.2.1.1 A configuration management plan shall be developed [task] . The plan shall describe: The CM Activities; Procedures and Schedule for performing these activities; The organization(s) responsible for performing these activities; and their relationship with other organizations, such as software development or maintenance. The plan shall be documented and implemented. NOTE – The plan may be a part of the system configuration management plan. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 34. 6.2.2 Configuration Identification [activity] . This activity consists of the following tasks: 6.2.2.1 [task] A scheme shall be established for the identification of software items and their versions to be controlled for the project. For each software CI and its versions, the following shall be identified: the documentation that establishes the baseline; the version references; and other identification details. 6.2.3 Configuration Control. This activity consists of the following task: 6.2.3.1 The following shall be performed: identification and recording of change requests; analysis and evaluation of the changes; approval or disapproval of the request; and implementation, verification, and release of the modified software item. An audit trail shall exist, whereby each modification, the reason for the modification, and authorization of the modification can be traced. Control and audit of all accesses to the controlled software items that handle safety or security critical functions shall be performed. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 35. 6.2.4 Configuration Status Accounting. This activity consists of the following tasks: 6.2.4.1 Management records and status reports that show the status and history of controlled software items including baseline shall be prepared. Status reports shall include the number of changes for a project, latest software item versions, release identifiers, the number of releases, and comparisons of releases. 6.2.5 Configuration Evaluation. This activity consists of the following tasks: 6.2.5.1 The following shall be determined and ensured: the functional completeness of the software items against their requirements and the physical completeness of the software items (whether their design and code reflect an up-to-date technical description). IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 36. 6.2.6 Release Management and Delivery. This activity consists of the following task: 6.2.6.1 The release and delivery of software products and documentation shall be formally controlled. Master copies of code and documentation shall be maintained for the life of the software product. The code and documentation that contain safety or security critical functions shall be handled, stored, packaged, and delivered in accordance with the policies of the organizations involved. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 37. 6.3 Quality Assurance Process [a process] (pg. 31): The Quality Assurance Process is a process for providing adequate assurance that the software products and processes in the project life cycle conform to their specified requirements and adhere to their established plans. To be unbiased, quality assurance needs to have organizational freedom and authority from persons directly responsible for developing the software product or executing the process in the project. Quality Assurance may be internal or external depending on whether evidence of product or process quality is demonstrated to the management of the supplier or the acquirer. Quality assurance may make use of the results of other supporting processes, such as Verification, Validation, Joint Reviews, Audits, and Problem Resolution. (Cont’d) IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 38. List of Activities . This process consists of the following activities: Process Implementation; Product Assurance; Process Assurance; Assurance of Quality Systems. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 39. 6.4. Verification Process [a process] (pg. 33): The Verification Process is a process for determining whether the software products of an activity fulfill the requirements or conditions imposed on them in the previous activities. For cost and performance effectiveness, verification should be integrated, as early as possible, with the process (such as supply, development, operation, or maintenance) that employs it. This process may include analysis, review and test. This process may be executed with varying degrees of independence. The degree of independence may range from the same person or different person in the same organization to a person in a different organization with varying degrees of separation. In the case where the process is executed by and organization independent of the supplier, developer, operator, or maintainer, it is called Independent Verification Process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 40. List of Activities . The process consists of the following activities: Process Implementation; Verification. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 41. 6.5. Validation Process [a process] (pg. 36): The Validation process is a process for determining whether the requirements and the final, as-built system or software product fulfills its specific intended use. Validation may be conducted in earlier stages. This process by be conducted as part of Software Acceptance Support (5.3.13). This process may be executed with varying degrees of independence. The degree of independence may range from the same person or different person in the same organization to a person in a different organization with varying degrees of separation. In the case where the process is executed by an organization independent of the supplier, developer, operator, or maintainer, it is called Independent Validation Process. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 42. List of Activities . The process consists of the following activities: Process Implementation; Validation. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 43. 6.6 Joint Review Process [a process] (pg. 38): The Joint Review Process is a process for evaluating the status and products of an activity of a project as appropriate. Joint reviews are at both project management and technical levels and are held throughout the life of the contract. This process may be employed by any two parties, where one party (reviewing party) reviews another party (reviewed party). List of activities . This process consists of the following activities: 6.6.1 Process Implementation; 6.6.2 Project Management Reviews; 6.6.3 Technical Reviews. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 44. 6.7 Audit Process [a process] (pg 40): The Audit Process is a process for determining compliance with the requirements, plans, and contract as appropriate. This process may be employed by any two parties, where one party (auditing party) audits the software products or activities of another party (audited party). List of Activities . This process consists of the following activities: Process Implementation; Audit. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 45. 6.8 Problem Resolution Process [a process] (pg. 41): The Problem Resolution Process is a process for analyzing and resolving the problems (including nonconformance’s), whatever their nature or source, that are discovered during the execution of development, operation, maintenance, or other processes. The objective is to provide a timely, responsible, and documented means to ensure that all discovered problems are analyzed and resolved and trends are recognized. List of Activities . The process consists of the following activities: Process Implementation; Problem Resolution. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 46. Organizational Life Cycle Processes (Clause 7) (pg 42) This clause defines the following organization life cycle processes: 7.1 Management Process; 7.2 Infrastructure Process; 7.3 Improvement Process; 7.4 Training Process. The activities and tasks in an organizational process are the responsibility of the organization using that process. The organization ensures that the process is in existence and functional. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 47. 7.1 Management Process [a process] (pg 43); The Management Process contains the generic activities and tasks, which may be employed by any party that has to manage its respective process(es). The manager is responsible for product management, project management, and task management of the applicable process(es), such as the acquisition, supply, development, operation, maintenance, or supporting process. List of Activities . This process consists of the following activities; 7.1.1 Initiation and Scope definition; 7.1.2 Planning; 7.1.3 Execution and Control; 7.1.4 Review and Evaluation; 7.1.5 Closure. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 48. 7.2 Infrastructure Process [a process] (pg 45); The Infrastructure Process is a process to establish and maintain the infrastructure needed for any other process. The infrastructure may include hardware, software, tools, techniques, standards, and facilities for development, operation, or maintenance. List of Activities . This process consists of the following activities; 7.2.1 Process Implementation; 7.2.2 Establishment of the Infrastructure; 7.2.3 Maintenance of the Infrastructure. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 49. 7.3 Improvement Process [a process] (page 46); The Improvement Process is a process for establishing, assessing, measuring, controlling, and improving a software life cycle process. List of Activities . This process consists of the following activities; 7.3.1 Process establishment; 7.3.2 Process assessment; 7.3.3 Process improvement. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 50. 7.4 Training Process [a process] (page 47); The Training Process is a process for providing and maintaining trained personnel. The acquisition, supply, development, operation, or maintenance of software products is largely dependent upon knowledgeable and skilled personnel. For example: developer personnel should have essential training in software management and software engineering. It is, therefore, imperative that personnel training be planned and implemented early so that trained personnel are available as the software product is acquired, supplies, developed, operated, or maintained. List of Activities . This process consists of the following activities; 7.4.1 Process implementation; 7.4.2 Training material development; 7.4.3 Training plan implementation. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 51. IEEE/EIA 12207.0: Software Life Cycle Processes 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. Application: Applies to the acquisition of systems and software products and services, to the supply, development, operation, and maintenance of software products, and to the software portion of firmware, whether performed internally or externally to an organization. SUMMARY IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 52. Life Cycle Processes: This International Standard groups the activities that may be performed during the life cycle of software into; Five Primary Processes Acquisition Process Supply Process Development Process Operation Process Maintenance Process Eight Supporting Processes Documentation Process Configuration Management Process Quality Assurance Process Verification Process Validation Process Joint Review Process Audit Process Problem Resolution Process IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA
  • 53. Four Organizational Processes Management Process: Defines the basic activities of the management, including project management, related to the execution of a life cycle process. Infrastructure Process: Defines the basic activities for establishing the underlying structure of a life cycle process. Improvement Process: Defines the basic activities that an organization (that is, acquirer, supplier, developer, operator, maintainer, or the manager of another process) performs for establishing, measuring, controlling, and improving its life cycle process. Training Process: Defines the activities for providing adequately trained personnel. IEEE/EIA 12207.0 - 1997 Software Life Cycle Processes NDIA