Managing Tacit Knowledge to Improve Software Processes

Managing Tacit Knowledge to Improve Software Processes

Alberto Heredia (Carlos III University of Madrid, Spain), Javier García-Guzmán (Carlos III University of Madrid, Spain), Fuensanta Medina-Domínguez (Carlos III University of Madrid, Spain) and Arturo Mora-Soto (Carlos III University of Madrid, Spain)
DOI: 10.4018/978-1-4666-5182-1.ch009
OnDemand PDF Download:
List Price: $37.50


In general, software process improvement entails significant benefits such as increased software product quality, decreased time and development cost, and decreased risks. To obtain these, organizations must apply knowledge management because the identification of new knowledge is considered key to success when improving software processes. Existing knowledge is, however, difficult to find, and when found, it is often difficult to reuse in practice. This is due to the fact that a considerable part of the knowledge that is useful for executing software processes is tacit and not all of it can be captured and made explicit. The purpose of this chapter is to present a framework for software process improvement based on the enrichment of organizational knowledge by means of the acquisition of tacit knowledge from individuals working in different teams and environments. The framework includes the specification of roles, processes, and tools, and is based on a process asset library and the introduction of configuration and change management mechanisms.
Chapter Preview

1. Introduction

In recent years, software has become indispensable to society. However, Software Engineering is a discipline that still does not seem to have reached maturity. Seeing software development as a process has significantly helped to identify the different dimensions of software development and the problems to be addressed to establish effective practices. Researchers and practitioners focus on the study and improvement of the process by which software is developed because of the direct correlation between the process quality and software quality development (Humphrey, 1989).

Since the early 90s, Software Process Improvement (SPI) has tried to meet the challenges of improving quality and efficiency in software engineering practices, facilitating the identification and implementation of changes in management activities and software development (Allison & Merali, 2007).

SPI projects usually begin with an assessment of the practices currently implemented in the organization, identifying bottlenecks, problems or opportunities to prioritize potential improvements in the existing software development process. The long-term goal in SPI is to implement and institutionalize in the organization the improved practices of software development, i.e., create new knowledge at the organizational level. This knowledge will be acquired individually by the participants of the process and subsequently extended to the organizational level to be applied in new projects.

In general, the SPI provides significant benefits including:

  • Improved quality of software products (Allison & Merali, 2007).

  • Reduced costs (Niazi, Wilson, & Zowghi, 2006).

  • Reduced risks (Dybå, Kitchenham, & Jørgensen, 2005).

  • A positive ROI (Capell, 2004).

  • Increase in customer satisfaction (Mathiassen, Ngwenyama, & Aaen, 2005).

  • Improvement in morale, responsibility and communication in teamwork (Capell, 2004).

  • A higher rate of project success (Capell, 2004).


2. Knowledge Management In Spi

In the mid-90s, organizations began to consider seriously the possibility of managing their knowledge since this can be registered not only in documents or repositories, but also in organizational processes, practices, routines and rules. This movement was called Knowledge Management.

Knowledge Management (KM) can be defined as the discipline that studies the creation, preservation, application and reuse of knowledge available in an organization, its goal being the creation of shared knowledge among all users (Alavi & Leidner, 2001). KM simplifies the process of sharing, distributing, creating, capturing and understanding knowledge of an organization.

To improve the software development process and get the benefits mentioned above, organizations must apply the principles of KM to manage their knowledge (Dingsøyr et al., 2009). Thus, KM becomes an essential part of the efforts in SPI as the identification of new knowledge is considered a key to success in improving processes.

Complete Chapter List

Search this Book: