What Is ISO?
Standards are documented agreements containing technical specifications or other precise criteria to be used consistently as rules, guidelines, or definitions of characteristics, to ensure that materials, products, processes and services are fit for their purpose.
The International Organization for Standardization (ISO) is a worldwide federation of national standards bodies from some 100 countries, one from each country, and is a non-governmental organization established in 1947. Many people will have noticed a seeming lack of correspondence between the official title when used in full, International Organization for Standardization, and the short form, ISO. Shouldn’t the acronym be “IOS”? Yes, if it were an acronym – which it is not. International standardization began in the electrotechnical field. The International Electrotechnical Commission (IEC) was created in 1906.
ISO/IEC 12207 was published on 1 August 1995 and was the first International Standard to provide a comprehensive set of life cycle processes, activities and tasks for software that is part of a larger system, and for standalone software products and services. The ISO/IEC 12207 Amendments in 2002 and 2004 added process purpose and outcomes to the International Standard and established a Process Reference Model in accordance with the requirements of ISO/IEC 15504-2.
This International Standard can be used in one or more of the following modes:
- By an organization
- By a project
- By an acquirer and a supplier
- By organizations and assessors
The purpose of this International Standard is to provide a defined set of processes to facilitate communication among acquirers, suppliers and other stakeholders in the life cycle of a software product. This International Standard is written for acquirers of systems and software products and services and for suppliers, developers, operators, maintainers, managers, quality assurance managers, and users of software products. Limitation of this International Standard does not detail the life cycle processes in terms of methods or procedures required to meet the requirements and outcomes of a process. It does not provide documentation for that ISO/IEC 15289 is being used.
Application of this International Standard:
This clause presents an overview of the software life cycle processes that can be employed to acquire, supply, develop, operate, maintain, and dispose of software products and services. 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.
- Relationship between systems and software:
As we know a software is a part of a system which performs some functions in that system. It is a fundamental premise of this standard that software always exists in the context of a system, even if the system consists of only the processor upon which the software is executed.
This standard has a strong relationship with ISO/IEC 15288:2008, System Life Cycle Processes, and may be used in conjunction with it. In many cases, the processes of this International Standard directly correspond to processes of ISO/IEC 15288 but with some specialization for software products and services.
- Organizations and parties:
An organization is a body of persons with identified responsibilities and authorities organized for some specific purpose, such as a club, union, corporation, or society. When an organization, as a whole or a part, enters into a contract, it is a party. Parties may be from the same organization or from separate organizations. An individual is an example of an organization, if the individual is assigned responsibilities and authorities.
LIFE CYCLE PROCESSES:
Categories of Life Cycle Processes:
This International Standard groups the activities that may be performed during the life cycle of a software system into seven process groups. Each of the life cycle processes within those groups is described in terms of its purpose and desired outcomes and lists activities and tasks which need to be performed to achieve those outcomes.
a) Agreement Processes — two processes
b) Organizational Project-Enabling Processes — five processes
c) Project Processes — seven processes
d) Technical Processes — eleven processes
e) Software Implementation Processes — seven processes
f) Software Support Processes — eight processes
g) Software Reuse Processes — three processes
The purposes and outcomes of the life cycle processes constitute a Process Reference Model.
Summary of Life Cycle Processes:
There are two major sub-divisions of process in this International Standard. Clause 6 provides a system context for dealing with a standalone software product or service or a software system. Clause 7 contains the software-specific processes for use in implementing a software product or service that is an element of a larger system.
[A] System Context Processes:
6.1 Agreement Processes:
These processes define the activities necessary to establish an agreement between two organizations.
6.1.1 Acquisition Process:
The purpose of acquisition process is to obtain the product or service which satisfies the needs needed by acquirer- stakeholder that acquires or procures a product or service from a supplier. The process begins with the identification of customer needs and ends with the acceptance of the product and/or service needed by the acquirer.
The acquirer begins the acquisition process by describing a concept or a need to acquire, develop, or enhance a system, software product or software service, by defining and analyzing system requirements, by preparing acquisition plan. The acquisition documentation should include, as appropriate:
a) System requirements.
b) Scope statement.
c) Instructions for bidders.
d) List of software products.
e) Terms and conditions.
f) Control of subcontracts.
g) Technical constraints (e.g., target environment).
6.1.2 Supply Process:
The purpose of the Supply Process is to provide a product or service to the acquirer that meets the agreed requirements. Outcomes from this process are identification of acquirer for a product, response to the request of acquirer, based on agreed requirements product is delivered.
6.2 Organizational Project-Enabling Processes:
The Organizational Project-Enabling Processes manage the organization’s capability to acquire and supply products or services through the initiation, support and control of projects.
6.2.1 Life Cycle Model Management Process:
The purpose of the Life Cycle Model Management Process is to define, maintain, and assure availability of policies, life cycle processes, life cycle models, and procedures for use by the organization with respect to the scope of this International Standard.
Here in this process which life cycle model is to be used, which policies are best suitable for a software, responsibility for life cycle management are defined.
6.2.2 Infrastructure Management Process:
The purpose of the Infrastructure Management Process is to provide the enabling infrastructure and services to projects to support organization and project objectives throughout the life cycle. The infrastructure elements may include hardware, software, methods, tools, techniques, standards, and facilities for development, operation, or maintenance
6.2.3 Project Portfolio Management Process:
The purpose of the Project Portfolio Management Process is to initiate and sustain necessary, sufficient and suitable projects in order to meet the strategic objectives of the organization. Resources and budgets for each project are identified and allocated in this process
6.2.4 Human Resource Management Process:
The purpose of the Human Resource Management Process is to provide the organization with necessary human resources and to maintain their competencies, consistent with business needs. Human should be skilled enough to perform software life cycle processes to achieve organization.
6.2.5 Quality Management Process:
The purpose of the Quality Management Process is to assure that products, services and implementations of life cycle processes meet organizational quality objectives and achieve customer satisfaction. The organization shall establish quality management policies, standards and procedures, quality management goals
6.3 Project Processes:
In this International Standard, the project has been chosen as the context for describing processes concerned with planning, assessment and control. The principles related to these processes can be applied in any area of an organization’s management. There are two categories of Project Processes. The Project Management Processes are used to plan, execute, assess and control the progress of a project. The Project Support Processes support specialized management objectives.
Project management includes these two processes:
6.3.1 Project Planning Process:
The purpose of the Project Planning Process is to produce and communicate effective and workable project plans.
6.3.2Project Assessment and Control Process:
The purpose of the Project Assessment and Control Process is to determine the status of the project and ensure that the project performs according to plans and schedules, and within projected budgets, and that it satisfies technical objectives.
Project Support Processes includes following processes:
6.3.3 Decision Management Process:
The purpose of the Decision Management Process is to select the most beneficial course of project action where alternatives exist. A decision-making strategy, alternative and preferred course of action is defined during this process.
6.3.4 Risk Management Process:
The purpose of the Risk Management Process is to identify, analyze, treat and monitor the risks continuously
6.3.5 Configuration Management Process:
The purpose of the Configuration Management Process is to establish and maintain the integrity of all identified outputs of a project or process and make them available to concerned parties.
6.3.6 Information Management Process:
The purpose of the Information Management Process is to provide relevant, timely, complete, valid and, if required, confidential information to designated parties during and, as appropriate, after the system life cycle.
6.3.7 Measurement Process:
The purpose of the Measurement Process is to collect, analyze, and report data relating to the products developed and processes implemented within the organizational unit, to support effective management of the processes, and to objectively demonstrate the quality of the products.
6.4 Technical Processes:
The Technical Processes are used to define the requirements for a system, to transform the requirements into an effective product, to permit consistent reproduction of the product where necessary, to use the product, to provide the required services, to sustain the provision of those services and to dispose of the product when it is retired from service
6.4.1 Stakeholder Requirements Definition Process:
The purpose of the Stakeholder Requirements Definition Process is to define the requirements for a system that can provide the services needed by users and other stakeholders in a defined environment.
6.4.2 System Requirements Analysis Process:
The purpose of System Requirements Analysis is to transform the defined stakeholder requirements into a set of desired system technical requirements that will guide the design of the system.
6.4.3 System Architectural Design Process:
The purpose of the System Architectural Design Process is to identify which system requirements should be allocated to which elements of the system.
6.4.4 Implementation Process:
The purpose of the Implementation Process is to realize a specified system element.
6.4.5 System Integration Process:
The purpose of the System Integration Process is to integrate the system elements (including software items, hardware items, manual operations, and other systems, as necessary) to produce a complete system that will satisfy the system design and the customers’ expectations expressed in the system requirements.
6.4.6 System Qualification Testing Process:
The purpose of the Systems Qualification Testing Process is to ensure that the implementation of each system requirement is tested for compliance and that the system is ready for delivery.
6.4.7 Software Installation Process:
The purpose of the Software Installation Process is to install the software product that meets the agreed requirements in the target environment.
6.4.8 Software Acceptance Support Process:
The purpose of the Software Acceptance Support Process is to assist the acquirer to achieve confidence that the product meets requirements.
6.4.9 Software Operation Process:
The purpose of the Software Operation Process is to operate the software product in its intended environment and to provide support to the customers of the software product.
6.4.10 Software Maintenance Process:
The purpose of the Software Maintenance Process is to provide cost-effective support to a delivered software product.
6.4.11 Software Disposal Process:
The purpose of the Software Disposal Process is to end the existence of a system’s software entity. This process destroys or stores system software elements and related products in a sound manner, in accordance with legislation, agreements, organizational constraints and stakeholder requirements. Where required, it maintains records that may be monitored.
[B] Software Specific Process:
6.5 Software Implementation Processes:
The Software Implementation Processes are used to produce a specified system element (software item) implemented in software. Those processes transform specified behaviour, interfaces and implementation constraints into implementation actions resulting in a system element that satisfies the requirements derived from the system requirements
6.5.1 Software Implementation Process:
The purpose of the Software Implementation Process is to produce a specified system element implemented as a software product or service.
6.5.2 Software Requirements Analysis Process:
The purpose of Software Requirements Analysis Process is to establish the requirements of the software elements of the system.
6.5.3 Software Architectural Design Process:
The purpose of the Software Architectural Design Process is to provide a design for the software that implement and can be verified against the requirements.
6.5.4 Software Detailed Design Process:
The purpose of the Software Detailed Design Process is to provide a design for the software that implements and can be verified against the requirements and the software architecture and is sufficiently detailed to permit coding and testing.
6.5.5 Software Construction Process:
The purpose of the Software Construction Process is to produce executable software units that properly reflect the software design.
6.5.6 Software Integration Process:
The purpose of the Software Integration Process is to combine the software units and software components, producing integrated software items, consistent with the software design, that demonstrate that the functional and non-functional software requirements are satisfied on an equivalent or complete operational platform.
6.5.7 Software Qualification Testing Process:
The purpose of the Software Qualification Testing Process is to confirm that the integrated software product meets its defined requirements.
6.6 Software Support Processes:
The Software Support Processes provide a specific focused set of activities for performing a specialized software process. A supporting process assists the Software Implementation Process as an integral part with a distinct purpose, contributing to the success and quality of the software project. There are eight of these processes:
6.6.1 Software Documentation Management Process:
The purpose of the Software Documentation Management Process is to develop and maintain the recorded software information produced by a process.
6.6.2 Software Configuration Management Process:
The purpose of the Software Configuration Management Process is to establish and maintain the integrity of the software items of a process or project and make them available to concerned parties.
6.6.3 Software Quality Assurance Process:
The purpose of the Software Quality Assurance Process is to provide assurance that work products and processes comply with predefined provisions and plans.
6.6.4 Software Verification Process:
The purpose of the Software Verification Process is to confirm that each software work product and/or service of a process or project properly reflects the specified requirements.
6.6.5 Software Validation Process:
The purpose of the Software Validation Process is to confirm that the requirements for a specific intended use of the software work product are fulfilled.
6.6.6 Software Review Process:
The purpose of the Software Review Process is to maintain a common understanding with the stakeholders of the progress against the objectives of the agreement and what should be done to help ensure development of a product that satisfies the stakeholders. Software reviews are at both project management and technical levels and are held throughout the life of the project.
6.6.7 Software Audit Process:
The purpose of the Software Audit Process is to independently determine compliance of selected products and processes with the requirements, plans and agreement, as appropriate.
6.6.8 Software Problem Resolution Process:
The purpose of the Software Problem Resolution Process is to ensure that all discovered problems are identified, analyzed, managed and controlled to resolution.
6.7 Software Reuse Processes:
The Software Reuse Process Group consists of three processes that support an organization’s ability to reuse software items across project boundaries. These processes are unique because, by their nature, they operate outside the bounds of any particular project.
6.7.1 Domain Engineering Process:
The purpose of the Domain Engineering Process is to develop and maintain domain models, domain architectures and assets for the domain.
6.7.2 Reuse Asset Management Process:
The purpose of the Reuse Asset Management Process is to manage the life of reusable assets from conception to retirement.
6.7.3 Reuse Program Management Process:
The purpose of the Reuse Program Management Process is to plan, establish, manage, control, and monitor an organization’s reuse program and to systematically exploit reuse opportunities.
–>Current Existence of ISO 12207:
Software Engineering Process Technology (SEPT):
It is a firm specializing in meeting the software process standards information needs of the professional community, particularly concerning ISO/IEC 12207. SEPT was found in 1992 by stan magee CCP, the principle and president.
 ISO/IEC 12207:2008(E) – IEEE std 12207-2008 paper