Life cycle management using life cycle process standards
Software systems now pervade all aspects of our life and there is typically at least a firmware component in most digital systems. One electronics company  is well down the path of allowing users to connect to a home network via the Internet or telephone and check the contents of the refrigerator or turn on the air conditioning system and set the temperature. Taxi companies in some parts of the world now utilize computer systems that facilitate repeat client identification, global position system tracking, work scheduling and automated electronic map guidance and directions. The complexity and interoperability of these systems is growing at a rate that could not have been predicted twenty years ago and it has thus become important to develop means of properly managing the full life cycle of software systems.
Whilst electronic digital computers are relatively new, standards that cover the full life cycle of software systems have only been available since 1995. Prior to this there were some standards that focused on the Development process but these were very prescriptive and through this caused difficulty for their use.
This paper introduces the basic concepts of ISO/IEC 12207 Software life cycle processes  and ISO/IEC 15288 System life cycle processes . In addition, it introduces a possible future comprehensive framework of standards that uses these two standards as the core part of that framework.
The standards under discussion were produced by Sub-Committee 7 (SC 7) Software and Systems Engineering  of the Joint Technical Committee 1 (JTC 1) of the International Organization for Standardization and the International Electrotechnical Commission. JTC 1 is responsible for developing, maintaining, promoting and facilitating Information Technology standards.
Ancestry of life cycle process standards
The United States Navy, Space and Naval Warfare Systems Command published DOD-STD 2167A Defense system software development in February 1988. This publication came at a time when there was a growing and general move away from defence specific standards to commercial and international standards. In addition, experience was drawing attention to the need to consider the full life cycle of software systems.
Dr Raghu Singh from Space and Naval Warfare Systems Command was appointed Project Editor of what has become known as ISO/IEC 12207 Software life cycle processes. It is interesting to note the proposal for this standard was produced in June 1988, just a few months after DOD-STD 2167A had been published.
Early efforts at managing software development adopted approaches that focused on prescriptive detail about how the work should be done as well as the production of significant amounts of documentation. Current efforts of standards development focus more on the desired outcomes and leave the developer with the flexibility to determine the detail of their approach themselves. This more easily allows the developer to take advantage of new practices that are better supported by rapidly evolving technology.
Life cycle management standards
The work of ISO/IEC JTC 1/SC 7 is distributed through a set of Working Groups. Working Group 7 has the primary responsibility for producing the Life cycle process standards.
Table 1 - SC 7 Working Groups
The publications and work in progress of Working Group 7 are summarized below. All these standards are related to each other through the common theme of life cycles.
Table 2 - WG 7 products
Life cycle concepts
The standards framework to which the Working Group 7 products contribute aim to provide:
In addition it is intended that the standards be applied more than once on a single project if necessary.
Life cycles apply to many aspects of the world in which we live including organizations, projects and products. Each of these has a beginning, an operational life and ultimately a conclusion. Management of life cycles is facilitated through models of the real world and in the context of Information Technology these are based upon the three fundamental models introduced in ISO/IEC TR 15271 and further refined using system life cycle stages in ISO/IEC 15288:
These models can be used in their fundamental form or they can be combined to create hybrid life cycle models. The figures below use a simplified set of stages to illustrate the variation in each approach.
The waterfall is essentially a single-pass approach based on requirements gathered at the start of the project. Whilst considered by many today as being an old approach, it still has relevance to some projects.
The incremental model uses a pre-defined set of multiple passes based on a set of requirements that are defined at the start of the project but which are implemented through a series of builds. The builds may be serial and/or partially overlapped in parallel.
The evolutionary model differs from the previous two in that the requirements are progressively derived and refined with each build. It is important with this model to constrain the number of builds to an appropriate number and to have good requirements management and configuration management as the initial lack of clear requirements will often result in some back-tracking.
The reasons for using each of these different models are summarized in the following table.
Table 3 - Model characteristics
The opportunity for using interim products may be useful for establishing an early lead in a new product category.
In the case of the evolutionary model it may be important to ensure that the user fully understands the approach being used. For example, an operational prototype may have the appearance of the final product to the end user but it may be incomplete from the perspective of characteristics such as robustness, security or archiving capability. There are many stories of incomplete prototypes being used that ultimately caused problems because they were deployed into production too early.
ISO/IEC 12207 Software life cycle processes
ISO/IEC 12207 was developed to be independent of management and engineering methods, computer languages, software engineering environments and life cycle models. In this manner the standard can be used in any situation related to software and including as the basis of a prototyping method.
The standard has 18 processes including the special Tailoring process as shown in the following figure.
Each of these processes is defined in the standard using a hierarchy of activities and tasks. The tasks accept inputs, act upon these and produce outputs. However, the action is not expressed as "how to" action but instead as "what to do" action. It is intended that the "how to" be left to each organization that is implementing the standard.
The tasks are expressed in a deliberate manner using the following auxiliary verbs:
This precise language provides the means for clearly conveying the intent of the standard at the task level.
Each process in ISO/IEC 12207 includes a clearly defined means for its activation. This takes into account the need for the initial instantiation of the life cycle model.
Table 4 - ISO/IEC 12207 engagement activity
ISO/IEC 12207 maintains a concept of ownership of processes and with this there is a perspective of "views" e.g. the Contract view which relates to the Acquisition and Supply processes. This is illustrated in a general sense in the following figure.
In the case of sub-contracted work, the standard may be invoked again by a Prime Contractor supplying a solution so that the original Supplier becomes an Acquirer from the perspective of the sub-contracted work.
At the time that ISO/IEC 12207 was developed it was recognized that there is always a surrounding system context but the circumstances were such that the scope of work was constrained to software. However, within the standard it was considered appropriate to provide linkage to the broader context by including four system level activities in the Development process. These four processes were also mirrored by software specific equivalents. These activities are:
When ISO/IEC 15288 is published it is expected that a Revision of ISO/IEC 12207 will result in removal of these activities from the software standard as these will be covered in the system document.
ISO/IEC 15288 System life cycle processes
As the work on ISO/IEC 12207 was being completed in 1994, a study into the need for a complementary system standard was initiated. The result of this was a set of project requirements that were finalized in 1995. Work started on the standard in 1996 and it is anticipated that ISO/IEC 15288 will be published in 2002.
From the outset it was considered that to be successful the development of this standard would require the involvement of people from many disciplines including systems engineering, quality, dependability, human factors, software, configuration management, safety and security. In addition it would be necessary to incorporate those with practical experience of domains including government, the military, commercial and academia.
A series of workshops was hosted around the world, usually in conjunction with conferences and meetings of domain experts with a view to soliciting participants for the development effort as well as to gain input for consideration and inclusion in the standard. These efforts were successful and resulted in the active membership of Working Group 7 growing to over 35 people with expertise from the majority of the domains from which it had been sought.
The standard takes a generic view that caters for a wide range of systems but it is intended primarily to cater for computer-based systems. During the development of ISO/IEC 15288 consideration was given to the level of granularity in the standard and this was taken into account in the final document. In particular, the activities in the system standard are not further broken down into tasks the way they are in the software standard. A new concept of "outcome" was introduced in the system standard with the intention that demonstration of satisfaction of the outcomes as an observable result would be an acceptable way to show achievement of the purpose of the associated process. This gives further flexibility for users of the standard and allows for the use of innovative solutions. Activities are provided that give a structural decomposition of the process and which if executed will achieve the outcomes.
The system standard groups processes in a manner similar to the software standard but the categorizations are differently structured and named. The processes defined within the standard are shown in the following figure.
The standard does not intend to cover all aspects of a modern business but it does include processes that are relevant to the establishment and execution of projects that produce systems. Thus there is an Investment Management process that ensures that sufficient resources and budgets are available to allow successful project completion. There is also a process that manages the processes that are available to the organization thus providing a mechanism for adapting to a changing environment.
ISO/IEC 15288 introduces the use of stages to define the life cycle model. An example is included in an informative Annex because as noted earlier there are many possibilities for a life cycle model.
Table 5 - Example stages
The processes of the standard are selected and tailored as required to meet the desired outcome for each stage. The stages may themselves iterate and/or overlap in execution.
A Tailoring process is included in ISO/IEC 12207 and ISO/IEC 15288. From the outset it was recognized that no two organizations or situations are the same. Flexibility is needed to cater for the wide variety of situations and the Tailoring process is a key contributor to providing this. The Tailoring process requires that input is sought from stakeholders and that a justification for tailoring is provided. This is of particular importance when processes are removed and it should be noted that removal of processes is often a valid approach. For example, an organization may decide to have one supplier determine the requirements that are later used by another independent organization to actually build the product. In the case of requirements gathering and analysis, processes such as Operation and Maintenance are not relevant and may thus be tailored out of the model.
Future Working Group 7 products
ISO/IEC 12207 Software life cycle processes has been available since 1995 and it is expected that ISO/IEC 15288 System life cycle processes will be available in 2002. Many lessons have been learned during the development of these standards and feedback is being provided by those using the standards.
The use of ISO/IEC TR 15504 Software process assessment has also had an impact and was in fact a driver for the production of the Amendment ISO/IEC 12207:1995/AMD.1 which will also be published in 2002. Additional processes that are needed in the reference model used by ISO/IEC 15504 were added in the Amendment i.e.
The Amendment also includes Outcomes in a similar to those included in ISO/IEC 15288.
A project is underway to produce a Guide for ISO/IEC 15288. The document has been submitted for the initial ballot by SC 7 and the intention is to publish this guide as soon after the standard as is reasonably possible.
It has been recognized within SC 7 that it is appropriate to examine the various products of Working Group 7 and other Working Groups with products that interface tightly with the life cycle standards with a view to making the suite more consistent and complete. It is also possible that given the time frame for revision of the existing documents and proposed changes in the delivery mechanisms for standards that the next generation may be delivered solely in electronic form. This provides an opportunity to consider how standards and their guidance should be packaged and presented and allows the use of hyper-links, colour and a fully electronic distribution process.
At the May 2002 SC 7 Plenary meeting, Working Group 7 will devote part of its effort towards the planning of harmonization of the key Working Group 7 standards. This work will be implemented as revision projects and possibly the addition of new documents.
The author thanks Mincom for permission to publish this paper. The views expressed are those of the author and do not necessarily represent those of Mincom.
,  ISO, 1 rue de Varembe, 1211 Geneva 20, Switzerland
 ISO/IEC JTC 1/SC 7 http://www.jtc1-sc7.org
Doug Thiele is Vice President - Information Technology at Mincom Limited where he has occupied a variety of roles over a 19 year period.
He is Chair of the Standards Australia committee IT-015 Software Engineering and Head of Delegation for Australia to ISO/IEC JTC 1/SC 7 Software and Systems Engineering where he has participated since 1994. Doug was Project Editor of ISO/IEC TR 15271 Guide for ISO/IEC 12207 and is currently a member of the SC 7 Business Planning Group and is Secretariat to Working Group 7 Life Cycle Management.
Mincom with 19 offices in 13 countries is the leading global technology partner for asset-intensive industries. Since 1979, Mincom has served customers within the mining, oil and gas; utilities; transportation; government and defence industries in more than 40 countries.
Mincom's service offering includes strategic consulting, e-business capabilities, system integration, training and support, implementation services, project management, IT outsourcing and application hosting across value chains.
Doug Thiele, Mincom Limited,Brisbane, Australia
© 2002 FOSTAS Foundation
|Главная страница > Библиотека||Карта сайта|
|Дизайн Лаборатория НТР|