Diagnosing Software Process Problems
Organizational politics and pragmatics play a role in configuration management process. It is thus advantageous for the SPI effort to involve organizational actors who are able to influence attitudes and decisions. Problem diagnosis may bring latent organizational conflicts and differing interests out in the open.
The approach does not in itself contain remedies for this, and it should not. These issues can only be dealt with by inviting relevant organizational actors to participate in the process.
Problem diagnosis aims to build a situated understanding of an organization's software process problems. We argue that this enables an SPI group to base software process improvement on the perceptions and priorities of the software practitioners, thereby increasing the commitment to SPI among those who are going to change their software practices.
Problem diagnosis grew out of one SPI project and has been a successful answer to problems encountered here. We believe, however, that a pragmatic or situated approach to SPI, such as problem diagnosis, can be a useful alternative or complement to model-based maturity approaches. Not only in SPI projects similar to the BrOel & Kjaer case, but also as a more general strategy towards actively involving organizational actors in SPI.
However, further research is needed in order to validate problem diagnosis and make the technique generally applicable in SPI. Among the relevant research questions are the following:
Does problem diagnosis create sufficient commitment for SPI?
Problem diagnosis has created commitment towards SPI among Bruel & Kjaer's project managers and several improvement projects are now underway. Further studies are needed to determine whether this commitment is strong enough to sustain and anchor process improvement in the long run.
Does problem diagnosis uncover an organization's significant software problems?
Problem diagnosis has identified a number of software process related problems in Bruel & Kjaer. To determine whether these are the significant or most important problems, further studies and comparisons with other approaches to software process assessment are required.
Can problem diagnosis cope with conflicts and organizational politics?
Problem diagnosis is designed to formulate an improvement strategy based on the views and perceptions of organizational actors, and it does not contain any mechanisms, such as CMM's five-level model, to prioritize findings. It remains to be seen whether this makes the approach vulnerable to manipulation by powerful organizational actors, or a valuable way to reveal and make explicit the social and political dimensions of software process improvement.
To what extent is problem diagnosis applicable in other settings?
Problem diagnosis is still at an experimental stage and has so far only been tried in one organization. The technique needs to be further validated, tested, and refined through application in other organizational settings.
Is a situated approach to SPI an alternative or complementary to model-based maturity approaches?
It appears that both situated and model-based approaches to SPI have some limitations. A situated approach like problem diagnosis may identify only the immediate problems perceived by the group of respondents (e.g., the project managers), and it provides no mechanism for prioritizing findings. A model-based approach, on the other hand, may identify diversions from the model, rather than "real" software process problems. It is therefore reasonable to assume that it would be feasible to combine the two approaches in some way, as we have done to some degree in this case. Research into this issue would involve studies and discussions of the theoretical foundations and assumptions behind the two approaches, as well as empirical studies of SPI.
|