Knowledge Management in Distributed Agile Software Development

Software development teams need highly valuable knowledge to carry out knowledge-intensive development activities. Agile teams are cross-functional teams that promote sharing of project-specific knowledge through frequent faceto-face interaction, effective communication and customer collaboration. Knowledge sharing is difficult for distributed Agile teams due to spatial, temporal, and cultural barriers, which negatively affect face-to-face interaction, communication and collaboration. There seems to be very few studies that focus on knowledge management in distributed Agile teams. Through a Grounded Theory study that involved 45 participants from 28 different software companies in the USA, India and Australia, we investigate distributed software development from the specific perspective of Agile teams. In this paper, we describe how Agile teams gather, store, share and use knowledge in distributed software development.

[1]  H. D. Rombach,et al.  THE EXPERIENCE FACTORY , 1999 .

[2]  Tuomo Kähkönen,et al.  Agile Methods for Large Organizations - Building Communities of Practice , 2004, Agile Development Conference.

[3]  James Noble,et al.  Organizing self-organizing teams , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[4]  B. Glaser Theoretical Sensitivity: Advances in the Methodology of Grounded Theory , 1978 .

[5]  B. Glaser Doing grounded theory : issues and discussions , 1998 .

[6]  Philippe Kruchten,et al.  A methodological leg to stand on: lessons learned using grounded theory to study software development , 2008, CASCON '08.

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

[8]  James Noble,et al.  Understanding Team Dynamics in Distributed Agile Software Development , 2012, XP.

[9]  Rick Dove,et al.  Knowledge management, response ability, and the agile enterprise , 1999, J. Knowl. Manag..

[10]  Sean Cohan Successful Customer Collaboration Resulting in the Right Product for the End User , 2008, Agile 2008 Conference.

[11]  Tore Dybå,et al.  A teamwork model for understanding an agile team: A case study of a Scrum project , 2010, Inf. Softw. Technol..

[12]  Rory V. O'Connor,et al.  Using grounded theory to understand software process improvement: A study of Irish software product companies , 2007, Inf. Softw. Technol..

[13]  Volker Wulf,et al.  Knowledge Management in Distributed Software Development Teams - Does Culture Matter? , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[14]  Christina Goulding,et al.  Grounded Theory: some reflections on paradigm, procedures and misconceptions , 1999 .

[15]  Gary B. Wills,et al.  Historical Roots of Agile Methods: Where Did "Agile Thinking" Come From? , 2008, XP.

[16]  James Noble,et al.  Technical Report 1201 Distribution and Agility : It ’ s All About Trust , 2012 .

[17]  Thomas Sauer Using design rationales for agile documentation , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[18]  Elizabeth A. Smith The role of tacit and explicit knowledge in the workplace , 2001, J. Knowl. Manag..

[19]  Paul Iske,et al.  The Value of Knowledge Doesn't Exist , 2002, PAKM.

[20]  Robert Biddle,et al.  The Social Nature of Agile Teams , 2007, Agile 2007 (AGILE 2007).

[21]  Steffen Staab,et al.  Knowledge Processes and Ontologies , 2001, IEEE Intell. Syst..

[22]  James Noble,et al.  Understanding Lack of Trust in Distributed Agile Teams: A grounded theory study , 2012, EASE.

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

[24]  野中 郁次郎,et al.  The Knowledge-Creating Company: How , 1995 .

[25]  James Noble,et al.  Developing a grounded theory to explain the practices of self-organizing Agile teams , 2012, Empirical Software Engineering.

[26]  Samuel Ajila,et al.  Knowledge management: impact of knowledge delivery factors on software product development efficiency , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[27]  Daniela E. Damian,et al.  Essential communication practices for Extreme Programming in a global software development team , 2006, Inf. Softw. Technol..

[28]  T. D. Wilson,et al.  The nonsense of knowledge management , 2002, Inf. Res..

[29]  Steinar Hole,et al.  A Case Study of Coordination in Distributed Agile Software Development , 2008, EuroSPI.

[30]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[31]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[32]  Laurie A. Williams,et al.  An initial exploration of the relationship between pair programming and Brooks' law , 2004, Agile Development Conference.

[33]  M. Polanyi Chapter 7 – The Tacit Dimension , 1997 .

[34]  James Noble,et al.  Understanding the Importance of Trust in Distributed Agile Projects: A Practical Perspective , 2010, XP.

[35]  James Noble,et al.  The XP customer role in practice: three studies , 2004, Agile Development Conference.

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

[37]  James Noble,et al.  Effective Communication in Distributed Agile Software Development Teams , 2011, XP.

[38]  Frank Maurer,et al.  Agile Methods and User-Centered Design: How These Two Methodologies are Being Successfully Integrated in Industry , 2008, Agile 2008 Conference.

[39]  James Noble,et al.  The XP Customer Team: A Grounded Theory , 2009, 2009 Agile Conference.

[40]  Christian Wagner,et al.  Wiki: A Technology for Conversational Knowledge Management and Group Collaboration , 2004, Commun. Assoc. Inf. Syst..

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

[42]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[43]  Karen Holtzblatt,et al.  An Agile Customer-Centered Method: Rapid Contextual Design , 2004, XP/Agile Universe.

[44]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

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

[46]  J. Herbsleb,et al.  Global software development , 2001 .

[47]  Kalpana Sureshchandra,et al.  Adopting Agile in Distributed Development , 2008, 2008 IEEE International Conference on Global Software Engineering.

[48]  James Noble,et al.  Bridging cultural differences: a grounded theory perspective , 2011, ISEC.

[49]  Phyllis Noerager Stern,et al.  Using grounded theory in nursing , 2001 .

[50]  P. David Stotts,et al.  Virtual Teaming: Experiments and Experiences with Distributed Pair Programming , 2003, XP/Agile Universe.

[51]  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..

[52]  Ulrike Cress,et al.  A systemic and cognitive view on collaborative knowledge building with wikis , 2008, Int. J. Comput. Support. Collab. Learn..

[53]  Joyce J. Elam,et al.  Inside a software design team: knowledge acquisition, sharing, and integration , 1993, CACM.

[54]  B. Glaser Basics of Grounded Theory Analysis: Emergence Vs. Forcing , 1992 .

[55]  Thomas H. Davenport,et al.  Book review:Working knowledge: How organizations manage what they know. Thomas H. Davenport and Laurence Prusak. Harvard Business School Press, 1998. $29.95US. ISBN 0‐87584‐655‐6 , 1998 .

[56]  David Walsh Palmieri,et al.  Knowledge Management Through Pair Programming , 2002 .

[57]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[58]  B. Glaser The Constant Comparative Method of Qualitative Analysis , 1965 .

[59]  S. Georgieva,et al.  Best Practices in Project Management Through a Grounded Theory Lens , 2008 .

[60]  Alireza Moghaddam,et al.  Coding Issues in Grounded Theory. , 2006 .

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

[62]  Frank Maurer,et al.  Process support and knowledge management for virtual teams doing agile software development , 2002, Proceedings 26th Annual International Computer Software and Applications.

[63]  Linda Rising,et al.  The Scrum Software Development Process for Small Teams , 2000, IEEE Softw..

[64]  James D. Arthur,et al.  A disciplined approach to adopting agile practices: the agile adoption framework , 2007, Innovations in Systems and Software Engineering.

[65]  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.

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

[67]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[68]  Shawn A. Bohner,et al.  The impact of agile methods on software project management , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[69]  Dorothy E. Leidner,et al.  Knowledge Management Systems: Issues, Challenges, and Benefits , 1999, Commun. Assoc. Inf. Syst..

[70]  Gabriela Avram,et al.  Bridging knowledge distribution - The role of knowledge brokers in distributed software development teams , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[71]  Jim Smith,et al.  An Approach to Developing a Performance Brief at the Project Inception Stage , 2005 .

[72]  Bran Selic,et al.  Agile Documentation, Anyone? , 2009, IEEE Software.