2
News News Software Engineering R&D group at CRIM Lionel Briand and Khaled El Emam, Centre de recherche informatique de Montreal, 1802 McGill College Avenue, Montreal, Quebec, Canada KEY WORDS: Top-down approaches to process improvement based on generic 'best practice' models (e.g., the CMh4 and the SPICE reference model) have become popular. Despite the idiosyncrasies of these approaches, they share some common character- istics: all of them make considerable assumptions about what are best practices, and about the business goals of organizations and the problems they face. The software engineering R&D group at CRIM have adopted the Quality Improvement Paradigm (QIP) that has been applied previously at the Software Engineering Laboratory of the NASA Goddard Space Flight Center. The QIP stipulates a more bottom-up and inductive approach to process improvement. The focus of this paradigm is to first understand what processes exist in the organization and to determine what causes the most sigruficant problems. Based on this, opport- unities for improvement are devised, and empirical studies are conducted to evaluate potentially prom- An instantiation of the QIP is embodied in the AINSI method. This method defines concrete steps and guidelines for putting QIP in place. More details of this method are included in Briand et al. (1995). Currently, we are implementing this method in a number of client organizations. The steps of the method are described below (while we present the steps sequentially, in most cases they are 2. ising solutions. 3. overlapping): 4. 1. Set up a process imp-t team The first step is for management to set up a process improvement team that is separate from the development groups. This team should consist of credible and experienced personnel with good scientific and management skills. The process improvement team is respon- sible for initiating and carrying out many of the process improvement activities, such as setting up training and designing evaluation studies. The mandate of the team should be clearly defined and tied to business goals. Model the existing process It is crucial to understand the current state of practice within the organization, its variations, the organizational structure in place, and the distribution of roles and responsibilities. This can be greatly facilitated through process mod- els. Four issues that need to be considered during process modeling are: (a) what infor- mation to collect; (b) how to collect the infor- mation; (c) what formalisms to use for mode- ling; and (d) what is the appropriate level of detail of the models? Conduct qualitative analysis The object of qualitative analysis is to identdy problems related to quality and process efficiency. Approaches such as causal analysis of defects and structured interviews with devel- opers may be used to collect information. The outputs of qualitative analysis would be causal models of problems (sources, mechanisms and consequences). D@ne and document an action plan An action plan is a formal, written response to the results of the qualitative analysis process. It serves as the 'map' for process improvement. The goal of the action plan is to get the 73

Software Engineering R&D group at CRIM

Embed Size (px)

Citation preview

Page 1: Software Engineering R&D group at CRIM

News News

Software Engineering R&D group at CRIM Lionel Briand and Khaled El Emam, Centre de recherche informatique de Montreal, 1802 McGill College Avenue, Montreal, Quebec, Canada

KEY WORDS:

Top-down approaches to process improvement based on generic 'best practice' models (e.g., the CMh4 and the SPICE reference model) have become popular. Despite the idiosyncrasies of these approaches, they share some common character- istics: all of them make considerable assumptions about what are best practices, and about the business goals of organizations and the problems they face.

The software engineering R&D group at CRIM have adopted the Quality Improvement Paradigm (QIP) that has been applied previously at the Software Engineering Laboratory of the NASA Goddard Space Flight Center. The QIP stipulates a more bottom-up and inductive approach to process improvement. The focus of this paradigm is to first understand what processes exist in the organization and to determine what causes the most sigruficant problems. Based on this, opport- unities for improvement are devised, and empirical studies are conducted to evaluate potentially prom-

An instantiation of the QIP is embodied in the AINSI method. This method defines concrete steps and guidelines for putting QIP in place. More details of this method are included in Briand et al. (1995). Currently, we are implementing this method in a number of client organizations. The steps of the method are described below (while we present the steps sequentially, in most cases they are

2.

ising solutions. 3.

overlapping): 4.

1. Set up a process imp-t team The first step is for management to set up a process improvement team that is separate

from the development groups. This team should consist of credible and experienced personnel with good scientific and management skills. The process improvement team is respon- sible for initiating and carrying out many of the process improvement activities, such as setting up training and designing evaluation studies. The mandate of the team should be clearly defined and tied to business goals. Model the existing process It is crucial to understand the current state of practice within the organization, its variations, the organizational structure in place, and the distribution of roles and responsibilities. This can be greatly facilitated through process mod- els. Four issues that need to be considered during process modeling are: (a) what infor- mation to collect; (b) how to collect the infor- mation; (c) what formalisms to use for mode- ling; and (d) what is the appropriate level of detail of the models? Conduct qualitative analysis The object of qualitative analysis is to identdy problems related to quality and process efficiency. Approaches such as causal analysis of defects and structured interviews with devel- opers may be used to collect information. The outputs of qualitative analysis would be causal models of problems (sources, mechanisms and consequences). D@ne and document an action plan An action plan is a formal, written response to the results of the qualitative analysis process. It serves as the 'map' for process improvement. The goal of the action plan is to get the

73

Page 2: Software Engineering R&D group at CRIM

News

required resources, commitment, and authority to change the organization.

5. Set up a measurement program The objectives of setting up a measurement program are to: (a) establish a baseline for comparison; (b) better understand impacts of problems; and (c) make the process more pre- dictable. The basic principles of setting up a measurement program are to first define corporate and measurement goals, to derive suitable models and measures from these, to define data collection procedures and train the participants on them, test the measurement program on pilot projects and then refine it if necessary, then generalize to the remainder of the organization.

6 . Perform a pilot project The objective of setting up a pilot project is to evaluate new solutions that are believed to have the potential of overcoming the identified process problems. There are different approaches for such an evaluation. These include case studies, quasi-experiments and controlled experiments. Change the process and the organization Given encouraging results from the pilot pro- ject, changes are made to the remainder of the

7.

organization. This may include changes to the organizational structure and the reward structure within the organization, as well as process changes. Changes made can be com- pared to the established baseline to determine if the expected improvements have materialized.

The above approach is very different from the contemporary top-down approaches; it is a method- ology for process improvement based on experience rather than on a generic model for software development. It allows process changes to be monitored and evaluated based on project feedback, and not only by comparison with generic models.

REFERENCE

Briand, L., El Emam, K. and Melo, W. 1995. An inductive method for software process improvement: Concrete steps and guidelines. In Proceedings of the ESI-ISCN Conference on Practical Improvement of Software Processes and Products, Vienna, September.

Contact: Lionel Briand, [email protected] Fax: +I 514 840 1244 Centre de recherche informatique de Montreal 1801 McGill College Avenue, Suite 800 Montreal, Quebec Canada H3A 2N4

74