Avoiding Failure in SPI Initiation
Pouya Pourkomeylian AstraZeneca R&D Mölndal, S-431 83 Mölndal, Sweden Tel: +46 31 776 17 96, Fax +46 31 776 37 30 Viktoria Institute, Box 620, 495 30 Göteborg, Sweden Pouya.pourkomeylian@astrazeneca.com
Keywords: SPI Initiation, Knowledge Creation.
Figure 1: A complex interplay of people, methods, tools, and products.
According to Aaen et al. [8], organisations that start SPI efforts should find inspiration and guidance in the literature. They argue that these organisations should avoid the pitfalls that have led to failure in other organisations and should learn from successful initiatives that have bearing on their own situation. However, following this advice is not easy: the SPI literature is extensive and is growing and there are no authoritative sources outlining the underlying rationale of the SPI [8]. A large body of knowledge about SPI has become available during the last years, including specific models [9], [10], concepts to support practical use of the models [11], [12], experience reports [4], [7], and critical evaluations [13]. A survey of SPI literature and a MAP of the key ideas in SPI are presented by Aaen et al [2]. They provide a conceptual MAP of software process improvement which describes three fundamental concepts of SPI approach including nine ideas, i.e. the management of SPI activities, the approach taken to guide the SPI initiatives, and the perspective used to focus attention on the SPI goals. The MAP also addresses the following questions: 1) What are the characteristic features of SPI initiatives? How do SPI initiatives compare with other improvement approaches? 3) What are the key benefits and risks related to SPI initiatives? Using the MAP, this study tries to analyse one SPI project done as the first SPI initiative in a novice organisation. The main question in this paper is: Which were the crucial features in successfully initiating this SPI project? It is hoped that this analysis will help other novice organisations to find ways to increase their chances of success and minimise the risks of failure.
Figure 2: Contents of knowledge created by the four modes [15].
1. From tacit knowledge to tacit knowledge (socialisation which creates sympathised knowledge). The socialisation mode usually starts with building a “field” of interaction. This field facilitates the sharing of members’ experiences and mental models. Socialisation involves the sharing of tacit knowledge between individuals. 2. From tacit knowledge to explicit knowledge (externalisation which creates conceptual knowledge). The externalisation mode is triggered by meaningful “dialogue or collective reflection,” in which using appropriate metaphor or analogy helps team members to articulate hidden tacit knowledge that is otherwise difficult to communicate. Externalisation requires the expression of tacit knowledge and its translation into comprehensible forms that can be understood by others. 3. From explicit knowledge to explicit knowledge (combination which creates systematic knowledge). The combination mode is triggered by “networking” newly created knowledge and existing knowledge from other groups in the organisation, thereby crystallising them into a new product or service. 4. From explicit knowledge to tacit knowledge (internalisation which creates operational knowledge). “Learning by doing” triggers internalisation. The internalisation of newly created knowledge is the conversion of explicit knowledge into the organisation’s tacit knowledge. In practice, internalisation relies on two dimensions. First, explicit knowledge must be embodied in action and practice. Second, there is a process of embodying the explicit knowledge by using simulations or experiments to trigger learning by doing processes.
Table 1 : The SPI MAP with aspiration and pitfalls [8], p 2.
Based on their concept the management of SPI initiatives builds on three ideas: 1) the SPI activities are organised, 2) all improvement efforts are carefully planned and 3) feed-back on effects on software engineering practices are ensured. The approach to SPI initiatives is guided by three additional ideas: 1) SPI is evolutionary in nature, 2) SPI is based on idealised, normative models of software engineering and 3) SPI is based on a careful creation and development of commitments between the actors involved. Finally, the perspective on the SPI goal is dominated by three ideas: 1) SPI is focused on software processes, 2) the practitioners’ competencies are seen as the key resources and 3) SPI aims to change the context of the software operation to create sustainable support for involved actors.
Figure 3 : The rich picture of SPID [18].
The SPID project was initiated, organised, planned, and performed during the period of April 1999 to May 2000 aiming to improve DevIS’s software processes. A maturity assessment using a modified CMM-based (Capability Maturity Model) assessment method, QBA (see [19]), showed that DevIS was by then a level one organisation and addressed improvement possibilities in all analysed KPAs (Key Practice Areas). An improvement report based on the assessment’s findings and other findings from earlier improvement initiatives at DevIS addressed six improvement activities. The steering committee of SPID gave priority to the following improvement activities (improvement decision) from the improvement report:
1. To establish a minimum documentation level for documenting the results of software projects and create the software documentation process. 2. To improve processes for software validation, software change management, and document version control. 3. To create a template library including templates for documentation of software development activities, such as: user requirement specification, design specification, test plan, and validation plan.
Table 2: SPID activities based on the MAP see [2].
Lesson one: The first SPI initiative should aim to learn the concept of SPI and the software process problems. An SPI initiative is a complex effort in which people, methods, tools, and products interact with each other. The first SPI initiative in a novice organisation should therefore be a learning process in which the organisation learns about the concept of SPI and the current software process problems while improving software processes.
Lesson two: A novice organisation should focus more on the SPI concept than the CMM recommendations. The first SPI initiative should start by diagnosing the current maturity level of the organisation. The CMM can offer much help in doing this. However for improving the software processes, it is better to rely on the organisation’s goals and focus on the SPI activities and learn to improve a few software processes based on the organisational goals rather than just following the CMM as a model.
Lesson three: The first SPI initiative should be organised as a project, with specific goals, deliverables, and recourses aiming to improve a few software processes in an evolutionary way, on the basis of the organisation’s ideals and practitioners’ ideas. Organising the SPI initiative as a project and planning the activities are essential for managing improvement activities in an SPI initiative. For guiding the SPI improvements it is much more important to focus on stepwise improvement and satisfy the organisation’s goals than to follow an abstract goal. This supports gaining the management and practitioners’ commitment to the project. An SPI initiation should be focused on the practitioners’ ideas and experiences for improving the software processes. These lessons correspond with [2], [7], and [22]. However, SPID did not adopt the whole MAP in detail. But as the first SPI initiative it is most essential to be focused on delivering results that are visible to the management in the scheduled time. This will ensure dedication and legitimacy for the continuous SPI efforts in the organisation. As a success criterion it should be mentioned that the steering committee of SPID accepted the new created software processes and decided to implement these processes in the whole organisation. The implementation phase in SPID starts in August 2000. As mentioned before one great challenge for DevIS is to find a way to implement the newly software processes in the organisation. A key factor in helping the implementation of the created new software processes is training. According to the implementation suggestion report presented to the steering committee of SPID all practitioners working with software development and maintenance should have training in the new processes. This means that, based on the trainee program, each practitioner will create his/her own understanding of the newly created software processes. These understandings may not be the same because of the differences in practitioners’ experiences and backgrounds. Because of this, as well as other factors that might cause variation-in-action, DevIS should expect variations-in-action (see [23]) when these new processes are put into practice. Questions for further research might then be: 1) Does variation-in-action happen in DevIS using the new software processes? 2) How does it happen? 3) Which factors are involved in affecting variations-in-action? 4) What does it mean for DevIS? 5) How does variation-in-action affect the institutionalisation of the new software processes at DevIS?
[2] Aaen I., Arent J., Mathiassen L., Ngwenyama O.: A Conceptual MAP of Software Process Improvement. Artikelsamling, Center for Softwareprocesforbedring. Dansk Elektronik, Lys & Akustik. 2000.
[3] Tryde, S., A.-D. Nielsen & J. Pries-Heje 82000). A Framework for Organizational Implementation of SPI in Practice. In: L. Mathiassen et al. (Editors): Learning to Improve.
[4] Goldenson, D. R., and J. D. Herbsleb.: After the Appraisal: A Systematic Survay of Process Improvement, its benefits, and Factors that Influence Success. CMU/SEI-95-TR-009, SEI, Pittsburgh. 1995.
[5] Herbsleb, J., et al.: Software Quality and the Capability Maturity Model. Communications of the ACM, 40(6), 30-40. 1997.
[6] Mashiko, Y., and V.R. Basiili: Using the GQM Paradigm to Investigate Influential Factors for Software Process Improvement. Journal of Systems and Software, 36. 17-32. 1997.
[7] Johansen, J., and L.: Mathiassen. Lessons learned in a National SPI Effort. EuroSPI 98 Göteborg. 1998.
[8] Aaen I., Arent J., Mathiassen L., and Ngwenyama O., Mapping SPI Ideas and Practices. 2000, TBD
[9] Paulk Mark C., et al.: The Capability Maturity Model for software Version 1.1, Carnegie Mellon University, Software Engineering Institute. 1993.
[10] Kuvaja Pasi, Bicego: BOOTSTRAP - a European assessment methodology, Software Quality Journal 3, 117-127. 1994.
[11] McFeeley Bob: IDEAL: A User’s Guide for Software Process Improvement, Software Engineering Institue, Cornegie Mellon University. 1996.
[12] Zahran Sami, Software Process Improvement, Software Engineering Institute, SEI Series in Software Engineering, Addison Wesley Longman 1998
[13] Curtis, B., A Mature View of the CMM. American Programmer, 7, 9, 19-27. 1994.
[14] Patton M., Q., Qualitative Evaluation and Research Methods. SAGE Publications. 1990.
[15] Nonak, I., and Takeuchi H.: The Knowledge-Creating Company, Oxford University Press, Inc. 1995.
[16] Polanyi, M., : The Tacit Dimension. London: Routledge & Kegan Paul. 1966.
[17] Nonaka I. And Konno N.: The Concept of “Ba”: Building a Foundation for Knowledge Creation, California Management Review Vol 40, No.3, Spring 1998
[18] Checkland Peter, Scholes Jim: Soft System Methodology in Action, John Wiley & Sons LTD. England. 1990.
[19] Arent J., Iversen J., Development of a Method for Maturity Assessments in Software Organizations based on the Capability Maturity Model, in Department of Computer Science. Aalborg: Aalborg University, 1996.
[20] Pourkomeylian P., Knowledge Creation in Improving a Software Organization. IRIS 2000.
[21] Pressman Roger S.: Software Engineering, a practitioner’s approach, fourth edition, International editions. 1997.
[22] Aren J. and Norbjerg J: SPI as Organizational Knowledge Creation: A Multiple Case Analysis. Proceedings Conference Proceedings at Maui Hawaii, January 2000.
[23] Schön Donald A., Educating the Reflective Practitioner. Jossey-Bass Publishers . San Francisco. 1987.