ArticlePDF Available

Practical knowledge management tool use in a software consulting company

Authors:

Abstract

Different types of actual usage in a medium-size software consulting company to be used for allocating resources to new projects and for searching competence to solve problems are discussed. The skills management tool is used for identifying new project opportunities and to support skills upgrade. The design and user interface of the tool is simple and flexible, as a Web-based system with update requests on the Intranet. The tool is advantageous at the individual level, at the project level, and at the process level. The double individual company utility of the tool represents a wide scope of applicability, and is apparent to users. The tool is not designed for employees to get direct access to all relevant information on different topics. This multitude of uses enables learning practices and motivates tool use both at individual and company levels, which are crucial to enable organizational learning.
96 December 2005/Vol. 48, No. 12 COMMUNICATIONS OF THE ACM
PHOTOGRAPH BY MICHAEL KLOSE
COMMUNICATIONS OF THE ACM December 2005/Vol. 48, No. 12 97
Assessing the contribution of a technical skills management tool
for supporting organizational learning.
PRACTICAL KNOWLEDGE
MANAGEMENT TOOL USE
IN A SOFTWARE CONSULTING COMPANY
By Torgeir Dingsøyr, Hans Karim Djarraya, and Emil Røyrvik
Tools for managing technical skills are used in many companies, but
there has been little discussion about how such tools are used in practice. We
report here on different types of actual usage in a medium-size software
consulting company. We expected such tools to be used for allocating resources
to new projects and for searching for competence to solve problems, but also
observed two other types of usage: identifying new project opportunities, and
upgrading skills. This multitude of uses enables learning practices and
motivates tool use both at individual and company levels, which are
crucial to enable organizational learning.
98 December 2005/Vol. 48, No. 12 COMMUNICATIONS OF THE ACM
Software engineering is a knowledge-intensive task,
where it is of critical importance to have skilled
employees. Knowledge management (KM) [5] has
gained much attention among practitioners and
researchers in software engineering [1, 10]. There are
two basic strategies for ensuring employees are skilled
[8]: Either you focus on codifying relevant knowl-
edge, or you count on communication between peo-
ple who have relevant knowledge—what is called
personalization. Kankanhalli et al. [9] give examples
of groups of companies that have chosen different
strategies, and discuss the role of IT for supporting
the strategies. In this article, we seek to further discuss
one type of IT support for a personalization strategy,
namely the use of tools to identify and manage the
technical skills of employees. Such systems are some-
times referred to as expert directories, people-finder
systems, or company-internal yellow pages.
We can divide skills in two broad groups: techni-
cal skills, which include knowledge about technol-
ogy issues; and soft skills, involving competencies of
a more personal and social type, like organizing and
handling complexities in project work, enabling
people to contribute their resources, and customer
communication.
It is important to get the right people with the
appropriate soft and technical skills to work on a soft-
ware development project. Many companies have
developed KM tools to assist them in the tasks of
managing technical skills by surveying what kind of
knowledge people have and creating an index of it.
We will refer to the process of indexing and making
this type of information available as skills manage-
ment. Here, our focus is on technical skills.
There are many software tools for managing skills.
For example, companies that offer jobs on the Inter-
net usually have a database where job-seekers can
store their competence profiles. The contents of such
tools can be: “Knowledge profiles, skill profiles, and
personal characteristic profiles that define subjective
assessments of the knowledge, skills, and personal
traits required for the different work roles” [12]. In
order to have such a working system, a company must
select a set of skills it is interested in, have a system for
evaluating the employees, and make this information
available to different user groups.
We wanted to know more about how tools for
managing skills are used in a specific organization.
What purposes do such tools serve, and do they sat-
isfy needs other than the expected use in resource allo-
cation? In order to examine these questions, we
interviewed 14 developers, managers, and project
managers in an ethnographic study at Computas, a
consultancy company with approximately 150
employees that develops knowledge-based software.
The company has no traditional departments, but is
organized in projects and a set of processes, where
KM is considered to be one important process.
We will describe their skills management tool, and
what different types of usage we found (note that we
do not look at the technical implementation of skills
management systems, but refer readers with such
interests to other literature [2, 11]). A more thorough
description of our findings is available in [7], and
studies of usage of other KM tools in the same com-
pany can be found in [3] and [6].
THE SKILLS MANAGER TOOL
The skills manager is a part of the intranet at Com-
putas, and every employee has access to it. Users can
select a skill from a taxonomy of approximately 250
different technical skills, related to the core compe-
tencies of the company. When a particular skill is
selected, users can find which of seven skill levels
people have, from “expert” to “irrelevant.” In addi-
tion to indicating their skill level, people also indi-
cate which level they want to have in the future (see
the figure on the next page). When viewing skills,
details are shown in black if people are at the level
they would like to be, red if this is a topic they do
not wish to work on in the future, or green if they
want to develop their skills in this area.
Employees are prompted in the front page of the
intranet to evaluate themselves when new skills are
introduced in the tool. They are also told to update
the information when they have completed a project.
Anyone can suggest new skills to the tool, which
will be included by the manager of the “competence
center” process.
A VARIETY OF USAGES
When we think of usage of skills management tools,
we typically think of resource allocation and search-
ing for experts to solve problems. But when we
interviewed people at Computas, we found four
major ways of using the skills management tool, and
we found issues that broadened our understanding
of the usage of the tool.
Resource allocation. Concerning the classical
usage of skills management tools, resource allocation,
we found evidence of such practice. As one new
employee said: “Contrary to a lot of other companies
that use such a system, here at Computas we really use
the system for resource planning.” Another comment
is quite similar: “I think that the skills manager is a
useful tool, but a tool that still has got a lot of poten-
tial when it comes to practical use. Those responsible
for resource management already use the tool a lot in
their daily work.” A third Computas employee also
comments on the skills manager as an important tool
for resource allocation, and indicates the dynamics
whereby new skills are added to the tool: “The tools I
use the most I think are…the competence-block-
manager [another part of Computas’ KM system,
used for organizing internal learning courses] and the
skills manager. I’m responsible for the content in
many databases, and partly the skills management
base. And the skills manager is a tool that is
very important…for the resource allocation
process…Therefore, many employees come up with
suggestions on new content, new elements, in the
skills database.”
Searching for competence to solve problems.
Often developers need to acquire knowledge on some
issue where they have little experience themselves. One
developer describes a “short term” usage in solving
problems: “Of course, when I wonder if there is any-
one who can help me with something, I look up in the
skills management system to see if anyone has the
knowledge that I need.” When you get a list of people
with a certain competence, you can email one or all of
them. Or you can just print a list of people and ask
them yourself, as some developers prefer. Of course,
this depends on people rating themselves in an honest
way. According to one developer, “Some overrate
themselves and other underrate themselves strongly.”
The last problem can be termed “resistance to be
known as an expert” [4]. Developers indicating exper-
tise in one area risk being allocated to that kind of
project in the future instead of other, perhaps more
intellectually challenging ones. The possibility of indi-
cating a future desired skill level is a means to prevent
this resistance in this company. Thus, the tool signals
not only what an employee is skilled at, but also top-
ics he wants to work more with in the future.
Another developer is critical of the categories of
competence in the skills management tool: “when it
comes to more detailed things, like who can in fact
write a computer program, and who can find a solu-
tion—you do not find that there.”
In this usage domain we
found both short-term and
long-term types of usage. The
former is where people use the
tool to find others in the com-
pany that know something
about a specific problem at
hand. The latter is a usage
where people over time increase
their overall insight into what
core competencies exist in the
company.
When we look at the long-
term usage, one developer says
he finds a group of people that
knows something about a sub-
ject in the skills management
tool, and asks them questions by
email. But usually only a few
people bother to answer: “If you
have asked questions about SQL
to 10 gurus, and it is always the
same two that answer, you start
to go directly to them and talk;
you learn after a while who it is
any use to attempt to get infor-
mation from.”
Finding projects and exter-
nal marketing. Another usage
of the tool is for the sales department. One manager
said that “Even sales can use it [the skills management
system], to find new directions.” That is, to find what
types of projects that suit the company well; combin-
ing strategic and competence development needs.
Another usage could be to use the tool as a testimony
of the organization’s skill level. For Computas, as a
company focusing on knowledge-based solutions, the
skills manager tool is also a way to show that the com-
pany is “taking its own medicine.”
Skills upgrading. At Computas, people are allo-
cated to projects on the basis of defined technical
skills in the skills manager tool. In this way, people
position themselves for future projects by indicating
what knowledge they want to develop as a part of
COMMUNICATIONS OF THE ACM December 2005/Vol. 48, No. 12 99
The skills manager tool,
showing employee skill
levels in “Testing and
testing techniques” and
current and desired skill
levels for an employee.
their career plan. And it is “natural to ask for an
update on competencies when a project is finished.”
One employee sees the skills manager in terms of
intellectual capital: “[We can] say that we have that
many man-months with C++ competence, or Java,
and we see that there is an increase in this compe-
tence, and then we can evaluate that.” And by stating
what they want to learn about in the future, people
can develop their competence by working on rele-
vant projects.
IMPLICATIONS
The study shows how a skills manager tool can be
practically utilized in a variety of usages. Some
implications of the findings include:
• The design and user interface of the tool is sim-
ple and flexible, as a Web-based system with
update requests on the intranet. It invites the
people with the knowledge and the needs to sug-
gest topics and contents to be rated. This leads to
appropriate levels of detail in the competency
areas. The topics should not be too detailed, and
not too general.
• A broader span of usage functionality spurs util-
ity. An important factor here is that the tool is
advantageous at the individual level (employees
get recognition for their skills, and sell themselves
for future project assignments), at the project
level (resource allocation), and at the process level
(strategic management of core competencies).
• The double individual/company utility of the
tool represents a wide scope of applicability, and
is apparent to users. This motivates them to
update skills information regularly. Updating is a
common challenge for KM systems.
• The tool is not designed for employees to get
direct access to all relevant information on differ-
ent topics. The skills manager is in tune with the
personalization school of KM, which seeks to
connect people and problems, tasks, and occa-
sions. This strategy enables sharing of more sub-
tle forms of knowledge, for example tacit
knowledge.
• The tight integration of the tool with the daily,
practical project work for most of the roles in the
company ensures its use, usefulness, and success.
CONCLUSION
When we began our process of interviewing people
at Computas about how they were using the skills
management tool component of the company’s KM
system, we expected the tool to be used for resource
allocation and for short-term problem solving. We
found that the tool use in problem solving also has
a long-term effect in letting employees know who to
ask next time. Further, the skills management tool is
used for identifying new project opportunities and
to support skills upgrading. The tool supports learn-
ing practices and motivates use at both an individual
and company (projects and processes) level. This
double capability enables integration and knowledge
exchanges both vertically (between organizational
levels) and horizontally (between individuals and
projects). The skills manager thus supports processes
that drive organizational learning—an increasingly
recognized factor for competitive advantage.
Some employees are critical of how people evaluate
their skills, others questioned the level of detail on the
available skills, and yet others felt that information on
more soft skills was lacking. Overall, we determined
the usage of the tool is very much implanted in the
daily work of the organization, and supports a multi-
tude of functions.
References
1. Aurum, A., Jeffery, R., Wohlin, C., and Handzic, M.
Managing Soft-
ware Engineering Knowledge
. Springer Verlag, Berlin, 2003.
2. Becerra-Fernandez, I. The role of artificial intelligence technologies in
the implementation of people-finder knowledge management systems.
Knowledge-Based Systems 5
, 13 (2000), 315–320.
3. Coll, G.J., Carlsen, S., and Mæhle, A. Activity-centred knowledge sup-
port. In
Living Knowledge: The Dynamics of Professional Service Wor
k.
A. Carlsen, R. Klev, and G. von Krogh, Eds. Palgrave Macmillan,
Houndmills, 2004.
4. Desouza, K.C. Barriers to effective use of knowledge management in
software engineering.
Commun. ACM 46
, 1 (Jan. 2003).
5. Dierkes, M., Berthoin, A., Child, J., and Nonaka, I.
Handbook of Orga-
nizational Learning and Knowledge
. Oxford University Press, 2001.
6. Dingsøyr, T. Knowledge management in medium-sized software con-
sulting companies. Doctoral thesis, Department of Computer and
Information Science, Norwegian University of Science and Technol-
ogy, Trondheim, 2002.
7. Dingsøyr, T. and Røyrvik, E. Skills management as knowledge tech-
nology in a software consultancy company. In
Proceedings of the Learn-
ing Software Organizations Workshop, Lecture Notes in Computer
Science
,
2176
, K.-D. Althoff, R.L. Feldmann, and W. Müller, Eds.
Springer Verlag, Berlin, 2001, 96–107.
8. Hansen, M., Nohria, N., and Tierney, T. What is your strategy for
managing knowledge?
Harvard Business Review 2
, 77 (1999), 106–116.
9. Kankanhalli, A., Tanudidjaja, F., Sutanto, J., and and Tan, B. The role
of IT in successful knowledge management initiatives.
Commun. ACM
46
, 9 (Sept. 2003).
10. Lindvall, M. and Rus, I. Knowledge management in software engi-
neering.
IEEE Software 3
, 19 (2002), 26–38.
11. Maybury, R.M. Awareness of organizational expertise.
International
Journal of Human-Computer Interaction 2
, 14 (2002), 199–217.
12. Wiig, K.M.
Knowledge Management Methods
. Schema Press, 1995.
Torgeir Dingsøyr (torgeir.dingsoyr@sintef.no) is a research
scientist with SINTEF Information and Communication Technology
in Trondheim, Norway.
Hans Karim Djarraya (hkd@computas.com) is a principal
engineer with Computas in Oslo, Norway.
Emil Røyrvik (emil.royrvik@sintef.no) is a research scientist with
SINTEF Technology and Society in Trondheim, Norway.
© 2005 ACM 0001-0782/05/1200 $5.00
c
100 December 2005/Vol. 48, No. 12 COMMUNICATIONS OF THE ACM
... 15 The former is reflected in the technocratic knowledge management studies that emphasize the importance of institutionalized knowledge and codified experiences. [55][56][57] The latter are studies on behavioral knowledge management that focus on the importance of interactions between people and networking. 9,55,58-60 However, relying only on technocratic strategies is insufficient in large-scale software development projects because documentation gets outdated fast. ...
Article
Full-text available
High-quality work is said to depend on team abilities. However, teams working in large-scale projects often do not have all expertise to complete their tasks, which are also highly interdependent. Therefore, teams need to rely on coordination with other teams, experts, and supporting roles. In this paper, we explore teams' coordination needs and evaluate the impact of the satisfaction of these needs on team performance. We conducted an embedded multicase study with nine teams in two projects in two companies. We collected qualitative data through nine focus groups and 19 interviews and quantitative data using a questionnaire with 49 members from the studied teams. Our results suggest that project-, team-, and task-related characteristics impact teams' coordination needs. Even in the same project, teams may have different expertise and work coordination needs. We found that the satisfaction of these needs seems to influence teams' performance, although our results are inconclusive and yield a closer look in future research. On the basis of our findings, we recommend the companies to cultivate a networking culture and support teams external coordination with other teams and experts, paying attention to their needs, for example, driven by a lack of experience or increased work complexity.
... Bjørnson and Dingsøyr (Bjornson & Dingsoyr, 2008) found only one empirical paper within this school and no papers on lessons learned. In (Dingsoyr, Djarraya, & Royrvik, 2005), Dingsøyr et al. examine a skills management tool at a medium-sized consulting company. They identify four major usages of the tool and point out implications of their findings for future or other existing tools in this category ...
Thesis
Full-text available
The contribution of this thesis is constituted by three main topics: • An approach towards managing knowledge in software development (supporting developers in the whole knowledge management lifecycle) by exploiting social semantic desktop technologies • A semantic-based knowledge management system (KnowBench) that assists software developers in their daily work. KnowBench is constituted by the following parts: o Manual and semi-automatic semantic annotation o Knowledge base editing o Meta-data sharing using P2P services o Semantic search o Software Development semantic Wiki (DevWiki) o Knowledge base graph-based browsing 24 Semantic Knowledge Management in Software Development • KnowBench’s summative evaluation by applying the Goal-Question-Metric (GQM) method on the collected feedback for the calculation of the evaluation goals in four organizations (INTRASOFT, LIPSZ, THALES, TXT)
... 15 The former is reflected in the technocratic knowledge management studies that emphasize the importance of institutionalized knowledge and codified experiences. [55][56][57] The latter are studies on behavioral knowledge management that focus on the importance of interactions between people and networking. 9,55,[58][59][60] However, relying only on technocratic strategies is insufficient in large-scale software development projects because documentation gets outdated fast. ...
Article
Full-text available
Developers work together during software development and maintenance to resolve issues and implement features in large software projects. The structure of their development collaboration activity may have impact on the quality of the final product in terms of higher number of defects. In this paper, we aim to understand the effect of collaboration on the defect proneness software. We model the collaboration of developers as an undirected network. We extract the centrality of the developers from the collaboration network using different measures that quantifies the importance of the nodes. We analyze the defect inducing and fixing data of the developers in two large software projects. Our findings in this study can be summarized as follows: (a) Centrality and source code change activity of developers in the collaboration network may change their defect induction rates i.e. the defect proneness of their change sets, (b) Contrary to the common perception, more experienced people have relatively higher defect induction rates.
Conference Paper
Software is important for our day-to-day lives and its impact is rising constantly. The quality of the developed software is straightforwardly dependent on the quality of the development process, researchers and practitioners primarily focus on improvement of the software process. Software Process Improvement (SPI) is a systematic and well-organized approach for development of the capabilities of software organizations and it is done through the evaluation of the existing practices of the organization and development of the software processes based on the competencies and experiences of the practitioners of the organization. There are a number of studies that focus on the practical use of KM in SPI. In this research work it has been explored though multicase analysis how KM can be significant and supports SPI.
Chapter
So far, results from three distinct but interconnected research phases of this study have been presented. This chapter briefly reiterates the purpose of this study and integrates the distinct phases’ findings into one coherent picture with regard to the relations between team cognition and the application of collaborative quality assurance techniques in ISD teams. Subsequently, contributions to theory and managerial implications of this study are discussed in the light of prior and possibilities for future research. This chapter concludes by pointing out the limitations of this study.
Chapter
This chapter outlines and discusses the research strategy underlying this study. First, critical realism is introduced and put forward as the central epistemological and ontological stance of this study. Subsequently, this study’s sequential mixed-methods research strategy is delineated from traditional positivist quantitative and interpretive qualitative approaches. This strategy encompasses a sequence of research activities ranging from an initial exploration followed by four in-depth case studies in ISD teams to a questionnaire-based survey of more than 600 participants. In their sequence, these distinct activities mesh to provide answers to this study’s research questions: (1) the phase of initial exploration first serves to elicit the functional affordances of collaborative quality assurance techniques. It shows that there is a bounded set of functional affordances of these techniques, but not all teams perceive the same subset of affordances. In fact, this phase finds hints toward the influence of team cognition on the perception of functional affordances of collaborative quality assurance techniques in teams. (2) The phase of in-depth case studies serves to provide an explanation why teams differ in the subsets of affordances they perceive. It finds that their transactive memory restricts them in the application of collaborative quality assurance techniques. Moreover, this phase serves to find and explain the emergent effects of collaborative quality assurance techniques on a team’s transactive memory. (3) The questionnaire-based survey serves to corroborate this explanation and tests the economically relevant consequences implied by the explanation. In the following, the single research steps are discussed with respect to their internal consistency, rigor, and validity. Lastly, this section also examines the validity of the integrated research design.
Chapter
This chapter presents the findings from the three empirical investigations conducted in this study. An initial exploration yields insights into the structure of collaborative quality assurance techniques and shows that different teams use the same techniques for distinct tasks and towards various ends. That is, on a task level, the techniques provide distinct functional affordances to different teams. Subsequently, an in-depth analysis of four ISD teams and their collaborative quality assurance practices provides a detailed understanding why different teams perceive distinct functional affordances. Qualitative differences in teams’ transactive memory systems can be seen as a major driver of these perceptions. The in-depth case studies also yield insights into the emergent effects of continuously applying collaborative quality assurance techniques on a team level. While pair programming fosters knowledge transfer and creates redundant knowledge in a team, peer code review fosters the task-based retrieval and application of specialist knowledge by supporting transactive memory processes. A questionnaire-based survey of 81 ISD teams with more than 600 individual respondents corroborates these findings and relates them to software quality as an outcome variable. Results show that frequent and team-wide peer code review can partially substitute for extensive transactive memory structures in producing high-quality software. In teams with distant personal relationships, pair programming can help team members build the common ground to access one another’s expertise while teams with already close relationships can harm their transactive memory with too much pair programming. Peer code review helps directly improve software quality and reduces the dependence of software quality on existing transactive memory structures.
Chapter
In the following, this chapter provides the conceptual and theoretical foundations to investigate how team cognition affects the application of collaborative quality assurance techniques in ISD teams and how continued use of collaborative quality assurance techniques affects team cognition and team performance in turn. In a first step, core concepts of the investigation are defined. Subsequently, analyses of extant research on collaborative quality assurance techniques and team cognition in ISD teams are conducted. Based on these analyses, the theoretical lenses are selected that constitute the basis for the further investigations, namely the theory of transactive memory systems and the concept of functional affordances.
Article
Full-text available
Software organizations' main assets are not plants, buildings, or expensive machines. A software organization's main asset is its intellectual capital, as it is in sectors such asconsulting, law, investment banking, and advertising. The major problem with intellectual capital is that it has legs and walks home every day. At the same rate experience walks out the door, inexperience walks in the door. Whether or not many software organizations admit it, they face the challenge ofsustaining the level of competence needed to win contracts and fulfill undertakings.
Conference Paper
Full-text available
This paper presents a skills management system in a medium-sized software consulting company, and how it is used. We found four different types of usage: Searching for competence to solve problems, allocating resources, finding areas for new projects, and to develop competence. Most people in the company seem to regard this tool as useful, both for themselves, and for the company as a whole.
Article
Full-text available
The role of information technology (IT) in knowledge management (KM) initiatives is discussed. There are two basic approaches to KM for which IT can provide support includes codification and personaliztion. With the codification approach, more explicit and structured knowledge is codified and stored in knowledge bases. The main role of IT is to help people share knowledge through common storage so as to achieve economic reuse of knowledge. Depending on whether organizations are product-based or service-based, and whether they operate in a high- or-low voltality context organizations are found to have distinct patterns in their approaches to KM.
Article
Full-text available
This article describes automated tools for increasing organizational awareness within a global enterprise. The MITRE Corporation is the context for this work; however, the tools and techniques are general and should apply to a wide variety of distributed, heterogeneous organizations. These tools provide awareness of team members and materials in virtual collaboration environments as well as support for automated discovery of distributed experts. The results are embodied in 3 systems: MITRE's Collaborative Virtual Workspace (CVW), Expert Finder, and XpertNet. CVW is a place-based collaboration environment that enables team members to find one another and work together. Expert Finder is an expert skill finder that exploits the intellectual products created within an organization to support automated expertise identification. XpertNet addresses the problem of detecting extant or emerging classes of expertise without a priori knowledge of their existence. Both Expert Finder and XpertNet combine to detect and track experts and expert communities within a complex work environment. After describing the background of knowledge management at MITRE, this article describes the architecture and use of collaboration and expert finder systems to enhance organizational awareness, provides some principles of expertise, and concludes with an outline of future research directions.
Article
In an era of far-reaching changes, issues of Organizational Learning are high on the agenda of social scientists, managers and consultants worldwide as they seek to adapt to new environments. The Handbook of Organizational Learning and Knowledge provides a comprehensive overview of how the concept of Organizational Learning emerged, how it has been used and debated, and where it may be going. It summarizes the state of the art and provides a full account of the diverse approaches, themes, issues, and debates of the field. The handbook unites a distinguished team of international authors, who examine both the central themes and emerging issues. The coverage extends beyond the American tradition to include the experiences of Europe, Asia and the Middle East. The book opens with chapters drawing insights from various social science approaches. The following Sections examine fundamental issues concerning the external triggers, factors and conditions, agents, and processes of Organizational Learning. Subsequent chapters review the subject within a global context, looking in particular at inter-organizational collaboration. The next sections examine the development of learning practices and provides case studies to illustrate Organizational Learning and knowledge creation. The book concludes with an analysis of the state of the art and an agenda for the future. This handbook will be an invaluable reference tool for scholars and students in the social sciences, as well as for professionals involved in organizational development, learning, and change.
Article
Is knowledge management one of those hyped concepts that rise quickly, ambitiously claims to cure organizational headaches and then fails and falls quietly? Or is it an instrument that will really help organizations address some of the problems they face while trying to achieve their business objectives? In particular, is knowledge management valuable to software development organizations? What kind of problems can KM help address and solve? What kind of solutions does KM propose to these problems? How can a KM system for a software organization be implemented? What are the challenges? What are the success factors? This report addresses the above questions and attempts to provide answers that resulted from an extensive research of the state-of-the-art and state-of-the-practice of this subject.
Book
Software development is a complex problem-solving activity with a high level of uncertainty. There are many technical challenges concerning scheduling, cost estimation, reliability, performance, etc, which are further aggravated by weaknesses such as changing requirements, team dynamics, and high staff turnover. Thus the management of knowledge and experience is a key means of systematic software development and process improvement. "Managing Software Engineering Knowledge" illustrates several theoretical examples of this vision and solutions applied to industrial practice. It is structured in four parts addressing the motives for knowledge management, the concepts and models used in knowledge management for software engineering, their application to software engineering, and practical guidelines for managing software engineering knowledge. This book provides a comprehensive overview of the state of the art and best practice in knowledge management applied to software engineering. While researchers and graduate students will benefit from the interdisciplinary approach leading to basic frameworks and methodologies, professional software developers and project managers will also profit from industrial experience reports and practical guidelines.
Article
The development of knowledge management systems (KMS) demands that knowledge be obtained, shared and regulated by individuals and knowledge-sharing organizational systems, such as knowledge repositories. People-Finder systems, a type of knowledge repository, attempt to manage knowledge by pointing to experts possessing specific knowledge within an organization. Details about such systems implemented at several organizations such as Hewlett–Packard, National Security Agency and Microsoft are presented. Insights, challenges and future development plans gained through the development of a People-Finder are discussed. Finally, concluding remarks about the role of artificial intelligence in the development of People-Finder KMS and automating the process of profile maintenance are discussed.