Improvement has become an established practice in software engineering since the late 1980╦ies. Many different improvement approaches have been developed. Examples are process assessments, software engineering measurement, and quality management systems. However, still too often improvement programs are cancelled or do not reach their initial goals. We argue that this is due to two main reasons:
(1) Most improvement approaches have been developed in isolation from each other. Each approach has its specific strengths and application prerequisites. Only very little guidance is available for integrating different improvement approaches so that they complement each other and leverage the effectiveness of improvement programs.
(2) Appropriate management support for improvement programs is widely lacking. As a consequence, improvement programs take too long and consume too many resources. So improvement initiatives might even lose the support of their sponsors and the software development teams.
Systematic improvement management can overcome these issues and ensure the success of improvement programs. Improvement management must take care that the applied improvement strategy is appropriate for the given goals and characteristics of the software organization. In addition, it must monitor and control the improvement program during its execution and finally demonstrate that the improvement goals have actually been attained.
The paper and the presentation will introduce an improvement method that places particular emphasis on systematic improvement management. It covers the following elements:
* The identification and explicit definition of business-related improvement goals, current software development practices, and experience that will be relevant to the improvement program.
* The integration of arbitrary improvement methods (such as process assessments, measurement, organizational learning, etc.) into an improvement strategy that meets the goals and characteristics of the software organization.
* A collection of typical improvement strategies for different types of software organizations (e.g., large embedded systems manufacturers, small or mid-size enterprises, or large banks or insurance companies).
* The monitoring and control of improvement program execution, including the risk management for improvement programs.
* The evaluation of improvement results, including the identification of new improvement goals and possible follow-up activities.
* An organizational infrastructure for running improvement programs and support instruments for facilitating the improvement management tasks.
Andreas Birk is a senior consultant at the Fraunhofer Institute for Experimental Software Engineering (Fraunhofer IESE) in Kaiserslautern, Germany. His work areas are software process improvement, knowledge management, and organisational learning.
Andreas Birk was workpackage leader in the European technology development and transfer projects PROFES (ESPRIT 23239) and PERFECT (ESPRIT 9090). He has developed and evaluated several improvement methods for different types of software organisations. As a consultant, he has been working with many European software companies in the build up and extension of their process improvement programmes.
Andreas Birk has received a masters degree in computer science and economics (Dipl.-Inform.) from the University of Kaiserslautern, Germany, in 1993. He is currently applying for his PhD. He is a member of the IEEE Computer Society, GI, and ACM.
Dr. Wolfgang Mueller is leading technology transfer projects at the Fraunhofer Institute for Experimental Software Engineering (Fraunhofer IESE) in Kaiserslautern, Germany. His work areas are experience-based improvement programs and systematic knowledge management in the area of software development. Since April 1998 he is group leader in the department "Systematic Learning and Improvement" at the Fraunhofer IESE. From 1990 to 1997 he worked as scientist at the Fraunhofer Institute for Production Systems and Design Technology (IPK) in Berlin, mainly in the area of business process redesign and development decentralized shop floor control systems.
Wolfgang Mueller has received a Ph.D. in engineering (Dr.-Ing.) from the Technical University Berlin, Germany, in 1997. He is a member of the German Computer Society (GI).