SOFTWARE LIFE CYCLE PROCESSES
Federal Aviation Administration
Washington, DC, USA
In 1987 the International Organization for Standardization (ISO) and the International Electrotechnical
Commission (IEC) established a Joint Technical Committee (JTC1) on Information Technology.
scope of the JTC1 is "Standardization in the field of information technology systems (including
microprocessor systems) and equipments."
In June 1989, the JTC1 initiated the development of an International Standard, ISO/IEC 12207 , on
software life cycle processes to fill a critical need.
Since the "cottage" industry era of the late 1970's,
software has been establishing itself as an integral part of many scientific and business disciplines.
However, environments for developing and managing software have been proliferating for lack of a
uniform framework for managing and engineering software.
The International Standard fills that critical
need by establishing a common framework that can be used by software practitioners to manage and
Besides, such a uniform framework would promote international trade in software
products and services.
The International Standard was published August 1, 1995.
The following countries participated in the
development of the standard: Australia, Brazil, Canada, Czech Republic, Denmark, Finland, France,
Germany, Ireland, Italy, Japan, Korea, The Netherlands, Spain, Sweden, the United Kingdom, and the
United States of America.
The standard is voluntary; that is, it does not in itself impose any obligation upon anyone to follow it.
it may be imposed by an organization through internal policy directive or by individual parties through
The standard is designed for use by one or more parties as the basis of an
agreement or in a self-imposed way.
Software life cycle architecture.
The standard establishes a top-level architecture of the life cycle of
The life cycle begins with an idea or a need that can be satisfied wholly or partly by software
and ends with the retirement of the software.
The architecture is built with a set of processes and
interrelationships among these processes.
The derivation of the processes is based upon two basic
principles: modularity and responsibility.
The processes are modular; that is, they are maximally cohesive and minimally
coupled to the practical extent feasible.
An individual process is dedicated to a unique function.
A process is considered to be the responsibility of a party in the software life
In other words, each party has certain responsibilities. Responsibility is one of the key principles of
total quality management, as discussed later.)
This is in contrast to a "text book approach," where the life