Knowledge Creation and Loss within a Software Organization: An Exploratory Case Study

Software development activities are very critical, since most of them heavily depend on individuals' knowledge and their capabilities. This knowledge must be retained and managed in order to avoid productivity breakdowns. This paper empirically explores how knowledge is created and lost in a software organization, and discusses implications for software development. This is done through a case study in which we investigated a Brazilian R&D Institute. We found that knowledge creation can be achieved through: (1) knowledge sources, (2) architectural frameworks that contain common applications and architectures for a set of projects, and (3) lessons learned that contains concerns regarding previous projects. Additionally, we verified that some teams' actions might influence knowledge loss. To identify and to understand which aspects are related to managing knowledge is the first step towards avoiding its loss and facilitating organizational learning. Our work contributes to this end.

[1]  Forrest Shull,et al.  What Do We Know about Knowledge Management? Practical Implications for Software Engineering , 2009, IEEE Software.

[2]  Andrew Begel,et al.  Novice software developers, all over again , 2008, ICER '08.

[3]  Günther Ruhe,et al.  Software Engineering Decision Support ? A New Paradigm for Learning Software Organizations , 2002, LSO.

[4]  Nicolas Anquetil,et al.  Software maintenance seen as a knowledge management issue , 2007, Inf. Softw. Technol..

[5]  Daniela Cruzes,et al.  Analyzing the Impact of Beliefs in Software Project Practices , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[6]  Kevin C. Desouza,et al.  Experiences with Conducting Project Postmortems: Reports vs. Stories and Practitioner Perspective , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[7]  Eric Ras,et al.  Investigating Wikis for software engineering - Results of two case studies , 2009, 2009 ICSE Workshop on Wikis for Software Engineering.

[8]  Tore Dybå,et al.  Introducing knowledge redundancy practice in software development: Experiences with job rotation in support work , 2010, Inf. Softw. Technol..

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

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

[11]  Judith A. Holton,et al.  Remodeling Grounded Theory , 2004 .

[12]  Farhad Daneshgar,et al.  Investigating Knowledge Management practices in software development organisations - An Australian experience , 2008, Inf. Softw. Technol..

[13]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

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

[15]  Carolyn B. Seaman,et al.  Software process improvement through the identification and removal of project-level knowledge flow obstacles , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[16]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[17]  Barry Boehm,et al.  An Empirical Study on MBASE and LeanMBASE , 2007, ESEM 2007.

[18]  James Noble,et al.  Using grounded theory to study the human aspects of software engineering , 2010, HAoSE '10.

[19]  Torgeir Dingsøyr,et al.  Organizational Learning Through Project Postmortem Reviews - An Explorative Case Study , 2007, EuroSPI.

[20]  I. Nonaka,et al.  SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge Creation , 2000 .

[21]  Ian Newman Observations on relationships between initial professional education for software engineering and systems engineering-a case study , 2001, Proceedings 14th Conference on Software Engineering Education and Training. 'In search of a software engineering profession' (Cat. No.PR01059).

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

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

[24]  Nina Helander,et al.  Knowledge Sharing Barriers in Growing Software Companies , 2012, 2012 45th Hawaii International Conference on System Sciences.

[25]  Katja Karhu,et al.  Observing Software Testing Practice from the Viewpoint of Organizations and Knowledge Management , 2007, ESEM 2007.

[26]  Kate Ehrlich,et al.  Leveraging expertise in global software teams: Going outside boundaries , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[27]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[28]  Victor R. Basili,et al.  A Prototype Experience Management System for a Software Consulting Organization , 2001, SEKE.

[29]  J. Gosby MEDIA REVIEWS: Basics of Qualitative Research - Techniques and Procedures for Developing Grounded Theory 2nd Edition by A. Strauss and J. Corbin. Sage Publications, , 2000 .

[30]  Zuopeng Zhang,et al.  Facilitating knowledge transfer in organizations through incentive alignment and IT investment , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.