AN ACQUISITION KNOWLEDGE PROCESS FOR SOFTWARE
DEVELOPMENT
Knowledge Acquisition for a Software Process Implementation Environment
Sandro Ronaldo Bezerra Oliveira
Centro de Ciências Exatas e Tecnologia – Universidade da Amazônia (UNAMA)
Av. Alcindo Cacela, 287, 66060-902 – Belém – PA – Brasil
Alexandre Marcos Lins de Vasconcelos, Albérico Lima de Pena Júnior, Lúcio Câmara e Silva
Centro de Informática – Universidade Federal de Pernambuco (UFPE)
Caixa Postal 7851 – 50732-970 – Recife – PE – Brasil
Keywords: Knowledge Acquisition, Process, Tool,
Software Development Environment.
Abstract: Knowledge must be managed efficiently through the capture, maintenance and dissemination of it in an
organization. However, knowledge related to business processes execution is distributed in documents,
corporative systems and in key-members minds making the access, preservation and distribution of this
knowledge to other members more difficult. In this context, systematic knowledge acquisition processes are
necessary to acquire and preserve organizational knowledge. This work presents a process to acquire tacit
and explicit organization members’ knowledge related to business processes, and the functionalities of a
tool developed to support the execution of this process in a software development context. This tool is part
of a software process implementation environment, called ImPProS, developed at CIn/UFPE – Center of
Informatics/Federal University of Pernambuco.
1 INTRODUCTION
The knowledge management promotes the
intellectual capital through the support of the
organizational learning and the maintenance of an
organizational memory. In this way, the organization
acquires abilities to continuously learn about the
activities of business processes, besides increasing
the knowledge about the customers, technologies
and performance areas (Souza, 2003). Organizations
that develop software, for example, have highly
dynamic business processes, use many technologies
and the staff change is often high. Thus, it is very
important to manage in an adequate way the
knowledge that the members of these organizations
have, as well as the knowledge on the technologies
used for the accomplishment of the software
development activities. In this way, it is possible to
improve the processes execution, besides preserving
the knowledge when the members leave the
organization (Truex, 1999).
The software development process activities are
dy
namic (i.e., many problems appear during the
execution of activities and project decisions must be
taken constantly) (Balduino, 2002). The knowledge
acquisition used by executants during the
development process allows that the organization
understands its processes better. However, it is
difficult of being carried through, since the
developers have difficulties to manage the
knowledge due to little or no dedicated time to
analyse the problems that happened and on the
decisions taken during the accomplishment of the
process activities. Thus, the knowledge acquisition
process must be integrated to the software
development process to reduce the impact in the
normal work routine and the effort of knowledge
registering. To support this process, an infrastructure
of knowledge acquisition must be developed
allowing that many knowledge types are captured
from multiple sources (Montoni, 2003).
Thus, the definition of a new software process
im
plementation environment was considered, called
253
Ronaldo Bezerra Oliveira S., Marcos Lins de Vasconcelos A., Lima de Pena Júnior A. and Câmara e Silva L. (2006).
AN ACQUISITION KNOWLEDGE PROCESS FOR SOFTWARE DEVELOPMENT - Knowledge Acquisition for a Software Process Implementation
Environment.
In Proceedings of the First International Conference on Software and Data Technologies, pages 253-256
DOI: 10.5220/0001319602530256
Copyright
c
SciTePress
ImPProS (Oliveira, 2005). This environment will
make it possible the specification of the processes in
accordance with a specific project domain and the
characteristics of the organization; the instantiation
of the process for projects properties; its simulation
from the configuration parameters (stated period,
pressures, cost, resources, etc.); its execution based
on the organizational process; and its evaluation
through metrics collected about its execution.
However, the identification, contextualization,
acquisition, use and evolution of the knowledge are
not a trivial task in this environment. In order to
support the Knowledge Management during the
software process implementation in ImPProS, we
consider a dynamic model of knowledge
management and its automation by means of a tool.
Besides this introductory section, the paper
presents other four sections. Section 2 describes the
properties that compose the software process
implementation environment. In section 3 the
detailing of the dynamic model of knowledge
acquisition is presented. Finally, section 4 presents
the final considerations of this paper.
2 ImPProS: A SOFTWARE
PROCESS IMPLEMENTATION
ENVIRONMENT
The ImPProS is a project which is being performed
at the Center of Informatic of UFPE – Federal
University of Pernambuco with the partnership of
UNAMA - University of Amazônia, and financed by
CNPq - National Agency for Scientific and
Technological Development. The objective of
ImPProS is the creation of an environment to
support the implementation of a software process in
an organization in a gradual way. The "gradual"
term means that the implementation of the process is
improved with the experiences learned in its
definition, simulation, execution and evaluation. The
ImPProS is composed of a cooperative environment,
formed by nine main tools:
ProDefiner: it provides the definition of
software process from the analysis of specific
characteristics;
ProSimulator: it makes possible the
simulation of a software process instantiated
from an execution plan of the process and
thus allows to foresee problems;
ProEnacter: it allows the automated
execution and monitoring of a software
process by a project team;
ProEvaluator: it provides the evaluation of
software process execution from the analyses
of qualitative and quantitative criteria;
ProImprove: it makes possible the systematic
execution of activities regarding the software
process improvement, based on the IDEAL
model;
ProAnalyser: it allows the analyses and
decision taking concerning the evaluation
items which compose the software process;
ProReuse: it provides the software process
reuse from the definition of project scope and
its adaptation to the use context;
ProKnowledge: it makes possible the
collection, analyses and use of knowledge
learned during the execution of a software
process;
ProConverter: it provides the conversion of
software process components defined for a
process (activities, artefacts, resources, etc.)
from the structures of quality norms/models.
3 A KNOWLEDGE ACQUISITION
MODEL
This section presents the workflow that describe the
acquisition of tacit and explicit knowledge from
organization members related to the business
processes and the tool developed to support the
execution of this process in the software
development, the ProKnowledge. The explicit
knowledge is the one that can easily be expressed
through words and numbers or is represented in the
documents and data repositories. The knowledge
acquired from personal experiences and that is only
in the minds of the people is called tacit (Holz,
2001).
The dynamic model of knowledge acquisition
defined to ImPProS has the purpose of being generic
to make it possible the acquisition of different types
of knowledge in many contexts and business areas,
even so its initial conception has origin in software
processes. This model tends to allow the knowledge
definition used and created during the execution of
business processes in a non-invasive way
minimizing, thus, the shunting line of the normal
workflow the process executants and preventing
delays and imperfections in the execution of its
activities. Besides supporting the knowledge
acquisition, the model also supports the filtering of
the knowledge guarantee that only useful knowledge
for the organization are kept in the organizational
ICSOFT 2006 - INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES
254
knowledge repository. The knowledge revision is
also part of the dynamic model of acquisition to
adjust the content and the format of the knowledge
facilitating its use in different contexts.
The dynamic model considered in this work will
be presented by means of workflow. The workflow
represents a sequence of activities that are executed
to produce a value result for some business actors.
The flow uses the primitives presented in Figure 1.
Figure 1: Wokflow Primitives.
A description of the activities, which supply
functional support to the knowledge management,
defined in the workflow is presented. These
activities are characterized as macro-activities in
order to group tasks in accordance with its vision of
use. Figure 2 illustrates the main flow of these
macro-activities and the dependence between them.
a) Keeping Knowledge: this activity aims to
acquire from specialists in a process, explicit
knowledge about description of the process activities
and tacit knowledge used in the taking of decisions
about the process activities. The knowledge
acquisition can be carried through at two different
moments: acquisition independent of the process
execution, and; acquisition during the process
execution. All the acquired knowledge is stored in
an intermediate base to be evaluated by a knowledge
evaluation committee. Initially the user defines the
context in which the knowledge will be managed
(i.e. the application area of the knowledge, for
example: Software Processes); later the user needs to
define keywords that will allow the indexation and
retrieval of the knowledge. Finally, the next step is
the identification the type of knowledge that he/she
desires to register (for example: Learned lesson,
Idea, Doubt, etc.), supplying information referring
the type of identified knowledge and registering the
knowledge item.
b) Packing Knowledge: the goal of this activity
is to adapt the content of evaluated knowledge the
intermediate base and to transform the format of
acquisition of this knowledge into a format adjusted
for its transference. This activity indexes the
knowledge in the repository of organization to be
recouped during the process execution by members.
c) Filtering Knowledge: this activity aims to
verify adequacy the format of representation and the
content of knowledge items registered in the
intermediate base (i.e. in this activity, it is verified
whether the knowledge items have value and if they
can be reused). Initially knowledge items are
attributed to the evaluation committee members in
order to evaluate knowledge items; therefore these
members are notified; each member of the
evaluation committee must elaborate a point of view
of its evaluation according to defined criteria
(Correctness, Originality and Relevance,
Completeness, Adequacy, Utility, Consistency);
thus, the evaluation committee coordinator analysis
the individual evaluations, defines the consensus and
takes the pertinent decision about the evaluation of
knowledge item (Keeping or Removing it from the
Knowledge Base).
d) Spreading Knowledge: the goal of this
activity is to communicate to the interested public
about the new knowledge item available. The
communication must contain information about the
content of item and its use context.
e) Consulting Knowledge: the purpose of this
activity is making it possible that the interested users
in the knowledge kept in the organization repository
have access and manipulate these information and its
applications. The user has still the possibility to
visualize details of the knowledge consulted.
f) Inserting Additional Commentary: this
activity allows that commentaries of other users
about knowledge can also be visualized and kept.
These commentaries increase the confidence of the
users in the knowledge being consulted due to other
users that had used the knowledge and had gotten
benefits with its use. The commentaries of users
about knowledge can also be useful during the
maintenance of the organization repository to
identify the knowledge stored that really is bringing
benefits for the organization.
AN ACQUISITION KNOWLEDGE PROCESS FOR SOFTWARE DEVELOPMENT - Knowledge Acquisition for a
Software Process Implementation Environment
255
4 FINAL CONSIDERATION AND
FUTURE WORK
This work presented a proposal for knowledge
acquisition independent of the application context of
this knowledge. The proposal consists of acquiring,
filtering and packing tacit and explicit knowledge of
organization members related to the business
processes according to a systematic and controlled
process.
A tool was developed to support the execution of
this process and an application of this tool was
carried through in the software development context.
This tool was integrated to the ImPProS
environment and its support tools.
An experimental study is be planned to be
executed in the context of micro and small
companies which develops software from which one
it will be possible to evaluate the benefits of
knowledge acquisition approach and to identify
improvements to be carried through in this approach.
Currently, the tool was applied in the academic
context, during the development of research projects
by members of the ImPProS group at CIn/UFPE.
REFERENCES
Balduino, R., 2002. Implementação de um processo de
desenvolvimento de software: uma abordagem passo-
a-passo, Rational Software White Paper.
Holz, H., Könnecker, R, Maurer, F., 2001. Task-Specific
Knowledge management in a Process-Centred SEE”,
K.-D. Althoff, Feldmann, and W. Müller (Eds.): LSO
2001, LNCS 2176.
Montoni, M. A., 2003. Aquisição de Conhecimento: Uma
Aplicação no Processo de Desenvolvimento de
Software, Dissertação de Mestrado, COPPE/UFRJ.
Oliveira, S. R. B., Vasconcelos, A. M. L., Rouiller, A. C.,
2005. Uma Proposta de um Ambiente de
Implementação de Processo de Software, Revista
InfoComp – Revista de Ciência da Computação da
UFLA – vol. 4, n. 1, Lavras-MG.
Rocha, A. R. C., Maldonado, J. C. and Weber, K. C.,
2001. Qualidade de software: teoria e prática, São
Paulo: Prentice-Hall.
Souza, G. S., 2003. Representação da Distribuição do
Conhecimento, Habilidades e Experiências através da
Estrutura Organizacional, Tese de Doutorado,
COPPE/UFRJ.
Truex, D. P., Baskerville, R., Klein, H., 1999. Growing
Systems in Emergent Organizations, Communications
of the ACM, v. 42, n. 8 (Aug.), pp. 117-123.
Figure 2: The Knowledge Acquisition Workflow in the ImPProS.
ICSOFT 2006 - INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES
256