Research and Advances
Computing Applications

Practical Knowledge Management Tool use in a Software Consulting Company

Assessing the contribution of a technical skills management tool for supporting organizational learning.
  1. Introduction
  2. The Skills Manager Tool
  3. A Variety of Usages
  4. Implications
  5. Conclusion
  6. References
  7. Authors
  8. Figures

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.

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 knowledge, or you count on communication between people 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 sometimes referred to as expert directories, people-finder systems, or company-internal yellow pages.

We can divide skills in two broad groups: technical skills, which include knowledge about technology 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 software 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 management. Here, our focus is on technical skills.

There are many software tools for managing skills. For example, companies that offer jobs on the Internet 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 satisfy needs other than the expected use in resource allocation? 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 company can be found in [3] and [6].

Back to Top

The Skills Manager Tool

The skills manager is a part of the intranet at Computas, 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 competencies of the company. When a particular skill is selected, users can find which of seven skill levels people have, from “expert” to “irrelevant.” In addition to indicating their skill level, people also indicate 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.

Back to Top

A Variety of Usages

When we think of usage of skills management tools, we typically think of resource allocation and searching 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 potential 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 anyone 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 expertise 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 indicating 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 topics 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 solution—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 company 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 subject 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 information from.”

Finding projects and external 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; combining 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 company is “taking its own medicine.”

Skills upgrading. At Computas, people are allocated 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 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 competence, 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 relevant projects.

Back to Top


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 simple and flexible, as a Web-based system with update requests on the intranet. It invites the people with the knowledge and the needs to suggest 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 utility. 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 different topics. The skills manager is in tune with the personalization school of KM, which seeks to connect people and problems, tasks, and occasions. This strategy enables sharing of more subtle 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.

Back to Top


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 learning 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 multitude of functions.

Back to Top

Back to Top

Back to Top


UF1 Figure. The skills manager tool, showing employee skill levels in “Testing and testing techniques” and current and desired skill levels for an employee.

Back to top

    1. Aurum, A., Jeffery, R., Wohlin, C., and Handzic, M. Managing Software 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 support. In Living Knowledge: The Dynamics of Professional Service Work. 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 Organizational Learning and Knowledge. Oxford University Press, 2001.

    6. Dingsøyr, T. Knowledge management in medium-sized software consulting companies. Doctoral thesis, Department of Computer and Information Science, Norwegian University of Science and Technology, Trondheim, 2002.

    7. Dingsøyr, T. and Røyrvik, E. Skills management as knowledge technology in a software consultancy company. In Proceedings of the Learning 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 engineering. 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.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More