Understanding and Supporting Knowledge Management in Agile Software Development

Abstract:  Background. Agile Software Development (ASD) promises agility and flexibility in dealing with uncertainty by prioritizing interaction between people supported by informal communication and knowledge sharing. The lack of practices to manage the knowledge as a resource might jeopardize the application of knowledge in the production of goods and service. The utilization of Knowledge Management (KM) strategies can significantly support achieving and sustaining competitive advantage and brings several benefits to software development. However, how to manage knowledge in ASD is still not well understood or investigated. Objectives. The main objective of this thesis is to contribute to the software engineering field by providing a different perspective on directions that KM can take to improve knowledge-based resource (KBR) management in ASD. The detailed objectives are: (i) Understand the current ASD environment regarding KM; (ii) Identify KBRs in ASD and its implications for KM; and (iii) Provide an initial set of variables to evaluate knowledge criticality of knowledge items in ASD. Method. We used a mixed-methods approach to address the objective of this thesis. The methods selected to conduct the studies include systematic literature review, grounded theory, and improvement case study. The data collection comprised a literature review, semi-structured interviews, and practitioners’ feedback through static validation. Results. From our SLR we observed that that KM strategies in ASD promote mainly knowledge transfer through practices that stimulate social interaction to share tacit knowledge in the project layer, increasing the risk of losing knowledge by keeping the knowledge localized inside a few individual’s minds. When it comes to coordination, practitioners utilize KBRs in their routines, through social collaboration within teams’ environment/settings. However, this process is nonsystematic, which brings inefficiency to KBR utilization resulting in knowledge loss. It can generate negative implications to the course of the software development, including meaningless searches in databases, frustration because of recurrent problems, and unawareness of knowledge sources. To support decision making related to knowledge retention, we have developed an initial version of the method to evaluate the criticality (KCEM) of a knowledge item, which is divided into two categories, relevance, and scarcity. Conclusion. The current results of this thesis are of particular interest. However, we recognize that the work is unfinished. As a complement to this thesis, we have planned our long-term objective, which is to contribute to creating scalable KM solutions for companies adopting ASD.We divide this long-term objective into three studies: Carry out a complementary study to apply KCEM in different companies; explore efficient ways of storing codified knowledge in combination with the KCEM, and investigate how to define metrics to evaluate the outcomes of KM practices.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)