Software Process Automation



Similar documents
Springer-Verlag Berlin Heidelberg GmbH

The Product Manager s Toolkit

Understanding Competitive Advantage

Java and the Java Virtual Machine

Lecture Notes in Computer Science 5161

Oral and Cranial Implants

Miklós Szendrői Franklin H. Sim (Eds.) Color Atlas of Clinical Orthopedics

Ammonia. Catalysis and Manufacture. Springer-Verlag. Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest

Automated Firewall Analytics

Spatial Data on the Web

The Banks and the Italian Economy

Adaptive Business Intelligence

Cost Management in Shipbuilding

International Series on Consumer Science

Corporate Performance Management

Collaborative Customer Relationship Management

Lasers in Restorative Dentistry

How To Create A Virtual World From A Computer World

Design of Flexible Production Systems

* 4 / / AD-A ",\ A Practical Guide to the Technology and Adoption of Software Process Automation ELECTE

Lecture Notes in Computer Science 3422

Human Rights in European Criminal Law

Library and Information Sciences

Lecture Notes in Computer Science 3161

Applying Comparative Effectiveness Data to Medical Decision Making

Lecture Notes in Mathematics 2033

A Case Study in Software Maintenance

Challenges and Opportunities in Health Care Management

SpringerBriefs in Criminology

Essential Clinical Social Work Series

Department of Energy Quality Managers Software Quality Assurance Subcommittee Reference Document SQAS Software Quality Assurance Control

Introducing Honeycomb. An Open Source Release Automation Solution for Be Informed

Knowledge Powers the Service Desk

Drug and Alcohol Abuse Prevention

OVAL Developer Days. July 11-12, 2006

Human-Survey Interaction

Studies in the Economics of Uncertainty

352%/(062)(&2120,&7+(25<

Effective Methods for Software and Systems Integration

Big-Data Analytics and Cloud Computing

Firms in Open Source Software Development

Spatial Inequalities

Sustaining Operational Resiliency: A Process Improvement Approach to Security Management

Risk Management Framework

Information Technology Specialist - Band A. Class Specifications Demonstration Project

The Five Key Factors That Lead to Business Intelligence Diffusion. Executive Summary

STEWARDSHIP ETHICS IN DEBT MANAGEMENT

Research Report. Abstract: The Evolution of Server Virtualization. November 2010

Datacenter Management Optimization with Microsoft System Center

Operationally Critical Threat, Asset, and Vulnerability Evaluation SM (OCTAVE SM ) Framework, Version 1.0

Lecture Notes in Mathematics 2026

Getting Started with Service- Oriented Architecture (SOA) Terminology

ITIL V3 and ASL Sound Guidance for Application Management and Application Development

The Personal Software Process SM (PSP SM )

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation

Software Acquisition Capability Maturity Model (SA-CMM ) Version 1.03

Using Return-On-Investment Analysis To Guide Purchasing Decisions For Electronic Medical Recordkeeping Systems:

Copyright 2014 Carnegie Mellon University The Cyber Resilience Review is based on the Cyber Resilience Evaluation Method and the CERT Resilience

Subject: Defense Software: Review of Defense Report on Software Development Best Practices

Open Vulnerability and Assessment Language (OVAL ) Validation Program Test Requirements (DRAFT)

Moving Target Reference Implementation

This is a sample chapter from A Manager's Guide to Service Management. To read more and buy, visit BSI British


Steps to Migrating to a Private Cloud

How Configuration Management Tools Address the Challenges of Configuration Management

Capability maturity model for maintenance management

SDLS068A DECEMBER 1972 REVISED OCTOBER Copyright 2001, Texas Instruments Incorporated

eeye Digital Security and ECSC Ltd Whitepaper

National and International Business and Tax Law. Successful investing in Vietnam Massmann s investment guide in Vietnam. 1 st Book THE BASICS

Healthcare without Bounds: Trends in Mobile Computing

Setting smar ter sales per formance management goals

US Mutual Funds: Weekly New Cash Flows

The Translation Service Provider s Guide to BS EN 15038

Enterprise Architecture Modeling PowerDesigner 16.1

A Mind Map Based Framework for Automated Software Log File Analysis

Application Test Management and Quality Assurance

Automate Complex Pay Rules While Streamlining Time and Attendance Management

ERP Deployment in Manufacturing Industry in Sri Lankan Context

Market Intelligence Building Strategic Insight. Per V. Jenster & Klaus Solberg Søilen. Copenhagen Business School Press

Business Process Modeling and Analysis with Savvion BusinessManager

Guidelines for Developing a Product Line Production Plan

SAM Starter Kit: A fast track guide to. Software Asset Management

INFORMATION CONCERNING THE PREPARATION AND SUBMISSION OF DOCTORAL DISSERTATIONS

Understanding How to Choose a Database Platform for Siemens PLM Software s Teamcenter

DoD Software Migration Planning

Aberdeen City Council IT Disaster Recovery

Predictive Intelligence: Identify Future Problems and Prevent Them from Happening BEST PRACTICES WHITE PAPER

Veritas Operations Manager LDom Capacity Management Add-on User's Guide 4.1

INVENTORY MANAGEMENT: Principles, Concepts and Techniques

Introduction to the ISO/IEC Series

Concept of Operations for the Capability Maturity Model Integration (CMMI SM )

Top Five Ways to Ensure that Your CoE is an Ongoing Success. White Paper

Computer Security Within Organizations

Why Competency-based Talent Management?

SOA for Healthcare: Promises and Pitfalls

W H I T E P A P E R E n a b l i n g D a t a c e n t e r A u t o mation with Virtualized Infrastructure

Assurance in Service-Oriented Environments

Visual Communications Project Brief

Transcription:

Software Process Automation

Alan M. Christie Software Process Automation The Technology and Its Adoption With 48 Figures and 19Tables Springer

Alan M. Christie Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213-3890 USA ISBN-13 :978-3-642-79254-0 DOl: 10.1007/978-3-642-79252-6 e-isbn-13 :978-3-642-79252-6 CIP data applied for This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on micro-film or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. Springer-Verlag Berlin Heidelberg 1995 Softcover reprint of the hardcover 1 st edition 1995 The use of general descriptive names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover Design: Kiinkel+Lopka, Ilvesheim Typesetting: Camera ready by author SPIN 10478695 45/3142-5432 I 0 - Printed on acid-free paper

To Evelyn

Preface Software production has historically been a very labor-intensive, highly skilled, and costly business. In addition, the more technically advanced Western nations have led the way in the rapidly changing field of software engineering. However, other nations, whose labor costs are far below those of the West, are catching up. These facts, coupled with the efficiency of global communications, suggest that the competitive position of the Western nations in software development may soon erode. Software is a strategic technology, from both defense and commercial points of view, and loss of this competitive edge could have profound consequences. So what are the implications for software development? Several elements are necessary to compete successfully. First, one needs a vibrant infrastructure (such as Silicon Valley) where intense competition drives technology ahead of outside competition. Second, one needs an educated workforce that is capable of using new technologies and rapidly adapting to new circumstances. Third, there must be an emphasis on continuously improving software quality and hence on organizational performance. Since the process with which a product is built has a direct bearing on quality, understanding one's process is required. Finally, with a well-defined process, automating that process may be undertaken as a means to assure process consistency and to reduce cost. Automation of the process includes, but is not limited to, providing software organizations with appropriate tools to perform specific tasks, relieving developers and managers of as much tedium as possible, eliminating error-prone activities, and guiding process-critical tasks. Such support should allow developers and managers to concentrate on the creative non-automatable part of their jobs. If such cost-reducing, quality-enhancing measures are not taken, the competitive advantage currently held by countries that have relatively high labor rates will likely disappear. A note of caution should, however, be stated with respect to automating software production. With mechanical or electrical products, the number of component variants is usually' smaller relative to the number of software variants, logical complexity is less, and initial requirements are usually better understood than with software products. These factors often result in mechanical and electrical products having logically simpler manufacturing processes. In addition while much of hardware manufacturing can be performed repetitively by machines, software production, having a higher intellectual (and non-standardized) content, tends to be

VIII Preface manually produced. Thus any approach to software automation cannot simply rely on principles developed for hardware. In particular, software automation forces a very tight and complex relationship between the computer environment and the software developer. Thus an understanding of human-computer interaction is particularly important for process-centered environments (PCEs) to be effective. Simply automating the software production process without giving due importance to end-user, process, and even social issues could result in the erroneous conclusion that automation does not work. In essence, this book addresses four basic questions: 1. What is the technical basis for process definition and automation? 2. What are the characteristics of currently available commercial products that support the implementation of software process automation? 3. What are the important process, organizational, and social issues that one will have to addressed to effectively adopt a process-centered environment? 4. How does software process automation fit within the wider context of traditional manufacturing automation, and what can we learn from this wider view? Thus there are several related groups of people who will find this book of interest: I. Implementers of software process environments within projects. These people may wish to become more aware of the technical and non-technical issues that they will need to address in designing, implementing, and deploying such environments. 2. People involved in software process improvement or active in software engineering process groups (SEPGs). These people may wish to increase their understanding of PCE technology and how it can support process improvement. 3. Developers of commercial PCE products. These people may wish to broaden their understanding of less technical issues as such issues may affect the features implemented within their products. 4. Technologists interested in process definition, enactment, and verification and the relationship among these topics. The book should also be of use to those who are involved with business process reengineering as the technical and organizational issues being addressed by both communities are very similar. To date, there is little experience with day-to-day commercial application of software process automation, and this book was motivated to a considerable extent by the desire to promote the technology. Software Engineering Institute December 1994 Alan M. Christie

Acknowledgments I'd like to thank Mike Baumann of Hewlett Packard, and Jean-Luc Meunier and Larry Proctor of Cap Gemini for all their support and patience while I developed the process models. Without their help, I could not have performed the in-depth analysis that I did. In particular I would like to thank Mike for helping develop parts of the process script and the supporting function getterm and Jean-Luc for helping to develop parts of the ProcessWeaver model and supporting functions. I'd also like to thank Granville Gosa and Paul Zarella whose local technical support was invaluable. I'd like to thank Christer Fernstrom, Jean-Luc Meunier, and Gerald Perdreau of Cap Gemini for their technical review of the ProcessWeaver section of the book and Dave Pugmire of Hewlett Packard for his review of the Synervision section. I'd also like to thank Edward Averill, Alan Brown, Michael Caldwell, Susan Dart, David Carney, Marc Kellner, Priscilla Fowler, Leonard Green, Patricia Oberndorf, Dennis Smith, and Kurt Wallnau for the wealth of excellent suggestions they gave me from their reviews. A special thanks goes to Peter Feiler who reviewed the complete draft. These reviews have significantly improved the quality of the document. I also appreciate the support of those who participated in the end-user evaluations and who provided me the excellent insights that resulted from that experience (Jim Armitage, Edward Averill, Cliff Huff, Ed Morris, Neal Reizer, and Paul Zarella). I'd like to thank my publisher Springer-Verlag and in particular Hans Wossner for their support and encouragement during the writing process. Finally, I much appreciate the copy-editing support provided by Sandra Bond, Julia Deems, and Barbara White of the Software Engineering Institute and J. Andrew Ross and H. Matthies of Springer Verlag. Of course, I take full responsibility for any remaining errors. Some of the material for Chapter 2 has been taken from two papers published in Information and Software Technology: A graphical process definition language and its application to a maintenance project (Vol. 35, No. 6/7, 1993) and Enactable process specification in support of process-centered environments (Vol. 36, No. 10, 1994). This material is reproduced here with the permission of Butterworth-Heinemann Ltd., Oxford, UK. In addition, some material in Chapter 4 was previously published in CrossTalk: The Journal of Defense Software Engineering: Software process automation: a technology whose time has come? (Vol. 7, No.7, 1994). This work was sponsored by the U.S. Department of Defense.

Contents 1 Software Process Automatiou in Perspective. l.1 The Origins of Software Process Automation. 2 1.2 Automation in a Process Improvement Context. 3 1.3 A Process Development and Usage Scenario.. 5 2 Process Definition, Execution and Verification. 11 2.1 Underlying Concepts... 12 2.2 Process Definition and Executable Specification 14 2.3 The ProNet Graphical Modeling Language.. 16 2.4 Developing an Approach to Process Execution 28 2.5 Two Examples of Process Execution 41 2.6 Software Process Verification.47 2.7 Miscellaneous Issues. 53 2.8 Summary... 58 3 An Investigation into Process-Centered Environments 61 3.1 Setting a Context for PCEs.... 61 3.2 The Experimental Approach... 67 3.3 The ProcessWeaver Experiment. 75 3.4 The Synervision Experiment....97 3.5 End-User Role Plays... 114 3.6 A Comparison of ProcessWeaver and Synervision 121 4 The Application of Process-Centered Environments 127 4.1 Why Use a Process-Centered Environment?... 127 4.2 Issues Related to CASE and Process Improvement 130 4.3 Responses to Adopting New Technology..... 137

XII Contents 4.4 User-Oriented Issues with PCEs. 4.5 A Transitioning Strategy..... 139 147 5 The Past, Present, and Future of Process Automation... 151 Appendix A The Process Enactment Program, ProSim Al The Process Controller Listing. A2 The codedevel Process. A3 The docupdate Process..... 159 159 162 166 Appendix B The Process Verification Program.............. 175 Appendix C Vendor Information on PCEs... 181 Appendix D Listing of SynerVision Experiment Script... 183 Appendix E Terminology and Concepts. E.1 Basic Terminology........... E.2 Process-Related Concepts....... E.3 Relationship to the NISTIECMA Reference Model. 191 191 192 193 Appendix F End-User Evaluation Materials... 197 References................................... 203 Index... 211