Modeling and Analysis of Knowledge Flows in Software Processes through the Extension of the Software Process Engineering Metamodel

Knowledge is a key asset in software engineering. Facilitating access to the knowledge that software engineers require for the task at hand can therefore bring many benefits. To accomplish this, it is important to understand how knowledge flows through the organization, to identify problems that may hinder a suitable flow, and to define strategies with which to address them. Process modeling has proved to be a useful technique for analyzing knowledge flows. Traditional process modeling languages do not, however, provide primitives to explicitly represent the knowledge involved in the processes within the models. In this paper, we illustrate how the Software Process Engineering Metamodel (SPEM) can be adapted, to be used as a process modeling language for analyzing knowledge flows in software processes. We have extended SPEM to represent knowledge and its sources in process models in an explicit way. We also discuss the experiences obtained from using this extension in a software organization and the lesson we have learned from it.

[1]  Reidar Conradi,et al.  Process Modelling Languages , 1999, Software Process: Principles, Methodology, Technology.

[2]  John Sparrow,et al.  Knowledge management in small firms , 2001 .

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

[4]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[5]  Carolyn B. Seaman Advances in Software Maintenance Management: Technologies and Solutions , 2003, J. Softw. Maintenance Res. Pract..

[6]  Janice Singer Practices of software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[7]  Mark E. Nissen,et al.  An Extended Model of Knowledge-Flow Dynamics , 2002, Commun. Assoc. Inf. Syst..

[8]  Karl M. Wiig,et al.  People-focused knowledge management : how effective decision making leads to corporate success , 2004 .

[9]  Mario Piattini,et al.  An Ontology For The Management Of Software Maintenance Projects , 2004, Int. J. Softw. Eng. Knowl. Eng..

[10]  Rob Thomsett The Year 2000 Bug: A Forgotten Lesson , 1998, IEEE Softw..

[11]  Nicolas Anquetil,et al.  Knowledge for Software Maintenance , 2003, SEKE.

[12]  Markus Strohmaier,et al.  B-KIDE: A Framework and a Tool for Business Process Oriented Knowledge Infrastructure Development , 2005 .

[13]  Aurora Vizcaíno,et al.  Identifying Knowledge Flows in Communities of Practice , 2008 .

[14]  Bill Curtis,et al.  Process modeling , 1992, CACM.

[15]  Remo Pareschi,et al.  Information Technology for Knowledge Management , 1998, Springer Berlin Heidelberg.

[16]  Steve Howard,et al.  Methods & tools: the rich picture: a tool for reasoning about work context , 1998, INTR.

[17]  Hai Zhuge,et al.  Knowledge flow management for distributed team software development , 2002, Knowl. Based Syst..

[18]  Janice Singer,et al.  Towards an ontology of software maintenance , 1999, J. Softw. Maintenance Res. Pract..

[19]  Mario Piattini,et al.  Advances in Software Maintenance Management: Technologies and Solutions , 2002 .

[20]  Hyacinth S. Nwana,et al.  Software agents: an overview , 1996, The Knowledge Engineering Review.

[21]  N. Schneidewind,et al.  Towards an Ontology of software maintenance , 1999 .

[22]  Yair Wand,et al.  Special Theme of Research in Information Systems Analysis and Design - I. Unraveling Knowledge Requirements Through Business Process Analysis , 2005, Commun. Assoc. Inf. Syst..

[23]  Carolyn B. Seaman,et al.  The information gathering strategies of software maintainers , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[24]  A. Evans,et al.  Knowledge Modelling Techniques for Developing Knowledge Management Systems , 2002 .

[25]  Alain Abran,et al.  Guide to the Software Engineering Body of Knowledge : 2004 Version , 2005 .

[26]  John B. Kidd Knowledge Management Tools and Techniques: Practitioners and Experts Evaluate KM Solutions , 2005 .

[27]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[28]  Ita Richardson,et al.  Why are small software organisations different , 2007 .

[29]  Nicolas Anquetil,et al.  Organizing the Knowledge Used in Software Maintenance , 2003, J. Univers. Comput. Sci..

[30]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[31]  Kimiz Dalkir,et al.  Knowledge Management in Theory and Practice , 2005 .

[32]  Ita Richardson,et al.  Guest Editors' Introduction: Why are Small Software Organizations Different? , 2007, IEEE Software.

[33]  Mark John Taylor,et al.  Knowledge for software maintenance , 1997, J. Inf. Technol..

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

[35]  Meliha Handzic,et al.  Managing Software Engineering Knowledge , 2010, Springer Berlin Heidelberg.

[36]  Daniel L. Sherrell,et al.  Communications of the Association for Information Systems , 1999 .

[37]  Bennet P. Lientz,et al.  Issues in Software Maintenance , 1983, CSUR.

[38]  Amrit Tiwana,et al.  The Knowledge Management Toolkit: Practical Techniques for Building a Knowledge Management System with Cdrom , 1999 .

[39]  Amrit Tiwana,et al.  An empirical study of the effect of knowledge integration on software development performance , 2004, Inf. Softw. Technol..

[40]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[41]  Ioana Rus,et al.  Knowledge Management for Software Organizations , 2003 .

[42]  Timothy Lethbridge,et al.  What knowledge is important to a software professional? , 2000, Computer.

[43]  Lorne Olfman,et al.  Assessing knowledge management success/effectiveness models , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

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

[45]  Jukka Paakki,et al.  Hypertext support for the information needs of software maintainers , 2004, J. Softw. Maintenance Res. Pract..

[46]  Aurora Vizcaíno,et al.  Using a Multi-agent Architecture to Manage Knowledge in the Software Maintenance Process , 2004, KES.

[47]  Mary Sumner,et al.  Knowledge management: theory and practice , 1999, SIGCPR '99.

[48]  Robert Woitsch,et al.  Process-oriented knowledge management systems based on KM-services: the PROMOTE® approach , 2002, Intell. Syst. Account. Finance Manag..

[49]  H. Oktaba,et al.  MoProSoft®: A Software Process Model for Small Enterprises , 2008 .

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

[51]  Tom Brier,et al.  Communications of the Association for Information Systems , 1999 .

[52]  Terry M. Stewart The Case Against Knowledge Management , 2002 .

[53]  Aurora Vizcaíno,et al.  Identifying knowledge management needs in software maintenance groups: a qualitative approach , 2004, Proceedings of the Fifth Mexican International Conference in Computer Science, 2004. ENC 2004..

[54]  Alan W. Brown,et al.  A Case Study in Software Maintenance , 1993 .

[55]  Ronald Maier,et al.  Defining process-oriented knowledge management strategies , 2002 .

[56]  Mario Piattini,et al.  Supporting Software Maintenance in Web Repositories through a Multi-agent System , 2003, AWIC.

[57]  Raymond E. Levitt,et al.  Agent-based modeling of knowledge flows: illustration from the domain of information systems design , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[58]  Euiho Suh,et al.  A process‐based approach to knowledge‐flow analysis: a case study of a manufacturing firm , 2003 .

[59]  Mario Piattini,et al.  A Methodology for Software Maintenance , 2003 .

[60]  Aurora Vizcaíno,et al.  Constructing a Knowledge Map for a Software Maintenance Organization , 2005 .

[61]  Natalia Juristo Juzgado,et al.  Emphasizing human capabilities in software development , 2006, IEEE Software.

[62]  Pearl Brereton,et al.  An investigation of software engineering curricula , 2005, J. Syst. Softw..

[63]  Gregoris Mentzas,et al.  Knowledge modelling in weakly-structured business processes , 2003, J. Knowl. Manag..

[64]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[65]  Aurora Vizcaíno,et al.  Understanding and Supporting Knowledge Flows in a Community of Software Developers , 2004, CRIWG.

[66]  Jean Bézivin,et al.  Applying The Basic Principles of Model Engineering to The Field of Process Engineering , 2004 .

[67]  Karlheinz Kautz,et al.  Knowledge Mapping: A Technique for Identifying Knowledge Flows in Software Organisations , 2004, EuroSPI.

[68]  Aurora Vizcaíno,et al.  Knowledge Flow Analysis to Identify Knowledge Needs for the Design of Knowledge Management Systems and Strategies - A Methodological Approach , 2007, ICEIS.

[69]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.