[Publicações] Seknow - A Tool for Automation of Knowledge Management Diagnostics in Software Development Companies

A Tool for Automation of Knowledge Management Diagnostics in Software Development Companies

Vinicius dos Santos¹, João Gabriel Salgado², Érica Ferreira Souza³
Katia Romero Felizardo ², Nandamudi Lankalapalli Vijaykumar ³

¹ Institute of Mathematical and Computational Sciences (ICMC)
University of São Paulo (USP)
São Carlos, SP – Brazil

² Department of Computer, Federal Technological University of Paraná (UTFPR)
Cornélio Procópio, PR – Brazil

³ Laboratory of Computing and Applied Mathematics
National Institute for Space Research (INPE)
Institute of Science Technology Federal University of S˜ao Paulo (UNIFESP)
São José dos Campos, SP – Brazil

vinicius.dos.santos@usp.br,jgs1884@gmail.com, ericasouza@utfpr.edu.br
katiascannavino@utfpr.edu.br, vijay.nl@inpe.br

Abstract: Knowledge Management (KM) is responsible for using the intellectual resources of an organization. KM principles are both determining and effective factors for the software product quality. Several KM process have been proposed in the literature. However, for a KM initiative to be successful, it is important to consider the current state of KM activities in a company. In this context, the objective of this work is to measure KM activities in software engineering companies by means of a tool that automates the process of KM diagnosis. This paper presents the \underline{S}oftware \underline{E}ngineering \underline{KNOW}ledge management diagnosis (SEKNOW) tool, its main functionalities, the potential users profile and examples of use. In addition, we show how the architecture was implemented in order to make the tool extensible to multiple diagnostics and how the companies can employ the tool to fetch data to their systems. Finally, we present similar tools and compare their functionalities.

1. Introduction

Knowledge Management (KM) is responsible for using the intellectual resources of an organization. The purpose of KM is to acquire, organize and share the knowledge in the company, enabling all of its members to make their work more effective and productive. The main goal of KM is to make organizational knowledge accessible, promoting the emergence of new knowledge [O'leary and Studer 2001].  KM principles assume that knowledge is present in organization in both tacit and explicit assets. Tacit knowledge refers to intangible factors in people's minds, such as: experiences, aptitudes, intuitions, values and beliefs. On the other hand, the explicit knowledge are information that can be more easily documented, replicated and accessed  [Nonaka and Takeuchi 1995].    

In relation to software engineering companies, KM initiatives have been implemented in order to promote tacit and explicit assets, such as the reuse of experience in order to improve the processes and products related to software development, as well as solutions and problems of traceability, document management, software reuse, support for project memories and the learning core [Bjørnson and Dingsøyr 2008].  Several benefits and needs to apply KM in Software Engineering have been reported in several studies over the years [Bjørnson and Dingsøyr 2008], [Souza et al. 2015], [Vasanthapriyan et al. 2015],
[Carreteiro et al. 2016], [Andriyani et al. 2017], [Maciel et al. 2018b].

Several different approaches to promote KM initiatives can be found in the literature, as processes or models [Dalkir 2005]. However, applying KM without first looking at the company's current state may require high and often ineffective investments in the identification and sharing of knowledge that are in fact relevant [Bukowitz and Williams 2000]. One should employ diagnostics to determine areas really needing improvement or that are most cost-effective for a company in terms of KM [Bukowitz and Williams 2000]. Such diagnostics on knowledge will help the company to determine which knowledge is being managed and how well it is being managed. It turns out to be an effective process to monitor the performance of KM practices in an organization [Nejati 2010].

In 2018, a Systematic Literature Review (SLR) conducted by Maciel et al. [Maciel et al. 2018a], presented that diagnostics on KM is an effective process to monitor the performance of KM practices, however, in the software engineering context such practice does not yet appear to be well consolidated. Furthermore, there are no specific tools to automate the process of applying the diagnostics in software engineering. In this context, in this paper we present the Software Engineering KNOWledge management diagnostics (SEKNOW), a tool that allows to measure the KM activities in software engineering companies through different processes of KM diagnostics.   

This paper is organized as follows. Section 2 describes SEKNOW architecture and its main functionalities. Section 3 presents  the potential users. Section 4 presents aspects related to the SEKNOW usability. Section 5 presents similar tools in the literature. Section 6 presents the conclusions and future directions. 

2. Architectures and Main Funcionalities

The technology used was a REST API using Java language with Spring framework. Figure 2 shows the architecture and how REST server interacts with multiple front-end applications and other systems.

The server provides data in JSON format that can be consumed by any programming language that is capable of executing REST requests.

Currently, diagnostics from Bukowitz and Williams [Bukowitz and Williams 2000] is available in the SEKNOW tool. Diagnostics from Bukowitz and Williams is considered one of the most complete, since it allows to measure the several KM activities in a company: obtaining, learning, contributing, using, maintaining and discarding knowledge [Maciel 2019]. However, the tool has been structured to allow new diagnostic processes to be easily incorporated into the tool. This implementation can be used as a template by developers who wish to create their own diagnostic application. The main tool functionalities include:

  • Allows users with manager profiles to send invitations to other employees to use the tool.
  • Allows that using the invitation, the user can make her/his registration and automatically be linked to the company.
  • Allows the manager to initiate, cancel or terminate a diagnostics.
  • Allows all active users to respond to the diagnostics until terminated. After completion, the diagnostics score is calculated.
  • Allows the users to access a report with their own answers. The report provides an overview about the calculated diagnostics score.
  • Allows a manager to access reports based on different filters. The filters are: per profession, period and time of the employee's experience.
  • Allows the existence of users with a research profile. Users with such profile can have access to compare diagnostics results of all companies. These reports have filters per company, software development process model, career, period, and employee experience time. However, when using the research profile it is not possible to access employee names and company names. This data is encrypted to preserve the data confidentiality entered in the database.

The source code and the environment configuration manual for using the tool are available for download. Once the company has access to the tool source code, the existing functionalities can be customized, as well as include new functionalities or other KM diagnostics.

Source code: https://bit.ly/2Y8CoiF  
Demo video: https://bit.ly/2SubYCZ

3. Potential users

SEKNOW has three types of users with different permissions: employee, manager and researchers: (i) This user can only respond to diagnostic questionnaires and have access to the report that shows his/her own answers; (ii) The company manager can register the company that will be diagnosed and invites the employees to answer the questionnaires. The manager can view the responses of their employees and access the reports of the company. In the reports the manager has access to the KM score obtained by the company and a summary of the data extracted; and (iii) The last type of user is researcher. This profile has access to the answers of all companies and all data collected in companies.  

4. Usage

After the user's registration, the main system screen displays all KM diagnostics available in the SEKNOW (Figure 2). When choosing a diagnostic, the user is taken to the screen that presents the opted diagnostics.

The manager has the possibility to consult the responses of his/her employees through the interface shown in Figure 3.

5. Similar Tools

According to [Esteves 2017], there are a limited number of references on specific tools to conduct KM diagnostics in software industry. In addition, in the SLR conducted by  [Maciel et al. 2018a] only two studies mention the use of tools to automate the process of applying the KM diagnostics. 

The System of Organization Knowledge Assessment (SysOKA) [Alves et al. 2009] is a tool created based on OKA method. This method was conceived in the 1990s by the World Bank in the United States and it was applied in federal public administration environment, but can also be applied in private institutions. The software works on the desktop platform and has the following functionalities: registration of the organization and of the employees; collection of answers; export and import responses; report of activities evaluated by the model.

AutOKA tool [Carvalho 2013] is also based on the OKA process and its focus is public administration organizations. It is used in web platform and its main functionalities are: filling in the questionnaire determined by the OKA process; report of all questions answered and the answers. 

Another tool related is KMAT, a collaborative benchmark tool, designed to help organizations make an initial high-level assessment about KM [De Jager 1999].  KMAT presents a questionnaire composed of five sections of evaluation: leadership (to verify if KM is compatible with how the organization is managed); technology (how the organization facilitates communication among individuals in collecting, storing, and sharing knowledge); culture (the culture of knowledge sharing is explicit among individuals); measurement (how the organization quantifies its knowledge capital); process (concentrates on activities to create, identify, collect, adapt, organize, apply and share knowledge).

American organization APQC has developed its own diagnostics tool with 33 questions developed to help the organization measure KM in the organization. The diagnostics focus on policies, programs and infrastructure, cultural attitudes that can make the organization more or less receptive to initiatives for knowledge sharing. The tool is available in a Microsoft Excel template and can only be accessed by affiliates of this organization. 

6. Conclusion

This paper introduces version 1.0 of SEKNOW, a tool for KM diagnostics in software companies. The main contrbutions of this tool in relation to those already presented in the literature are that SEKOW allows several diagnostics available in the literature to be incorporated into its environment, allows control of different user profiles, enables an area for academic research with focus in software engineering companies. As future work, we intend to implement other KM diagnostics in the SEKNOW tool as well as conduct experimental studies in software development companies.

7. License

The software proposed is under Apache License 2.0 license. This license allows such software to be used in any project, provided the terms and conditions contained in its text are obeyed. It allows the use and distribution of source code in both free and proprietary software. However, it requires the inclusion of the copyright notice and the disclaimer (informs the rights of the reader and the responsibilities assumed and not assumed by the author) in the product.

8. Acknowlegements

This study was partially financed by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brazil (CAPES) and it had support received from CNPq (universal project 432247/2018-1), Brazil.


Alves,W. S. et al. (2009). Instrumento de avaliação da satisfação de usuários de produtos de software. PhD thesis, Universidade Cat´olica de Brasília. 

Andriyani, Y., Hoda, R., and Amor, R. (2017). Understanding knowledge management in agile software development practice. In International Conference on Knowledge Science, Engineering and Management (KSEM), pages 195–207.

Bjørnson, F. O. and Dingsøyr, T. (2008). Knowledge management in software engineering:
A systematic review of studied concepts, findings and research methods used. Information and Software Technology, 50:1055–1068.

Bukowitz, W. and Williams, R. L. (2000). The knowledge management fieldbook. Financial
Times Prentice Hall, Great Britain. 

Carreteiro, P., de Vasconcelos, J. B., Bara˜o, A., and Rocha, A´ . (2016). A knowledge management approach for software engineering projects development. In New advances in information systems and technologies, pages 59–68. Springer.

Carvalho, A. P. (2013). Autoka: uma proposta de ferramenta automatizada para diagnóstico de gestão do conhecimento em processos de software. PhD thesis, Faculdade de Brasília.

Dalkir, K. (2005). Knowledge Management in Theory and Practice. Elsevier, Burlington, MA.
De Jager, M. (1999). The KMAT: benchmarking knowledge management. Library management, 20(7):367–372.

Esteves, S. (2017). Requisitos de software funcionais para o desenvolvimento de plataforma digital de diagnóstigo da gest˜ao do conhecimento nas organizações. Master’s
thesis, UniCesumar, Maringá, Paraná, Brazil.

Maciel, C. P. C. (2019). Diagnóstico de gestão do conhecimento em empresas de desenvolvimento de software. Master’s thesis, Universidade Tecnológica Federal do Paraná, Cornélio Procópio, Paraná, Brazil.

Maciel, C. P. C., Souza, E. F., Falbo, R. A., Felizardo, K. R., , and Vijaykumar, N. L.
(2018a). Knowledge management diagnostics in software development organizations.
In 17th Brazilian Symposium on Software Quality (SBQS), pages 141–150.

Maciel, C. P. C., Souza, E. F., Vijaykumar, N. L., Falbo, R. A., Meinerz, G. V., and
Felizardo, K. R. (2018b). An empirical study on the knowledge management practice
in software testing. In Experimental Software Engineering Latin American Workshop
(ESELAW’18). XXI Ibero-American Conference on Software Engineering (CIBSE).

Nejati, M. (2010). Knowledge management performance evaluation: Challenges and
requirements for organizations. Technics Techn. Education Management, 5:251–254.
Nonaka, I. and Takeuchi, H. (1995). The knowledge-creating company: How Japanese
companies create the dynamics of innovation. Oxford university press.

O’Leary, D. E. and Studer, R. (2001). Knowledge management: An interdisciplinary
approach. IEEE intelligent systems, 16(1):24–25.

Souza, E. F., Falbo, R. A., and Vijaykumar, N. L. (2015). Knowledge management initiatives
in software testing: A mapping study. Information and Software Technology,

Vasanthapriyan, S., Tian, J., and Xiang, J. (2015). A survey on knowledge management
in software engineering. In International Conference on Software Quality, Reliability
and Security Companion (QRS-C), pages 237–244, Vancouver, BC, Canada.

[Publicações] Seknow - A Tool for Automation of Knowledge Management Diagnostics in Software Development Companies [Publicações] Seknow - A Tool for Automation of Knowledge Management Diagnostics in Software Development Companies Reviewed by Vinicius dos Santos on 11:03:00 Rating: 5

Nenhum comentário

Escreva aí sua opinião!