Knowledge Management in Agile Software Projects: A Systematic Review

Many methodologies, practices, techniques and tools have been suggested for process improvement, among them knowledge management and agile methodologies, which are the focus of this study. Systematic reviews published on knowledge management and agile methodologies have significantly contributed to detailed and deep discussions surrounding these issues. Nevertheless, we realised that there was a gap between these two areas that needed further clarification. Therefore, the objective of this study was to raise the main topics that emerge from knowledge management in agile methodologies. The research method used in this paper is based on a systematic review. We reviewed studies of knowledge management and agile methodologies, published in major software engineering journals and conference proceedings. The search strategy identified 2879 studies, of which 25 were selected as primary studies. The main topics were taken from these 25 works and, in order for them to be discussed; meta-analysis techniques were used to group these topics. The main discussion generated around these analyses was the preferential use of tacit knowledge, instead of explicit knowledge, and its influence on agile projects. This situation has implications for communication, human and social factors, software development cycle and artifacts, tools for knowledge management and knowledge representation forms.

[1]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[2]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[3]  Frank Maurer,et al.  Knowledge Sharing in Agile Software Teams , 2004, Logic versus Approximation.

[4]  Victor R. Basili,et al.  Experience in Implementing a Learning Software Organization , 2002, IEEE Softw..

[5]  Grigori Melnik,et al.  Direct verbal communication as a catalyst of agile knowledge sharing , 2004, Agile Development Conference.

[6]  Mary Kane,et al.  Concept Mapping for Planning and Evaluation , 2006 .

[7]  Jouni Kokkoniemi,et al.  Gathering Experience Knowledge from Iterative Software Development Processes , 2008, Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008).

[8]  David R. Jones,et al.  How can systematic reviews incorporate qualitative research? A critical perspective , 2006 .

[9]  Amy Law,et al.  Effects of agile practices on social factors , 2005, ACM SIGSOFT Softw. Eng. Notes.

[10]  Muhammad Ali Babar,et al.  Software Architecture Knowledge Management: Theory and Practice , 2009 .

[11]  Kurt Schneider,et al.  Experience and Knowledge Management in Software Engineering , 2009 .

[12]  M. Stankovic,et al.  Collaborative Knowledge Acquisition for Agile Project Management , 2005, EUROCON 2005 - The International Conference on "Computer as a Tool".

[13]  Chuohao Yeo,et al.  Multi-modal speaker diarization of real-world meetings using compressed-domain video features , 2009, 2009 IEEE International Conference on Acoustics, Speech and Signal Processing.

[14]  Flávio S. Corrêa da Silva,et al.  Design issues for knowledge artifacts , 2008, Knowl. Based Syst..

[15]  S. Patrick,et al.  6 – Challenges and issues , 2010 .

[16]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[17]  Michael J. Earl,et al.  Knowledge Management Strategies: Toward a Taxonomy , 2001, J. Manag. Inf. Syst..

[18]  Rory V. O'Connor,et al.  Development of a team measure for tacit knowledge in software development teams , 2009, J. Syst. Softw..

[19]  Orit Hazzan,et al.  Knowledge management in practice: The case of agile software development , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[20]  Gerhard Fischer,et al.  Knowledge Management: Problems, Promises, Realities, and Challenges , 2001, IEEE Intell. Syst..

[21]  Keng Siau,et al.  Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research , 2005, J. Database Manag..

[22]  Grigori Melnik,et al.  Knowledge sharing: agile methods vs. Tayloristic methods , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[23]  A. Cockburn,et al.  Agile Software Development: The People Factor , 2001, Computer.

[24]  Ken H. Judy,et al.  Using Agile Practices to Spark Innovation in a Small to Medium Sized Business , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[25]  George Mangalaraj,et al.  Challenges of migrating to agile methodologies , 2005, CACM.

[26]  Reidar Conradi,et al.  A Survey of Case Studies of the Use of Knowledge Management in Software Engineering , 2002, Int. J. Softw. Eng. Knowl. Eng..

[27]  Mauricio Cristal,et al.  A Case Study of Knowledge Management Usage in Agile Software Projects , 2009, ICEIS.

[28]  G. Noblit,et al.  Meta-Ethnography: Synthesizing Qualitative Studies , 1988 .

[29]  Torgeir Dingsøyr,et al.  Extending Agile Methods: Postmortem Reviews as Extended Feedback , 2002, LSO.

[30]  Veikko Seppänen,et al.  Toward a Practical Solution for Capturing Knowledge for Software Projects , 2002, IEEE Softw..

[31]  Broderick Crawford,et al.  Knowledge Management in Different Software Development Approaches , 2006, ADVIS.

[32]  B. Bahli,et al.  The role of knowledge creation in adopting extreme programming model: an empirical study , 2005, 2005 International Conference on Information and Communication Technology.

[33]  Mike Kuniavsky,et al.  Guidelines are a tool: building a design knowledge management system for programmers , 2005, DUX '05.

[34]  S. Debowski Knowledge Management , 2005 .

[35]  Kalle Lyytinen,et al.  Learning failure in information systems development , 1999, Inf. Syst. J..

[36]  Lianping Chen,et al.  A systematic review of comparative evidence of aspect-oriented programming , 2010, Inf. Softw. Technol..

[37]  Etienne Wenger,et al.  Communities of Practice: Learning, Meaning, and Identity , 1998 .

[38]  I. Nonaka,et al.  How Japanese Companies Create the Dynamics of Innovation , 1995 .

[39]  Anthony F. Buono,et al.  Challenges and Issues in Knowledge Management , 2005 .

[40]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[41]  Ke-Jia Chen,et al.  Following the evolution of distributed Communities of Practice , 2008, 2008 7th IEEE International Conference on Cognitive Informatics.

[42]  Peng Xu,et al.  Can distributed software development be agile? , 2006, CACM.

[43]  Mario Piattini,et al.  Challenges and Improvements in Distributed Software Development: A Systematic Review , 2009, Adv. Softw. Eng..

[44]  R. K. Kavitha,et al.  A Knowledge Management Framework for Agile Software Development Teams , 2011, 2011 International Conference on Process Automation, Control and Computing.

[45]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[46]  B. J. Oates,et al.  Researching Information Systems and Computing , 2005 .

[47]  Jay Liebowitz A Look at NASA Goddard Space Flight Center's Knowledge Management Initiatives , 2002, IEEE Softw..

[48]  Alfredo Goldman,et al.  A view towards Organizational Learning: An empirical study on Scrum implementation , 2011, SEKE.

[49]  Fabio Q. B. da Silva,et al.  Challenges and solutions in distributed software development project management: A systematic literature review , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[50]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[51]  Gökhan Tür,et al.  This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. 1 The CALO Meeting Assistant System , 2022 .

[52]  Broderick Crawford,et al.  Knowledge Sharing in Traditional and Agile Software Processes , 2008, ICSOFT.

[53]  E. Wenger Communities of Practice: Learning, Meaning, and Identity , 1998 .

[54]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[55]  John F. Sowa,et al.  Knowledge representation: logical, philosophical, and computational foundations , 2000 .

[56]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[57]  Javier García,et al.  Design guidelines for software processes knowledge repository development , 2011, Inf. Softw. Technol..

[58]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[59]  Paul Robertson,et al.  Automatic recovery from software failure , 2006, CACM.

[60]  Chun Wei Choo,et al.  The knowing organization , 2005 .

[61]  Tore Dybå,et al.  Strength of evidence in systematic reviews in software engineering , 2008, ESEM '08.

[62]  James Y. L. Thong,et al.  Acceptance of Agile Methodologies: A Critical Review and Conceptual Framework , 2009, Decis. Support Syst..

[63]  J. Barrie Thompson,et al.  Personality characteristics in an XP team , 2005, ACM SIGSOFT Softw. Eng. Notes.

[64]  Subhas C. Misra,et al.  Identifying some critical changes required in adopting agile practices in traditional software development projects , 2010 .

[65]  Chuohao Yeo,et al.  Modeling Dominance in Group Conversations Using Nonverbal Activity Cues , 2009, IEEE Transactions on Audio, Speech, and Language Processing.

[66]  Frank Maurer,et al.  Knowledge Management Support for Distributed Agile Software Processes , 2002, LSO.

[67]  Jörg Rech,et al.  Qualitative Analysis of Semantically Enabled Knowledge Management Systems in Agile Software Engineering , 2010, Int. J. Knowl. Manag..

[68]  Torgeir Dingsøyr,et al.  Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used , 2008, Inf. Softw. Technol..

[69]  Pekka Abrahamsson,et al.  Digging into the fundamentals of extreme programming building the theoretical base for agile methods , 2003, 2003 Proceedings 29th Euromicro Conference.

[70]  Shivram Ramasubramanian,et al.  Knowledge Management at Infosys , 2002, IEEE Softw..

[71]  Rashmi Phalnikar,et al.  Applying Agile Principles for Distributed Software Development , 2009, 2009 International Conference on Advanced Computer Control.

[72]  I. Tuomi Corporate knowledge : theory and practice of intelligent organizations , 1999 .

[73]  Hans van Vliet,et al.  Software Architecture Knowledge Management , 2008, 19th Australian Conference on Software Engineering (aswec 2008).