Software process engineering in a multi-site environment:an architectural design of a software process engineering system

Abstract A fundamental problem in the software engineering community is how to achieve a state of continuous improvement. Over the last ten years a number of studies have been made concerning various tools, methods and software process improvement project life-cycle models, but the problem persists...

Full description

Bibliographic Details
Main Author: Kinnula, A. (Atte)
Format: Doctoral Thesis
Language:English
Published: University of Oulu 1999
Subjects:
Online Access:http://urn.fi/urn:isbn:9514253035
http://nbn-resolving.de/urn:isbn:9514253035
Description
Summary:Abstract A fundamental problem in the software engineering community is how to achieve a state of continuous improvement. Over the last ten years a number of studies have been made concerning various tools, methods and software process improvement project life-cycle models, but the problem persists and in many cases the software process improvement program dies off within a year. This thesis takes the assumption that the answer cannot be reduced to a single tool or method, as there are no silver bullets to complex problems. Instead the entire Software Process Engineering system should be studied to find out what elements are necessary for sustaining improvement activity on a long-term basis. Through understanding the fundamental elements of a Software Process Engineering system, the organization can manage and improve the system, tune it up to the environment and make it efficient and effective. When the system is operational, the software process improvement program, which is a part of the system, can be sustained. This research studies a case in which the Software Process Engineering system of a large, multi-site telecommunications company was successfully revised to meet the increasing improvement challenges. The revised system has proven to be capable of sustaining continuous improvement and case is used here to derive architectural design models of a Software Process Engineering system. Two such models are established here. One is a system model that is independent of implementation and identifies the main elements of a Software Process Engineering system. With the help of this model, those responsible for process improvement in their organizations can design, evaluate, and revise complete Software Process Engineering systems. The other model is a design of a multi-site Software Process Engineering organization, and identifies not only the operative part of the organization but also the key non-operative elements that a Software Process Engineering system needs to work with. With the help of this model a multi-site organization can set up the operative Software Process Engineering organization and plan for strategies for managing the cooperation with the interfacing entities up front, rather than ending up managing such contacts on a reactive fashion.