Knowledge Management in Software Process Improvement
MetadataShow full item record
Reports of software a development projects that miss schedule, exceeds budget and deliver products with poor quality are abundant in the literature. Both researchers and the industry are seeking methods to counter these trends and improve software quality. Software Process Improvement is a systematic approach to improve the capabilities and performance of software organizations. One basic idea is to assess the organizations’ current practice and improve their software process on the basis of the competencies and experiences of the practitioners working in the organization. A major challenge is to create strategies and mechanisms for managing relevant and updated knowledge about software development and maintenance. Insights from the field of knowledge management are therefore potentially useful in software process improvement efforts to facilitate the creation, modification, and sharing of software processes in any organization. In the work presented in this thesis, we have made an overview of empirical studies on the effect of knowledge management in software engineering. We have categorized these studies according to a framework and we report findings on the major concepts that have been investigated empirically, as well as the research methods applied within the field. We have also investigated two main strategies for knowledge management, codification and personalization, through the application of four concrete methods in a software process improvement setting: Mentoring, Rational Unified Process, Process Workshops and Post Mortem Analysis. We have classified the work in this thesis within three main themes: RT1: Previous research on knowledge management in software engineering. RT2: Application of knowledge management to improve the software process through codification of knowledge. RT3: Application of knowledge management to improve the software process through personalization of knowledge. The main contributions are: C1: An overview of the research literature on empirical studies of knowledge management in software engineering. C2: A method for tailoring the Rational Unified Process to the development process of a software consulting company. C3: Improvements of the Process Workshops method by contextualization. C4: Improvement of the root-cause analysis phase of the lightweight Post Mortem Analysis for more effective project retrospectives. C5: Proposed methods to increase the learning effect of mentor programs in software engineering.
Has partsBjørnson, Finn Olav; Stålhane, Tor. Harvesting Knowledge through a Method Framework in an Electronic Process Guide. Lecture Notes in Computer Science. (ISSN 0302-9743). 3782: 86-90, 2005.
Hanssen, Geir K.; Westerheim, Hans; Bjørnson, Finn Olav. Tailoring RUP to a defined project type: A case study. Lecture Notes in Computer Science. (ISSN 0302-9743). 3547: 314-327, 2005.
Bjørnson, Finn Olav; Dingsøyr, Torgeir. A study of a Mentoring Program for Knowledge Transfer in a Small Software Company. Lecture Notes in Computer Science. (ISSN 0302-9743). 3547: 245-256, 2005.
Bjørnson, Finn Olav; Stålhane, Tor; Moe, Nils Brede; Dingsøyr, Torgeir. Defining Software Processes Through Process Workshops: A Multicase Study. Lecture Notes in Computer Science. (ISSN 0302-9743). 4589: 132-146, 2007.
Hanssen, Geir Kjetil; Bjørnson, Finn Olav; Westerheim, Hans. Tailoring and introduction of the Rational Unified Process. Lecture Notes in Computer Science. (ISSN 0302-9743). 4764: 7-18, 2007.