Главная страница 
 
О Фонде ФОСТАС 
События 
Семинары 
Конференции 
Программы и Проекты 
Библиотека 
Тезисы 
Доклады 
Материалы проектов 
Презентации 
Об участии 
Работа участников 
Вопросы-ответы 
Контакты 
Форум 
 

Критерии поиска:

в разделе библиотеки:

 


Life cycle management using life cycle process standards

Abstract

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 [1] 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 [2] and ISO/IEC 15288 System life cycle processes [3]. 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 [4] 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

Working Group Scope of work
WG 2 Documentation of software systems.
WG 4 Tools and Computer Aided Software/System Engineering (CASE) environments.
WG 6 Software products evaluation and metrics for software products & processes.
WG 7 Life Cycle Management.
WG 9 Software integrity at the system and system interface level.
WG 10 Methods, practices and application of process assessment in software product procurement, development, delivery, operation, evolution and related service support.
WG 12 Functional size measurement.
WG 13 Software measurement process.
WG 18 Quality Management.
WG 19 Modelling languages, metadata, ODP framework and ODP components related standards and project, as well as provide the focal point to facilitate collaborative work with OMG and ITU-T, and other organizations if required (IEEE).
WG 20 Software asset management.

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

Status Product
Published ISO/IEC 12207 Software life cycle processes
ISO/IEC TR 15271 Guide for ISO/IEC 12207
ISO/IEC TR 14759 Mockup and prototype - A categorization of software mock up and prototype models and their use
ISO/IEC 14764 Software maintenance
Final ballot ISO/IEC 15288 System life cycle processes
Registration ballot ISO/IEC 19760 Guide for ISO/IEC 15288

Life cycle concepts

The standards framework to which the Working Group 7 products contribute aim to provide:

  • A holistic view of the life cycle of computer based systems i.e. concept through to disposal
  • A stage based life cycle model that itself is defined to suit the circumstances of a project
  • A structured and systematic approach that is capable of producing solutions that consistently satisfy needs
  • Sufficient flexibility for processes to adapt to changing circumstances
  • A basis for clearly defined process ownership i.e. a single party is responsible for each process
  • Processes that are loosely coupled i.e. there are minimal interfaces between the processes
  • Processes that are internally cohesive i.e. each process relates to a single major function
The standards recognize that no two projects or organizations are the same and that needs vary from situation to situation. The intention is that it is appropriate to apply the life cycle process standards in organizations and projects that are either:
  • Large or small
  • Single party or multi-party
  • Simple or complex
  • Internal or external.

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:

  • Waterfall
  • Incremental
  • Evolutionary.

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.


Figure 1 - Waterfall model

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.


Figure 2 - Incremental model

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.


Figure 3 - Evolutionary model

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.


Figure 4 - ISO/IEC 12207 processes

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:

  • Shall - a requirement
  • Should - a recommendation
  • May - a permissible action
  • Will - a self-declaration.

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

Engagement activity
Acquisition and Supply processes Initiation activity
Management process Initiation and scope definition activity
Tailoring process Identifying project environment activity
All other processes Process implementation 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.


Figure 5 - ISO/IEC 12207 views

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:

  • System requirements analysis
  • System architectural design
  • System integration
  • System qualification testing.

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.


Figure 6 - ISO/IEC 15288 processes

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

Stage Description
Concept Analyze needs, identify concepts and develop solutions
Development Engineer a product that is a producible item
Production Manufacture the item(s)
Utilization Operate and use the item(s)
Support Maintain and support the item(s)
Retirement Retire, dispose and archive

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.

  • Useability process
  • Product evaluation process
  • Human Resource process (previously Training)
  • Asset management process
  • Reuse program management process
  • Domain engineering process

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.

Appreciation

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.

References

    [1] Digital Home Network: LG's Vision for the Future, 13 Feb 2002, www.lge.com.au
    [2], [3] ISO, 1 rue de Varembe, 1211 Geneva 20, Switzerland
    [4] ISO/IEC JTC 1/SC 7 http://www.jtc1-sc7.org

Biography

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
Secretary for Working Group 7 "Life Cycle Management"
SC7 JTC1 ISO/IEC

Назад

 


© 2002 FOSTAS Foundation
Главная страница > Библиотека Карта сайта
Дизайн — Лаборатория НТР