LNAI 3782 - Trends in Learning Software ... - Springer Link

9 downloads 144128 Views 140KB Size Report
Trends in Learning Software Organizations: Current Needs and Future Solutions ... The German software company sd&m has experience from seven years of.
Trends in Learning Software Organizations: Current Needs and Future Solutions Andreas Birk1 and Torgeir Dingsøyr2 1

sd&m AG, software design & management, Löffelstraße 46, D-70597 Stuttgart, Germany [email protected] 2 SINTEF Information and Communication Technology, NO-7465 Trondheim, Norway [email protected]

Abstract. The 7th learning software organizations workshop focused on interdisciplinary research on several aspects of learning: From personal competence development to cultural and technological frameworks for organization-wide knowledge-sharing (“knowledge management in software engineering”). We put special emphasis on experience reports and empirical work. We define what a learning software organization is, present lessons learned from workshop sessions and suggest some ideas for the future development of the field.

1 Introduction Software development is essentially an intellectual task. The success of software organizations is partly shaped by their abilities to make learning happen on individual, team, and organizational levels. Therefore they must foster and balance people issues, organization, method, and appropriate tool support. The Learning Software Organizations (LSO) workshop series is a forum for software professionals and researchers interested in organizational learning within software development environments. The workshop fosters interdisciplinary experience sharing on topics such as software process improvement, personal competence development, technology transfer and innovation management, sociopsychological aspects of learning, as well as enabling technology. LSO places special emphasis on experience reports and empirical research. In addition to the LSO workshop series, there has been much interest in this topic within the software engineering community, for example through a special issue on knowledge management in IEEE Software [12] and the textbook Managing Software Engineering Knowledge [3]. LSO 2005 was held in conjunction with the WM2005 conference. It emphasized the relation between organizational learning and software process improvement. Conference and workshop complemented each other and provided practical insights into current approaches used to establish and further develop learning software organizations. K.- D. Althoff et al. (Eds.): WM 2005, LNAI 3782, pp. 70 – 75, 2005. © Springer-Verlag Berlin Heidelberg 2005

Trends in Learning Software Organizations: Current Needs and Future Solutions

71

The workshop consisted of discussions, paper presentations and special sessions focused on sharing experience on characteristics of learning software organizations. It provided a forum for professionals from software engineering and knowledge management as well as the applied research community. In the next chapters of this book you find selected papers from the LSO workshop 2005 [1]. In the next section we discuss the term “learning software organizations” and give an overview of broad present lines in the field, continue by presenting the main topics discussed at the workshop, and finally present our view of how the field should develop in the future.

2 What Is a Learning Software Organization? A learning software organization is an organization that develops or maintains software and intentionally acts as a “learning organization”. There are many definitions on what is required to achieve a “learning organization” or “organizational learning”. In a review article, Dodgson [10] describes learning organizations as organizations that “build, supplement and organize knowledge and routines around their activities and within their cultures, and adapt and develop organizational efficiency by improving the use of the broad skills of their workforces”. He further writes that this definition incorporates the following assumptions: ● Learning generally has positive consequences even though learning can be caused by failure. ● Corporate and group culture is influenced by individual learning and can assist the direction of the learning. ● Learning occurs throughout all activities of an organization. Encouraging and coordinating the variety of interactions in learning is a key organizational task. “Learning organizations” are then organizations that “purposefully construct structures and strategies as to enhance and maximize organizational learning”. Studies on organizational learning in general build on theories from different disciplines, from Argyris and Schön’s theory of learning [2], Nonaka and Takeuchi’s theories of knowledge creation [13] to Wenger’s theories on Communities of Practice [14]. When we discuss organizational learning in software organizations, this intersects to a high degree with the subfield of software engineering called software process improvement; where for example the total quality management (TQM) “philosophy” [7] and it’s version related to software, the quality improvement paradigm (QIP) focuses on learning [4]. The concept of “Experience factory” [5] is the first well known systematic approach to organizational learning in the software engineering field. However, the main focus of the literature in software engineering has been on technological issues [9].

72

A. Birk and T. Dingsøyr

3 Lessons Learned from Learning Software Organizations The LSO 2005 workshop discussions revealed several lessons learned that show what learning software organizations have achieved during the past years. These lessons learned also indicate needs for future investigations, industrial experience gathering, and research. In the following, we outline the lessons learned along with brief explanations. The explanations refer to concrete examples from the presented workshop contributions, which can also be found in the subsequent chapters of this book. Organizational learning in the software domain must be integrated well with project processes, engineering work practices, and software architecture. Fægri et al. describe an approach to increase the knowledge transfer in product family engineering through more effective coordination of people and organizational units by seeing software architects as a community of practice. The expected benefit is that communities offer a more adaptive approach for supporting the transition towards product family engineering as compared to formal organizational restructuring. The German software company sd&m has experience from seven years of comprehensive, organization-wide knowledge management. Buch and Humm describe the company's experience from integrating organizational learning with substance (i.e., information contents, software architecture, good practice etc.), people, and tool issues. Project retrospectives and feedback meetings should be the backbone of every learning software organization. Many software organizations are applying various kinds of project retrospectives and feedback meetings (cf. [6, 8, 11]). Fajtak presents how kick-offs and project retrospectives are organized at the Program and System Engineering division of Siemens in Austria. Kick-offs and retrospectives are supported with a company wide network of facilitators, which enables several learning loops at different organizational levels. Salo of VTT in Finland describes how agile software development teams have improved and adapted their software development processes using iterative project retrospectives. Knowledge and experience exist on several levels of sophistication. Learning software organizations must address each knowledge level by appropriate methods and techniques. Buch and Humm have structured knowledge assets into a pyramid of increased sophistication and reuse-benefit. On the foundation level, there is basic factual information needed to derive problem solutions. The middle level is mature knowledge, which offers guidance for finding and developing solutions. The top level is solution knowledge, which is problem-specific and detailed, and can be reused "as is". Nick et al. indicate how a knowledge-based for code inspections can provide support for two distinct levels of knowledge and learning: (1) The inspection process itself and (2) the whole software lifecycle. Dingsøyr and Bjørnsson show how process

Trends in Learning Software Organizations: Current Needs and Future Solutions

73

guides, that in the first place offer factual process definitions, can be enriched by solution-oriented guidelines and good practice knowledge. Communities of practice and experience repositories can complement and leverage each other very well. In a panel discussion, we discussed three major topics: what techniques are most important in spreading software engineering knowledge throughout an organization? What is the major fault when implementing a learning software organization? How should one combine experience packaging and communities of practice to establish a highly effective learning software organization? The conclusion of the discussion was that software engineering knowledge is of a kind which requires both packaging and leveraging through communities. As for leveraging, post-iteration workshops and “open” tools like wikis were viewed appropriate. Experience packaging can either be very focused on a topic (like inspections knowledge) or have a broad thematic horizon. Motivational factors and drivers of learning software organizations must be managed actively. Several of the LSO workshop discussions touched the question of motivational factors that enable and foster organizational learning. The following ingredients of motivational ecosystems for organizational learning were identified: (1) Openness for intrinsic learning motivations of individuals and teams. Often, the possibilities to satisfy such intrinsic learning motivations add much to an individual's perceived work satisfaction. (2) Meritocracy, which is a common motivational factor in open source communities. (3) Organizational support that enables and facilitates learning. (4) Technical infrastructure and budget needed to perform learning-related activities. The workshop contribution of Salo describes an infrastructure that enables bottom-up learning of software teams, which eventually provides organization-level knowledge assets. Also Fajtak as well as Buch and Humm describe elements of organizational infrastructure for learning. Zuser and Grechenig discuss proper ways of giving feedback in typical situations occurring in software development projects. Communities of practice across company borders can be a powerful means for strengthening smaller organizations and for accelerating adoption of new software engineering technology. The papers by Santos et al. and the work of Smolander show how organizational learning principles can be applied to networks of smaller organizations. These networks are similar to company-internal networks within larger enterprises. For instance, a community of practice can span across many units within a large company, or across several smaller organizations within a network. Santos et al. describe a Brazilian initiative that supports process introduction in small and medium-sized enterprises. Smolander reports on a Finnish network of IT-suppliers to the timber industry that wants to improve its competitive position against large consulting companies.

74

A. Birk and T. Dingsøyr

Learning software organizations can benefit from a variety of promising enabling technologies. However, technology must be balanced well with content, people, and organization issues. The LSO workshop presented several examples of new tools and technologies that can improve organizational learning or ease the introduction of organizational learning principles into the various software engineering processes: ● ● ● ● ● ●

Schneider’s modeling of information flows (in Smolander et al). The modeling of causal networks in the paper by Al-Shebab et al. A new approach to building infrastructures for E-Learning systems for Learning Software Organizations in the paper by Dedene et al. Combining electronic process guides and experience repositories as described in a case study by Bjørnsson and Stålhane. Experience-based support for code inspections by Nick et al. The TABA workstation, which configures and instantiates software development environments in the paper by Villela et al.

We also found approaches to transferring tacit knowledge through Open Space Technology by Dingsøyr and Bjørnsson (in Smolander et al.). The importance of achieving the right balance between technology and other non-technological issues has been addressed by Buch and Humm.

4 Future Needs What are the main needs of the software industry where researchers and industry should cooperate on in future learning software organizations workshops? And what are the main needs of learning software organizations as a research field? As for the industry, we think many companies still need to focus more on establishing what we can call learning practices. For example, an easy and obvious learning mechanism such as project retrospectives (or postmortem reviews) is still not used to a large extent in software companies. As for learning software organizations as a research field, we think learning in agile software development will become an interesting area, increasing the focus on tacit knowledge. Also, we think that learning software organizations should – as the whole software engineering field – be focusing more on empirical work, and for studying learning organizations, this means primarily case studies and action research. There is also a lack of connecting work in this area to theory – we could make much more use of knowledge management work in general, and fields like organization development in particular.

Acknowledgement We are very grateful to the workshop participants, the program committee, and additional reviewers. See [1] for a complete list of program committee members and

Trends in Learning Software Organizations: Current Needs and Future Solutions

75

additional reviewers for the 7th International Workshop on Learning Software Organizations.

References 1. Klaus-Dieter Althoff, Andreas Dengel, Ralph Bergmann, Markus Nick, and Thomas Roth-Berghofer, Professional Knowledge Management: Experiences and Visions. Proceedings from WM2005. Kaiserslautern, Germany: DFKI, Kaiserslautern, Germany, 2005, 2. Chris Argyris and Donald A. Schön, Organizational Learning II: Theory, Method and Practise: Addison Wesley, 1996, 3. A. Aurum, R. Jeffery, C. Wohlin, and M. Handzic, Managing Software Engineering Knowledge. Berlin: Springer Verlag, 2003, 4. Victor R. Basili, “Quantitative Evaluation of Software Engineering Methodology,” Proceedings of the First Pan Pacific Computer Conference, Melbourne, Australia, 1985. 5. Victor R. Basili, Gianluigi Caldiera, and H. Dieter Rombach, “The Experience Factory,” in Encyclopedia of Software Engineering, vol. 1, J. J. Marciniak, Ed.: John Wiley, 1994, pp. 469-476. 6. Andreas Birk, Torgeir Dingsøyr, and Tor Stålhane, “Postmortem: Never leave a project without it,” IEEE Software, special issue on knowledge management in software engineering, no. 3, vol. 19, pp. 43 - 45, 2002. 7. Edwards W. Deming, Out of the Crisis. Cambridge, Massachusetts: The MIT Press (first published in 1982 by MIT Center for Advanced Educational Services), 2000, ISBN 0262-54115-7. 8. Torgeir Dingsøyr, “Postmortem reviews: Purpose and Approaches in Software Engineering,” Information and Software Technology, no. 5, vol. 47, pp. 293-303, 2005. 9. Torgeir Dingsøyr and Reidar Conradi, “A Survey of Case Studies of the Use of Knowledge Management in Software Engineering,” International Journal of Software Engineering and Knowledge Engineering, no. 4, vol. 12, pp. 391 - 414, 2002. 10. Mark Dodgson, “Organizational Learning: A Review of Some Literatures,” Organizational Studies, no. 3, vol. 14, pp. 375 - 394, 1993. 11. Norman L. Kerth, Project retrospectives : a handbook for team reviews. New York: Dorset House Publishing, 2001, ISBN 0-932633-44-7. 12. Mikael Lindvall and Ioana Rus, “Knowledge Management in Software Engineering,” IEEE Software, no. 3, vol. 19, pp. 26 - 38, 2002. 13. Ikujiro Nonaka and Hirotaka Takeuchi, The Knowledge-Creating Company: Oxford University Press, 1995, ISBN 0-18.509269-4. 14. Etienne Wenger, Communities of practise : learning, meaning and identity. Cambridge, UK: Cambridge University Press, 1998, ISBN 0-521-43017-8.