Sunteți pe pagina 1din 107

AQUISIÇÃO DE CONHECIMENTO: UMA APLICAÇÃO NO PROCESSO DE

DESENVOLVIMENTO DE SOFTWARE

Mariano Angel Montoni

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS


PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE
FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS
NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS EM
ENGENHARIA DE SISTEMAS E COMPUTAÇÃO.

Aprovada por:

_________________________________________
Profª. Ana Regina Cavalcanti da Rocha, D.Sc.

_________________________________________
Prof. Guilherme Horta Travassos, D.Sc.

_________________________________________
Prof. Jano Moreira de Souza, Ph.D.

_________________________________________
Prof. Aldo von Wangenheim, Dr. rer.nat.

RIO DE JANEIRO, RJ - BRASIL


AGOSTO DE 2003
MONTONI, MARIANO ANGEL
Aquisição de Conhecimento: uma
Aplicação no Processo de Desenvolvimento
de Software [Rio de Janeiro] 2003

IX, 98 p. 29,7 cm (COPPE/UFRJ,


M.Sc., Engenharia de Sistemas e
Computação, 2003)

Tese - Universidade Federal do Rio de


Janeiro, COPPE

1. Gerência de Conhecimento

2. Aquisição de Conhecimento

3. Ambientes de Desenvolvimento de
Software Orientados a Organização

I. COPPE/UFRJ II. Título ( série )

ii
À minha família.

iii
AGRADECIMENTOS

Gostaria de agradecer a Deus pela energia para realização deste trabalho.


A Ana Regina pela paciência e confiança que sempre teve por mim e pelo meu
trabalho.
A Guilherme Travassos pelas críticas sempre construtivas.
A Ana Paula Prata pelo carinho e atenção dedicado desde o primeiro dia de aula.
A Káthia Oliveira por ter sido minha mentora durante meu início de vida
acadêmica e profissional.
A Karina Villela pelo seu apoio desde meu projeto final de graduação.
A Carmen Maidantchik pelos ensinamentos e experiências em gerência de projetos
e mais ainda pelas lições de vida.
A Gleison Santos pelo companheirismo e pelos diversos conselhos dados sem
esperar nada em troca.
A Caty pela sua força e carisma e claro pelo seu delicioso bobó de camarão.
A AnaCog pela sua amizade e vontade de ajudar sempre.
A Daniela Tavares e Sofia Costa que mesmo à distância sempre me deram forças e
nunca me deixaram esquecer o verdadeiro significado da amizade.
A Jonice Oliveira por não ser nada acanhada em nos provocar risadas e pelas suas
incríveis massagens revigorantes.
A Sérgio pela amizade e seus conselhos que tanto me ajudaram.
A Sômulo e Sávio pelas inúmeras dúvidas tiradas em C++ e sobre o modelo do
TABA e pela alegria que sempre transmitem no laboratório do I-2000.
A Viviane e Catia Galotta por agüentarem pacientemente as minhas críticas nas
discussões de projeto.
A David, Rômulo e Diogo pelo companheirismo que sempre demonstraram nos
projetos.
A Ana Paula Wauke pela constante energia positiva na minha vida.
A todos os meus amigos baianos, cariocas, maranhenses, mineiros e paulistas.
A Mariella pelo amor, companheirismo e paciência durante todo o mestrado.
A Mônica que sempre esteve presente pro que der e vier.
E especialmente a Marina (minha Mami) por me incentivar desde o início a buscar
o melhor e ser sempre mais e pelo seu infinito amor.

iv
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para
a obtenção do grau de Mestre em Ciências (M.Sc.)

AQUISIÇÃO DE CONHECIMENTO: UMA APLICAÇÃO NO PROCESSO DE


DESENVOLVIMENTO DE SOFTWARE

Mariano Angel Montoni

Agosto/2003

Orientadores: Ana Regina Cavalcanti da Rocha


Guilherme Horta Travassos

Programa: Engenharia de Sistemas e Computação

As organizações enfrentam constantes mudanças para aumentar o controle,


eficiência e agilidade dos seus processos de negócio. No entanto, essas mudanças muitas
vezes não trazem os resultados esperados devido ao pouco conhecimento da organização
sobre como seus processos de negócio são executados. Portanto, este conhecimento deve
ser gerenciado eficientemente através da captura, manutenção e disseminação do
conhecimento entre os membros da organização. Contudo, o conhecimento relacionado à
execução dos processos de negócio se encontra distribuído na organização em
documentos, sistemas corporativos e nas mentes de membros chaves dificultando o acesso,
preservação e distribuição do conhecimento para outros membros. Neste contexto,
processos sistemáticos de aquisição de conhecimento são fundamentais para adquirir e
preservar o conhecimento organizacional. Este trabalho apresenta um processo de
aquisição de conhecimento tácito e explícito de membros da organização relacionado a
processos de negócio e as funcionalidades de uma ferramenta desenvolvida para apoiar a
execução deste processo no desenvolvimento de software. A transformação de
conhecimento de grupo e individual em conhecimento organizacional facilita a preservação
do conhecimento e a troca de experiências entre os membros da organização e,
conseqüentemente, proporciona maiores vantagens competitivas para a organização através
do aumento da compreensão sobre a execução dos seus processos de negócio.

v
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements
for the degree of Master of Science (M.Sc.)

KNOWLEDGE ACQUISITION: AN APPLICATION IN SOFTWARE


DEVELOPMENT PROCESS

Mariano Angel Montoni

August/2003

Advisors: Ana Regina Cavalcanti da Rocha


Guilherme Horta Travassos

Department: System and Computing Engineering

Organizations face constant changes to increase the control, efficiency and agility of
its business processes. However, most of the results expected from these changes are not
achieved due to the lack of organization knowledge on how its business processes are
executed. Therefore, this knowledge must be managed efficiently through the capture,
maintenance and dissemination of knowledge among organization members. However,
knowledge related to business processes execution is distributed in the organization 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 software development. The
transformation of individual and group knowledge to organizational knowledge facilitates
knowledge preservation and exchange of experiences among organization members, and,
as a result, enhances organization competitive advantages through the increase of business
processes understanding.

vi
ÍNDICE

CAPÍTULO I - INTRODUÇÃO ................................................................................... 1

1.1 MOTIVAÇÃO ............................................................................................................ 1


1.2 OBJETIVOS ............................................................................................................... 2
1.3 METODOLOGIA DO TRABALHO ................................................................................. 3
1.4 ESTRUTURA DO TEXTO ............................................................................................ 4

CAPÍTULO II - GERÊNCIA DE CONHECIMENTO .............................................. 5

2.1 INTRODUÇÃO ........................................................................................................... 5


2.2 DEFINIÇÃO DE CONHECIMENTO ............................................................................... 7
2.3 GERÊNCIA DE CONHECIMENTO ................................................................................ 9
2.4 APRENDIZADO ORGANIZACIONAL ......................................................................... 15
2.5 MEMÓRIA ORGANIZACIONAL ................................................................................ 17
2.5.1 Bases de Conhecimento ................................................................................. 18
2.5.2 Ontologias ..................................................................................................... 19
2.6 CONSIDERAÇÕES FINAIS ........................................................................................ 21

CAPÍTULO III – AQUISIÇÃO DE CONHECIMENTO ........................................ 22

3.1 INTRODUÇÃO ......................................................................................................... 22


3.2 AQUISIÇÃO DE CONHECIMENTO ............................................................................ 23
3.2.1 Aquisição Manual de Conhecimento............................................................. 25
3.2.2 Aquisição Automática de Conhecimento....................................................... 28
3.3 AQUISIÇÃO DE CONHECIMENTO NO DESENVOLVIMENTO DE SOFTWARE ............... 30
3.4 ABORDAGENS PARA AQUISIÇÃO DE CONHECIMENTO NO DESENVOLVIMENTO DE
SOFTWARE ................................................................................................................... 34
3.5 CONSIDERAÇÕES FINAIS ........................................................................................ 35

CAPÍTULO IV – AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE E A


ESTAÇÃO TABA......................................................................................................... 37

4.1 INTRODUÇÃO ......................................................................................................... 37


4.2 AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE .............................................. 38
4.3 A ESTAÇÃO TABA ................................................................................................. 39

vii
4.4 AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE ORIENTADOS A DOMÍNIO ...... 40
4.5 AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE ORIENTADOS A ORGANIZAÇÃO
.................................................................................................................................... 41
4.6 IMPLEMENTAÇÃO ATUAL ...................................................................................... 44
4.7 CONSIDERAÇÕES FINAIS ........................................................................................ 46

CAPÍTULO V – AQUISIÇÃO DE CONHECIMENTO NO


DESENVOLVIMENTO DE SOFTWARE ................................................................ 47

5.1 INTRODUÇÃO ......................................................................................................... 47


5.2 PROCESSO DE AQUISIÇÃO DE CONHECIMENTO ...................................................... 47
5.3 ACKNOWLEDGE: UMA FERRAMENTA PARA AQUISIÇÃO DE CONHECIMENTO NO
DESENVOLVIMENTO DE SOFTWARE ............................................................................. 56
5.3.1 Cadastrar Tipos de Conhecimento ................................................................ 59
5.3.2 Adquirir Conhecimento Independente da Execução de um Processo........... 61
5.3.3 Adquirir Conhecimento Durante a Execução de um Processo ..................... 63
5.3.4 Filtrar Conhecimento .................................................................................... 64
5.3.5 Empacotar Conhecimento ............................................................................. 67
5.3.6 Consultar Conhecimento ............................................................................... 68
5.4 ESTUDO EXPERIMENTAL ........................................................................................ 70
5.4.1 Objetivo do Estudo ........................................................................................ 71
5.4.2 Descrição da Instrumentação........................................................................ 73
5.4.3 Seleção do Contexto ...................................................................................... 75
5.4.4 Seleção dos Indivíduos .................................................................................. 75
5.4.5 Variáveis........................................................................................................ 76
5.4.6 Análise Quantitativa ...................................................................................... 76
5.4.7 Validade......................................................................................................... 77
5.5 CONSIDERAÇÕES FINAIS ........................................................................................ 78

CAPÍTULO VI - CONSIDERAÇÕES FINAIS......................................................... 79

6.1 INTRODUÇÃO ......................................................................................................... 79


6.2 CONCLUSÃO E CONTRIBUIÇÕES ............................................................................. 79
6.3 PERSPECTIVAS FUTURAS ....................................................................................... 80

REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................... 82

viii
ANEXO I – NOTAÇÃO UTILIZADA NA MODELAGEM DO PROCESSO DE
AQUISIÇÃO DE CONHECIMENTO ....................................................................... 92

ANEXO II – EXEMPLOS DE TIPOS DE CONHECIMENTO.............................. 95

ANEXO III – MODELO DE CLASSES DA FERRAMENTA ACKNOWLEDGE


........................................................................................................................................ 97

ix
CAPÍTULO I - INTRODUÇÃO

1.1 Motivação

A capacidade das organizações de realizarem mudanças que aumentem suas


vantagens competitivas é fundamental para garantir a sobrevivência no mercado. No
entanto, a realização de mudanças que propiciem benefícios à organização é dificultada
pelo pouco conhecimento da organização sobre a forma como os seus processos de
negócio são realizados e sobre a sua estrutura organizacional. Este conhecimento constitui
o capital intelectual da organização e, portanto, deve ser gerenciado de forma eficiente para
garantir a sua preservação e permitir a sua constante evolução (DAVENPORT e PRUSAK,
1998) (HAMMER e CHAMPY, 1994).

Os membros das organizações, geralmente, adquirem o conhecimento necessário


para realizar as atividades dos processos de negócio da organização durante a execução
dessas atividades como resultado do próprio trabalho. Este conhecimento muitas vezes
permanece apenas na mente dos indivíduos, nos sistemas corporativos ou em documentos
em papel. Desta forma, torna-se difícil o acesso e compartilhamento desse conhecimento
para outros membros da organização. Além do mais, as organizações correm o risco de
perder todo este conhecimento adquirido ao longo de vários anos de prática quando
membros saem da organização. Quando isto ocorre, a execução dos processos de negócio
da organização é comprometida, pois os novos responsáveis pela execução da atividade
nem sempre possuem a experiência e o conhecimento necessários para executar as
atividades com a mesma qualidade que os antigos.

Outro problema comum nas organizações é a dificuldade de aproveitar o


conhecimento de colaboradores experientes durante o treinamento de novos membros,
pois a dinâmica de trabalho não permite que os experientes parem a execução de suas
atividades para compartilhar o seu conhecimento. Assim, em situações de tomada de
decisão, por exemplo, os iniciantes tendem a repetir os mesmos erros cometidos por outros
membros que passaram por situações semelhantes.

1
A introdução de novas tecnologias nas organizações também é dificultada visto que
o pouco conhecimento da organização sobre o funcionamento dos seus processos de
negócio diminui a visibilidade dos resultados esperados com a adoção da nova tecnologia.
Como conseqüência, as organizações tendem a evitar o uso de tecnologias que poderiam
trazer melhores benefícios.

Esses problemas diminuem as vantagens competitivas das organizações, pois as


execuções dos seus processos de negócio tornam-se menos ágeis e eficientes. Isto
representa um risco para as organizações devido à alta concorrência e às exigências cada
vez maiores dos clientes. Percebemos, desta forma, a necessidade das organizações em
gerenciar o conhecimento relacionado aos seus processos de negócio de forma efetiva para
preservar seu capital intelectual, promover o aprendizado organizacional e possibilitar a
melhoria contínua dos seus processos de negócio. No entanto, o acesso, preservação e
distribuição desse conhecimento são dificultados pela diversidade de tipos e fontes de
conhecimento dentro e fora da organização, entre outros problemas. Neste contexto,
abordagens de aquisição de conhecimento devem ser definidas e implementadas para
transformar o conhecimento individual ou de grupo em conhecimento organizacional e,
desta forma, garantir que o conhecimento criado e utilizado por membros da organização
durante a execução dos seus processos de negócio está sendo preservado adequadamente.

1.2 Objetivos

O objetivo deste trabalho é definir um processo sistemático de aquisição de


conhecimento para apoiar a aquisição, filtragem e empacotamento de conhecimento tácito
e explícito de membros da organização relacionado a processos de negócio. O processo
definido deverá ser genérico para possibilitar a aquisição de diferentes tipos de
conhecimento em diversos contextos e áreas de negócio. Este processo deverá permitir a
exteriorização de conhecimento utilizado e criado durante a execução de processos de
negócio de forma não-invasiva minimizando, assim, o desvio do fluxo normal de trabalho
dos executantes do processo e evitando atrasos e falhas na execução de suas atividades.
Além de apoiar a aquisição de conhecimento, o processo deverá apoiar também a filtragem
do conhecimento relevante para a organização para garantir que somente conhecimentos
úteis para a organização são mantidos no repositório de conhecimento organizacional. A
revisão do conhecimento também deve fazer parte do processo de aquisição para adequar o

2
conteúdo e o formato do conhecimento facilitando a sua utilização em contextos diferentes
dos quais foram adquiridos.

Também é objetivo do trabalho desenvolver uma ferramenta para apoiar a


execução do processo de aquisição de conhecimento em atividades de engenharia de
software. Esta ferramenta deve estar integrada à Estação TABA, um meta-ambiente capaz
de gerar, através de configuração e instanciação, ambientes de desenvolvimento de
software adequados às particularidades de processos de desenvolvimento e de projetos
específicos (VILLELA et al., 2003). A ferramenta deve também ser integrada aos ambientes
configurados pela Estação TABA e aos ambientes de desenvolvimento instanciados para
apoiar a execução de projetos de software de uma organização.

1.3 Metodologia do trabalho

Para a realização deste trabalho, inicialmente, foram identificados na literatura os


tipos de conhecimento que poderiam ser reutilizados para auxiliar e prover melhorias nos
processos de negócio de uma organização. Os tipos de conhecimento englobam, mas não
se restringem a, conhecimento sobre tecnologias, competidores, clientes e fornecedores e
conhecimento estratégico de suporte às tomadas de decisões, além de conhecimento do
próprio domínio do negócio.

Em seguida, foram levantadas na literatura as técnicas de aquisição de


conhecimento mais adequadas no contexto de aquisição de conhecimento nos processos de
negócio. Na fase seguinte, foram analisadas diversas abordagens de processos de aquisição
de conhecimento. Segundo estas abordagens, a aquisição de conhecimento nos processos
de negócios deve ser realizada através de um processo constituído de atividades que
permitam adquirir de forma estruturada o conhecimento útil à organização utilizando um
modelo conceitual do domínio do negócio. Desta forma, foi definido um processo
sistemático para aquisição de conhecimento relacionado a processos de negócio. O
processo definido é genérico podendo ser aplicado em diversas áreas de negócio.

A ferramenta ACKNOWLEDGE foi desenvolvida para apoiar a execução do


processo de aquisição de conhecimento no contexto da Estação TABA e seus ambientes.
Esta ferramenta foi integrada a outras ferramentas disponíveis na Estação TABA para

3
adquirir conhecimento no momento em que os profissionais estão realizando as suas
atividades.

Finalmente, um estudo experimental foi planejado para caracterizar a proposta


deste trabalho no contexto de desenvolvimento de software. No entanto, a execução deste
estudo supera o tempo previsto para conclusão de uma tese de mestrado, pois requer a
configuração de ambientes específicos para organizações e a instanciação de ambientes de
desenvolvimento para apoiar a execução de projetos de software. Assim, o plano do estudo
experimental deverá ser executado a partir de agosto de 2003 em 11 empresas do Rio de
Janeiro através de um convênio firmado entre a COPPE e a Riosoft. Esperamos com a
execução deste plano demonstrar os possíveis benefícios da abordagem de aquisição de
conhecimento proposta, por exemplo, pretendemos identificar através de análise dos
resultados do estudo experimental se o conhecimento organizacional é preservado
eficientemente e se a execução dos processos de desenvolvimento de software são
beneficiados com a aquisição de conhecimento organizacional.

1.4 Estrutura do texto

O capítulo I descreve a motivação, objetivos e metodologia do trabalho, além da


organização da tese. A revisão da literatura sobre Gerência de Conhecimento é apresentada
no capítulo II. Os objetivos da aquisição de conhecimento relacionado a processos de
negócio e da aquisição de conhecimento no desenvolvimento de software são discutidos no
capítulo III. O capítulo IV apresenta um histórico da Estação TABA ao longo do tempo,
incluindo sua definição e o surgimento dos Ambientes de Desenvolvimento Orientados a
Domínio e a Organização. O capítulo V apresenta um processo de aquisição de
conhecimento relacionado a processos de negócio e as funcionalidades de uma ferramenta
de apoio à execução deste processo integrada à Estação TABA. Algumas considerações
finais e trabalhos futuros que podem ser realizados são apresentados no capítulo VI. Em
seguida, são apresentados a listagem das referências bibliográficas utilizadas e os anexos
que complementam o trabalho. O anexo I apresenta a notação utilizada na modelagem do
processo de aquisição de conhecimento. O anexo II apresenta exemplos de tipos de
conhecimento, além da forma de aquisição e estrutura de cada um desses tipos e o anexo
III apresenta o modelo de classes da ferramenta de apoio à execução do processo de
aquisição de conhecimento no desenvolvimento de software.

4
CAPÍTULO II - GERÊNCIA DE CONHECIMENTO

2.1 Introdução

As organizações enfrentam constantes mudanças motivadas por diversos fatores. A


alta concorrência, por exemplo, exige das organizações habilidades para fornecer produtos
e serviços mais inovadores. As exigências dos clientes são outros fatores causadores de
mudanças, pois as organizações devem se preocupar em criar produtos e prover serviços
que satisfaçam as necessidades dos seus clientes para garantir confiança e satisfação. A
globalização dos mercados e o desenvolvimento de novas tecnologias também são
motivadores de mudanças ao exigir das organizações mais agilidade dos seus processos de
negócio (HAMMER e CHAMPY, 1994) (TRUEX et al., 1999).

A capacidade das organizações de realizar mudanças que aumentem suas vantagens


competitivas é fundamental para garantir a sobrevivência no mercado. No entanto, essas
mudanças geralmente não trazem os resultados esperados devido à pouca compreensão da
organização sobre ela mesma, ou seja, a realização de mudanças que propiciem benefícios à
organização é dificultada pelo pouco conhecimento da organização sobre a forma como os
seus processos de negócio são realizados e sobre a sua estrutura organizacional. Assim, as
organizações necessitam aumentar o conhecimento organizacional para tornarem-se mais
competitivas (ALAVI e LEIDNER, 1999) (NONAKA e TAKEUCHI, 1995). O
conhecimento organizacional abrange, mas não se restringe a conhecimento relacionado
aos processos de negócio, conhecimento sobre o relacionamento entre os diversos setores
organizacionais, além de conhecimento sobre o mercado, tecnologias, clientes e
competidores (DAVENPORT e PRUSAK, 1998). Este conhecimento constitui o capital
intelectual da organização e, portanto, deve ser gerenciado de forma eficiente para garantir
a sua preservação e permitir a sua constante evolução.

A gerência do conhecimento promove o capital intelectual através do apoio ao


aprendizado organizacional e da manutenção de uma memória organizacional. Desta
forma, a organização adquire habilidades para aprender de forma contínua sobre as
atividades dos processos de negócio, além de aumentar o conhecimento sobre os clientes,
tecnologias e áreas de atuação (WINCH, 1999). Organizações que desenvolvem software,

5
por exemplo, possuem processos de negócio altamente dinâmicos, empregam diversas
tecnologias e a rotatividade de pessoal geralmente é bastante alta. Assim, é muito
importante gerenciar de forma adequada o conhecimento que os membros dessas
organizações possuem, bem como o conhecimento sobre as tecnologias utilizadas para a
realização das atividades de desenvolvimento de software. Desta forma, é possível melhorar
a execução dos processos, além de preservar o conhecimento quando os membros saem da
organização (TRUEX et al., 1999).

Outras organizações que não desenvolvem software também possuem essas


mesmas características e necessidades, por exemplo, organizações da área de saúde
necessitam gerenciar de forma adequada o conhecimento organizacional para melhorar a
qualidade da prestação de serviços. A gerência de conhecimento relacionado aos processos
de atendimento a pacientes, por exemplo, permite identificar problemas relacionados à
execução deste processo e realizar modificações no mesmo para solucionar os problemas,
melhorar a qualidade da prestação do serviço e aumentar a satisfação do paciente
(STEFANELLI, 2002). Em outras áreas, por exemplo, na área de Pesquisa e
Desenvolvimento (P&D), a habilidade de transferir conhecimento de forma rápida e
eficiente entre grupos dentro de uma organização também tem se tornado uma questão
crítica. Esta capacidade é fundamental para possibilitar o aprendizado, adaptação e
inovação nas organizações e é especialmente crucial na área de P&D, um dos ambientes de
maior intensidade em conhecimento nas organizações modernas (LEVIN e RADNOR,
1997).

Para gerenciar de forma adequada o conhecimento, a organização deve


compreender o seu real significado e a sua importância para aumentar as vantagens
competitivas da organização. Mudanças culturais também devem ser levadas em
consideração para motivar os membros da organização a cooperar e diminuir a relutância
em compartilhar seu conhecimento. Caso contrário, os esforços da gerência do
conhecimento não terão os resultados esperados, pois os membros da organização irão
desconfiar dos verdadeiros motivos da organização em querer capturar o seu conhecimento
e armazená-lo em uma memória organizacional (PROBST et al., 2000). É importante
também introduzir a gerência de conhecimento aos poucos, por exemplo, através de
projetos pilotos para aumentar a confiança dos membros da organização, pois os custos de
implantação de um programa de gerência de conhecimento são relativamente altos e os

6
resultados são obtidos, geralmente, a médio e longo prazo (DAVENPORT e PRUSAK,
1998).

Neste capítulo, são tratadas algumas questões relacionadas à gerência do


conhecimento. A seção 2.2 apresenta a definição de conhecimento adotada no trabalho e a
importância do conhecimento nas organizações. Na seção 2.3 são introduzidos os
conceitos básicos relacionados à gerência de conhecimento. A seção 2.4 apresenta uma
definição de aprendizado organizacional e os seus benefícios para a organização. Na seção
2.5 são definidos os componentes básicos e as tecnologias utilizadas para a construção de
uma memória organizacional. Finalmente, na seção 2.6 são apresentadas algumas
considerações finais.

2.2 Definição de Conhecimento

O significado de conhecimento tem sido tema de muita discussão. Essas discussões


são baseadas em diversos pontos de vista e perspectivas e abrangem desde questões
filosóficas sobre os conceitos relacionados a conhecimento até questões empiricistas e
interacionalistas (ALAVI e LEIDNER, 1999). De forma abrangente, conhecimento pode
ser compreendido como “uma idéia, noção; informação, notícia, ciência; prática da vida;
experiência; discernimento, critério, apreciação” (FERREIRA et al., 2000). No entanto,
neste trabalho, adotaremos a definição de DAVENPORT e PRUSAK (1998) por
considerarem o ponto de vista da aplicação do conhecimento como forma de aumentar as
vantagens competitivas de uma organização. Esses autores definem conhecimento como
“um conjunto de experiências, valores, informações contextuais e insights de especialistas
que provêm uma forma para avaliar e incorporar experiências e informação; é originada e
se aplica na mente das pessoas; nas organizações, geralmente, encontra-se espalhada não só
em documentos ou repositórios, mas também nas rotinas organizacionais, processos,
práticas e normas”.

A definição de conhecimento muitas vezes se confunde com a de informação e


dado. A confusão entre essas definições é comum, pois dados, informações e
conhecimento estão intimamente relacionados. Números e fatos que não tem significado
próprio são considerados dados. A associação de um determinado contexto a um conjunto
de dados adiciona um significado aos dados transforma-o em uma informação (COOK,

7
2000). Informações permitem interpretar eventos ou objetos de diferentes formas.
Conhecimento, então, compreende o conjunto de informações cujas interpretações podem
ser aplicadas em decisões e ações (SNOEK, 1999) (ALAVI e LEIDNER, 1999).

Conhecimento pode ser classificado em dois tipos de acordo com a forma de


representação: conhecimento tácito e conhecimento explícito. Conhecimento que pode ser
facilmente expresso na forma de palavras e números ou encontra-se representado na forma
de documentos e em repositórios de dados é chamado de explícito. Conhecimento
adquirido a partir de experiências pessoais e que se encontra apenas nas mentes das pessoas
é chamado de tácito. Conhecimento tácito pode ser visto sob duas dimensões: a dimensão
técnica, que compreende as habilidades informais capturadas após um certo período de
experiência na realização de uma atividade e a dimensão cognitiva, que consiste nos
modelos mentais e percepções estabelecidos implicitamente na mente das pessoas
(WINCH, 1999) (NONAKA e TAKEUCHI, 1995).

Segundo NONAKA e TAKEUCHI (1995), a interação entre conhecimento tácito e


explícito constitui a espiral de criação de conhecimento. A figura 2.1 apresenta esta espiral e
os processos de conversão de conhecimento: socialização, exteriorização, combinação e
internalização.

Tácito

Socialização Exteriorização

Tácito Explícito

Internalização Combinação

Explícito

Figura 2.1 - Espiral de criação de conhecimento (NONAKA e


TAKEUCHI, 1995).

O compartilhamento de experiências e, conseqüentemente, de conhecimento tácito


é realizado através do processo de socialização. Neste processo, o conhecimento tácito é
compartilhado através de observações, práticas e imitações. No processo de exteriorização,

8
o conhecimento tácito é expresso utilizando conceitos explícitos, por exemplo, metáforas,
analogias, hipóteses ou modelos. O processo de combinação consiste na reorganização de
diferentes tipos de conhecimento explícito utilizando, por exemplo, sistemas
computacionais para combinar e categorizar conhecimento armazenado em diversos
repositórios. A internalização é caracterizada pela conversão de conhecimento explícito
representado, geralmente, na forma de manuais e documentos em conhecimento tácito.

A interação contínua e social entre conhecimento tácito e explícito permite a


criação e expansão de conhecimento humano, e conseqüentemente conhecimento
organizacional (NONAKA e TAKEUCHI, 1995). Esta interação torna as empresas mais
competitivas, pois serve de catalisadora no desenvolvimento de novos produtos e melhora
a habilidade de inovação da organização, além de facilitar o compartilhamento e
transferência do conhecimento entre membros da organização (WINCH, 1999). No
entanto, para que a interação entre conhecimento tácito e explícito produza os resultados
esperados ela deve ocorrer de forma integrada à execução das atividades da organização e
mecanismos eficientes devem ser definidos e implementados para gerenciar essa interação,
bem como o conhecimento adquirido (ABECKER et al., 1998).

2.3 Gerência de Conhecimento

Um estudo realizado por ALAVI e LEIDNER (1999) mostra que existe uma
tendência nas organizações em introduzir atividades específicas para gerenciar de forma
efetiva conhecimento de especialistas da organização com o objetivo de aumentar as suas
vantagens competitivas. Gerência de conhecimento pode ser definida, então, como um
conjunto de atividades organizacionais que devem ser realizadas de forma sistemática para
adquirir, organizar e comunicar tanto conhecimento tácito como explícito de membros da
organização de tal forma que outros membros possam fazer uso deste conhecimento para
tornar seu trabalho mais efetivo e produtivo (ALAVI e LEIDNER, 1999). Desta forma, a
gerência de conhecimento possibilita a criação de práticas inovadoras em nível
organizacional através do apoio à comunicação e colaboração entre membros que utilizam
conhecimento no mesmo domínio e em domínios diferentes (FISCHER e OSTWALD,
2001).

9
O objetivo principal da gerência de conhecimento é tornar conhecimento relevante
para a organização acessível e possível de ser reutilizado pelos membros da organização.
No entanto, devido à diversidade de conhecimento, é fundamental identificar os tipos de
conhecimento cuja gerência poderá trazer benefícios reais para a organização. Assim,
podemos considerar como relevante os tipos de conhecimento que facilitam ou melhoram
a execução das atividades dos membros da organização (FISCHER e OSTWALD, 2001).

DIENG (2000) divide os tipos de conhecimento de interesse para uma organização


em quatro classes:

• Conhecimento sobre tecnologias: saber sobre a adequação de uma


tecnologia existente ou emergente em um determinado contexto;

• Conhecimento sobre competidores: saber sobre atividades, produtos ou


serviços sobre competidores ou outros atores do mercado empresarial;

• Conhecimento sobre o mercado: saber sobre o ambiente comercial


empresarial, por exemplo, distribuidores, fornecedores e clientes;

• Conhecimento estratégico: apoiar as decisões estratégicas de gerentes de uma


organização.

No entanto, esses tipos de conhecimento se encontram, geralmente, distribuídos


dentro da própria organização dificultando sua reutilização, pois se leva muito tempo para
identificar o conhecimento, ter acesso e aprender com ele (BASILI et al., 2001). Assim, é
fundamental que a organização detenha também conhecimento sobre ela mesma, ou seja,
sobre seus próprios membros, suas diversas unidades organizacionais e posições
desempenhadas dentro destas unidades. SANTOS (2003) apresenta uma abordagem para
representação da distribuição do conhecimento, habilidades e experiências através da
estrutura organizacional. Essa abordagem possibilita que membros da organização
rapidamente encontrem, dentro da estrutura organizacional, os profissionais mais
adequados à realização de uma atividade ou à solução de um problema.

Segundo O’LEARY e SUTDER (2001) e (PROBST et al., 2000), as organizações


devem definir os objetivos da gerência de conhecimento alinhados às suas estratégias de
negócio. Isto é fundamental para direcionar o esforço apenas na gerência dos tipos de
conhecimento que podem trazer benefícios reais à organização, além de permitir avaliar se

10
a organização está tendo o retorno esperado. SNOEK (1999) define quatro grupos de
objetivos de conhecimento:

• Objetivos de decisão criam uma cultura na organização de valorização do


capital intelectual;

• Objetivos estratégicos descrevem o conhecimento essencial para a


organização e as habilidades necessárias;

• Objetivos táticos evitam que a realização da gerência de conhecimento fique


estagnada no nível estratégico;

• Objetivos operacionais garantem que os objetivos de decisão, estratégico e


tático sejam alcançados na prática. Estes objetivos são executados diretamente
pelos membros da organização.

A partir da definição dos objetivos da gerência de conhecimento é possível


identificar a abordagem de gerência de conhecimento a ser utilizada: centrada em processo
ou centrada em produto (ABECKER e DECKER, 1999) (SNOEK, 1999) (FELDMANN
e ALTHOFF, 2001):

• Centrado em processo: nesta abordagem, a gerência de conhecimento é vista


como um processo de comunicação social e colaboração que pode ser apoiada
por mecanismos de groupware. O foco desta abordagem é na disseminação de
conhecimento e no apoio aos processos de criação de conhecimento;

• Centrado em produto: o foco nesta abordagem é na gerência de documentos


de conhecimento com o propósito de criar, armazenar e reutilizar
conhecimento organizacional.

Independente da abordagem de gerência de conhecimento adotada, um conjunto


básico de atividades deve ser considerado para gerenciar o conhecimento de forma
sistemática. HENDRIKS e VRIENS (1998), PROBST et al. (2000) e DAVENPORT e
PRUSAK (1998) sugerem as seguintes atividades de gerência de conhecimento:

• Identificar o conhecimento importante para os membros da organização para


aumentar a visibilidade do conhecimento e permitir o acesso ao conhecimento
de forma clara e objetiva;

• Adquirir e armazenar na memória organizacional os tipos de conhecimento


úteis à organização. As abordagens de aquisição de conhecimento devem ser

11
definidas de acordo com o tipo do conhecimento (explícito ou tácito) e a
facilidade de acesso às fontes do conhecimento;

• Construir conhecimento útil à organização, mas que não existe ou não é


acessível através de nenhuma fonte interna ou externa para gerar novas
habilidades, novos produtos, melhores idéias e processos mais eficientes;

• Manter o conhecimento armazenado na memória organizacional através da


remoção ou atualização de conhecimento defasado ou de pouca utilidade;

• Disseminar o conhecimento apropriado para as pessoas certas no momento


mais adequado e evitar a sobrecarga de conhecimento aos membros da
organização;

• Utilizar o conhecimento da memória organizacional para aprimorar o


aprendizado individual, de grupo e organizacional e melhorar as habilidades da
organização em realizar suas atividades;

• Valorar o conhecimento através da medição da sua utilidade e das suas


contribuições para a organização.

ABECKER et al. (1999) identificam algumas das tecnologias utilizadas para apoiar a
realização das atividades de gerência de conhecimento:

• Groupware, Sistemas de Workflow e Trabalho Cooperativo Apoiado por


Computador são consideradas as tecnologias essenciais para apoiar a gerência
do conhecimento, pois apóiam a realização de tarefas que envolvem muito
conhecimento e requerem a colaboração de vários especialistas e setores de uma
organização, por exemplo, na realização de um projeto ou no planejamento
estratégico;

• Sistemas de Gerenciamento de Documentos, Filtragem e Recuperação


de Informação possibilitam uma melhor disseminação do conhecimento
organizacional ao facilitar o acesso e identificação de fontes de conhecimento
importantes para os membros da organização;

• Inteligência Artificial possibilita o desenvolvimento de sistemas inteligentes


de gerência de conhecimento através da utilização de diversas tecnologias, por
exemplo, ontologias formais, data mining e sistemas especialistas.

12
No entanto, conhecimento somente é utilizado e criado durante a execução das
atividades diárias de membros da organização (FISCHER e OSTWALD, 2001). Desta
forma, os processos da organização devem sofrer uma reengenharia para acomodar as
atividades da gerência de conhecimento. Isto possibilita a criação e captura de
conhecimento de membros da organização durante a execução dos processos utilizando
métodos e ferramentas desenvolvidas com este propósito (O’LEARY e SUTDER, 2001).

As atividades de gerência do conhecimento representam valor potencial para a


organização, mas somente podem ser associadas a resultados financeiros através de uma
forma controlada e indireta de correlação de causa e efeito, ou seja, a organização deve ser
capaz de mensurar as contribuições da gerência de conhecimento no aumento das
vantagens competitivas de uma organização. Por exemplo, BUERGEL e SAEUBERT
(1999) propõem um modelo para desenvolver procedimentos estruturados de identificação
de objetivos de conhecimento operacionais e deduzir as medidas de controle respectivas.

A gerência de conhecimento possibilita a preservação do conhecimento


organizacional através da conversão do conhecimento individual em conhecimento de
grupo ou organizacional. No entanto, a gerência de conhecimento tem valor não pelo
conhecimento em si, mas por resultar em benefícios organizacionais. BASILI et al. (2001),
TIWANA e RARMESH (2001) e ALAVI e LEIDNER (1999) citam alguns dos benefícios
para a organização alcançados com a gerência de conhecimento:

• Melhoria dos processos que repercutem no resultado organizacional,


envolvendo diminuição do tempo de preparo de propostas para clientes,
redução de custo de atividades específicas e do tempo de duração de projetos;

• Melhoria na gerência de projetos através da redução do tempo de solução de


problemas e do aumento da participação dos membros da equipe nos projetos;

• Melhoria na tomada de decisão em projetos;

• Melhoria na comunicação permitindo uma maior visibilidade da opinião dos


membros da organização;

• Aumento de vendas e lucratividade;

• Melhoria no atendimento aos clientes.

• Diminuição da dependência de membros evitando a perda de conhecimento


importante quando membros experientes saem da organização;

13
• Diminuição do tempo e esforço de compartilhamento de experiências de
especialistas através da captura sistemática e armazenamento das experiências
individuais de membros da organização;

• Aumento da produtividade de novos membros, pois estes membros têm acesso


ao conhecimento necessário para executar suas atividades e às experiências
passadas de outros membros;

No entanto, a gerência de conhecimento consegue estes benefícios se houver


integração entre os aspectos tecnológicos e os aspectos humanos e organizacionais
(O’LEARY e SUTDER, 2001). O’LEARY (2001) apresenta um estudo sobre organizações
que desenvolveram e implementaram sistemas de gerência de conhecimento e através desse
estudo identificou que os aspectos culturais realmente influenciam na reutilização de
conhecimento. Assim, a mudança cultural na organização é fundamental para permitir que
os objetivos da gerência de conhecimento sejam alcançados da forma esperada. BASILI et
al. (2001) apontam que a cultura da organização deve se adaptar de tal forma que o
compartilhamento e busca de conhecimento e o aprendizado através de experiências seja
parte natural na organização. Para tanto, alguns fatores além da questão tecnológica devem
ser levados em consideração, por exemplo, mudanças nas práticas da organização e na
forma de pensar (FISCHER e OSTWALD, 2001).

Segundo O’LEARY (1998c), a adoção de incentivos adequados é fundamental para


que os membros da organização compartilhem seu conhecimento, caso contrário, a
conversão de conhecimento individual se torna mais difícil. Uma forma efetiva de motivar
o compartilhamento de conhecimento é através de recompensa organizacional (WINCH,
1999). ALAVI e LEIDNER (1999) apresentam outras medidas que devem ser tomadas
para aumentar a confiança dos membros da organização na gerência do conhecimento e
aumentar as chances para alcançar os objetivos da gerência de conhecimento:

• Convencer as pessoas e unidades de negócio a compartilharem o seu


conhecimento com outras pessoas e unidades;

• Garantir a correta implantação do sistema de gerência do conhecimento;

• Evitar bombardear os membros da organização com mais informação do que


eles podem absorver;

• Selecionar o conhecimento importante e eliminar conhecimento defasado.

14
Uma vez conquistada a confiança dos membros da organização nos benefícios que
a gerência de conhecimento pode trazer, se torna mais fácil criar uma cultura de trabalho na
organização baseada no aprendizado organizacional.

2.4 Aprendizado Organizacional

A gerência do conhecimento promove o aprendizado organizacional no qual


membros da organização aprendem de forma contínua sobre as normas, práticas e
processos durante a rotina normal de trabalho. PROBST et al. (2000) definem aprendizado
organizacional como “o aumento da competência de uma organização para agir e
solucionar problemas através de mudanças na memória organizacional”. Outras definições
de aprendizado organizacional são encontradas na literatura. HENNINGER (1998), por
exemplo, define aprendizado organizacional como o “estabelecimento de um processo de
melhoria contínua da qualidade do produto e da produtividade dos membros da
organização, utilizando experiências passadas como um catalisador no processo de
aprendizado”. Essas definições partem do princípio que o aprendizado organizacional
somente é alcançado através da colaboração entre membros da organização e da
manutenção de uma memória organizacional contendo conhecimento explícito relacionado
às experiências da organização.

Segundo SNOEK (1999), o aprendizado organizacional pode ser realizado de


forma top-down ou bottom-up. No aprendizado top-down, ações devem ser tomadas para
adquirir novo conhecimento relacionado à uma área promissora de conhecimento. Já o
aprendizado bottom-up é baseado no aprendizado individual de conhecimento dos membros
da organização através do compartilhamento de experiências para a organização. Segundo
SNOEK (1999), o aprendizado de experiências pode ser realizado de três formas:

• Aprendizado individual ocorre quando uma pessoa aplica suas idéias de


melhoria e lições aprendidas na suas próprias atividades;

• Aprendizado através de comunicação provoca um processo de reflexão no


indivíduo, pois o conhecimento deve ser articulado antes de ser compartilhado
com outros membros;

15
• Aprendizado com suporte de um repositório de conhecimento torna o
processo de aprendizado organizacional mais eficiente, pois permite a
reutilização de conhecimento independente de interação pessoal.

Segundo MENDONÇA et al. (2001), o verdadeiro aprendizado organizacional


requer que as experiências da organização, ou seja, o conhecimento tecnológico e social
ganho como resultado do trabalho da própria organização, sejam analisadas e sintetizadas
de tal forma que os membros da organização possam aprender com elas e aplicá-las a
novos problemas. LEVIN e RADNOR (1997), por exemplo, apresentam uma abordagem
de aprendizado organizacional para promover a transferência de conhecimento em
organizações que atuam na área de pesquisa e desenvolvimento (P&D). Nesta abordagem,
conhecimento das necessidades tecnológicas dos clientes é traduzida em requisitos
tecnológicos útil para pesquisadores em P&D. A organização, então, converte esta
informação tecnológica, junto com informação estratégica, de produto e dos competidores,
em planos tecnológicos. Depois do desenvolvimento tecnológico ter sido realizado, a
tecnologia é transferida para engenheiros de projeto, que irão inseri-lo em novos produtos.

Segundo O’LEARY e SUTDER (2001), o aprendizado organizacional é alcançado


através da integração da gerência de conhecimento na estrutura organizacional e nos
processos da organização. HAWRYSZKIEWYCZ (2001), por exemplo, apresenta uma
abordagem na qual as atividades de gerência de conhecimento são integradas às atividades
dos processos de negócio utilizando um paradigma de compartilhamento de conhecimento.
Esta abordagem tem como foco o processo dinâmico de criação do conhecimento no qual
novas direções são identificadas ou novas oportunidades são levantadas baseadas em
diversas interpretações de informação.

Uma das abordagens mais utilizadas nas organizações para promover o aprendizado
organizacional é a Fábrica de Experiência (LINDVALL et al., 2001). Nesta abordagem,
deve ser designada na organização uma equipe para trabalhar exclusivamente no
gerenciamento do conhecimento e na promoção do aprendizado organizacional utilizando
como base as próprias experiências da organização. A questão principal no contexto de
Fábricas de Experiências é a implementação da base de experiências envolvendo sua
organização, manutenção do seu conteúdo e definição das ferramentas de apoio.
LINDVALL et al. (2001), por exemplo, apresentam uma abordagem para identificar os
tipos de experiência úteis, empacotar e organizar essas experiências e torná-las disponíveis e

16
recuperáveis. WANGENHEIM et al. (2001) apresentam também uma abordagem baseada
no conceito de Fábrica de Experiências para gerenciar conhecimento relacionado aos
processos de desenvolvimento de software. Nessa abordagem, são integrados diversos
tipos de informação e conhecimento e são oferecidos mecanismos inteligentes para acesso
ao conhecimento, além de permitir a evolução contínua e melhoria da solução proposta
durante seu ciclo de vida. Segundo WANGENHEIM et al. (2001), a principal vantagem
desta abordagem é a integração de técnicas de diversas áreas, por exemplo, Recuperação de
Informação, Processamento de Linguagem Natural e CBR (Case-Based Reasoning –
Raciocínio Baseado em Casos), em uma infra-estrutura criando um assistente inteligente
para pesquisa em software e desenvolvimento.

No entanto, para que o conhecimento adquirido pela organização através do


aprendizado organizacional se torne um verdadeiro capital intelectual, mecanismos
eficientes devem ser definidos e implementados para preservar e manter este conhecimento
em uma memória organizacional.

2.5 Memória Organizacional

Um sistema de gerência de conhecimento deve ser capaz de armazenar e recuperar


na memória organizacional o conhecimento necessário e útil para a realização das
atividades dos processos organizacionais (VILLELA et al., 2000) (DIENG, 2000). Desta
forma, a implementação e manutenção de uma memória organizacional são motivadas pela
necessidade de preservar e compartilhar o conhecimento e as experiências de uma
organização (DIGNUM, 2000). A memória organizacional, então, constitui a representação
explícita do conhecimento ou informação em uma organização e, por isso, é um espaço de
informação em evolução contínua alimentado diretamente pelo conhecimento criado
durante a rotina normal de trabalho (FISCHER e OSTWALD, 2001).

Segundo SNOEK (1999), a construção de uma memória organizacional envolve a


transformação de conhecimento tácito de membros da organização em uma representação
explícita para ser armazenado e recuperado por outros membros. No entanto, os membros
da organização têm, geralmente, dificuldade em exteriorizar seu conhecimento. Esta
dificuldade pode ser contornada se for levado em consideração o ambiente de trabalho dos
membros da organização durante o processo de conversão do conhecimento.

17
A constante manutenção da memória organizacional é fundamental para garantir a
confiabilidade do conhecimento armazenado e possibilitar que os objetivos da gerência de
conhecimentos sejam alcançados de maneira adequada. Para tanto, DIENG (2000) aponta
a importância de definir uma equipe encarregada de coletar informações científicas,
técnicas e econômicas a partir de jornais, relatórios e da Web. Esta equipe se encarregaria
de filtrar, analisar e validar essa informação para integrar os elementos interessantes à
memória organizacional e redirecioná-las a potenciais usuários.

Conhecimento na organização encontra-se, geralmente, representado em formato


de texto constituindo um documento ou conhecimento informal. Este tipo de
conhecimento também pode ser útil para a organização e deve ser armazenado na memória
organizacional. No entanto, para possibilitar que esses documentos sejam acessados e
recuperados de forma adequada, conhecimentos formais devem ser associados ao
documento possibilitando a definição de mecanismos de busca que facilitem a recuperação
de todo o documento ou partes dele. Este conhecimento formal consiste de meta-
conhecimento sobre o documento e, provavelmente, contém mais conhecimento do que o
próprio documento. Outra característica que existe nas organizações e deve ser considerada
na implementação de uma memória organizacional é a existência de documentos de
diversos formatos. DIENG (2000) apresenta uma abordagem para tratar este problema
utilizando XML (eXtensible Markup language) para descrever brevemente o documento
constituindo um meta-dado semântico sobre ele.

A infra-estrutura da memória organizacional é constituída de dois elementos


básicos: bases de conhecimento e ontologias. As bases de conhecimento armazenam
fisicamente o conhecimento da memória organizacional. Ontologias apóiam a gerência de
conhecimento na representação e recuperação do conhecimento dessas bases (O’LEARY,
1998b).

2.5.1 Bases de Conhecimento

PROBST et al. (2000) definem base de conhecimento como “o conjunto coletivo de


dados e informação através do qual conhecimento individual e organizacional é
construído”. As bases de conhecimento podem ser agrupadas segundo o tipo de

18
conhecimento que armazenam. O’LEARY (1998a, 1998b) apresenta alguns tipos de bases
de conhecimento:

• Bases de Conhecimento de Compromissos contém informação sobre


diferentes tipos de compromissos assumidos pela organização;

• Bases de Conhecimento de Propostas contém informação de propostas que


uma organização em particular realizou para gerar compromissos;

• Bases de Conhecimento de Melhores Práticas contém descrições dos


processos da empresa que aparentam ser a melhor forma de realizar as
atividades;

• Bases de Conhecimento de Lições Aprendidas contém informações de


experiências de sucesso e fracasso da organização;

• Bases de Conhecimento de Especialistas contém descrições das habilidades,


conhecimentos e competências dos membros da organização;

• Bases de Conhecimento de Novidades contém informações de notícias de


interesse para a organização;

• Bibliotecas Digitais contém informações extraídas de jornais recentes e


artigos publicados em revistas e conferências.

Um aspecto importante que deve ser considerado na definição e construção de


bases de conhecimento é o formato que será utilizado para representar os itens de
conhecimento. RABARIJAONA et al. (2000), por exemplo, apontam algumas vantagens no
uso de XML para representar itens de conhecimento em uma memória organizacional
baseada em documentos. Segundo esses autores, XML provê um padrão de comunicação e
intercâmbio de informação e conhecimento entre diferentes sistemas e possibilita criar
múltiplas visões do mesmo item, além de prover facilidades de formatação, apresentação e
recuperação do conhecimento.

2.5.2 Ontologias

Ontologias ajudam a formalizar o conhecimento dividido por um grupo de pessoas


quando o conhecimento precisa ser modelado, estruturado e relacionado e abrem o
caminho para substituir a visão orientada a documentos por uma visão orientada a

19
conteúdo na qual itens de conhecimento são relacionados, combinados e utilizados
(STAAB et al., 2001). Desta forma, o compartilhamento efetivo de conhecimento pode ser
alcançado através de acesso a múltiplas bases de conhecimento utilizando ontologias que
permitam usuários definir os recursos que eles necessitam e requerem (O’LEARY, 1998b)
(DUBITZKY et al., 1999).

Ontologia é uma especificação explícita de conceitos e o relacionamento entre eles.


Ontologias descrevem explicitamente modelos conceituais de um domínio e, portanto, são
úteis na construção de memórias organizacionais, pois permitem definir as estruturas e os
relacionamentos de itens de conhecimento armazenados nas bases de conhecimento, além
de definir as características e visões dessas bases e prover modelos que ajudam na definição
e acesso a elas (O’LEARY, 1998b). Ontologias são utilizadas, também, para preservar o
contexto no qual os itens de conhecimento são adquiridos (COOK, 2000). Isto é muito
importante, pois facilita a preservação, o armazenamento e a identificação de itens de
conhecimento úteis em um determinado contexto.

Ontologias e técnicas de raciocínio formal também podem servir como


mecanismos inteligentes de recuperação de informação (LANDES et al., 1999). Ontologias
ajudam a indexar a memória organizacional para permitir pesquisas posteriores e
recuperação de conhecimento na memória corporativa materializada em documentos ou
outros arquivos (DIENG, 2000). Ontologias facilitam também a identificação de
Comunidades de Prática. Uma comunidade de prática é um grupo distribuído de pessoas
que compartilham os mesmos interesses em uma tarefa, problema, ou prática. Desta forma,
ontologias possibilitam relacionar membros de uma organização ou várias organizações
segundo conhecimento específico que cada um possui ou tem interesse (O’HARA et al.,
2002).

A definição e manutenção de ontologias são tarefas bastante complexas, porém são


inúmeros os benefícios alcançados através da sua utilização. Por exemplo, a formalização
do conhecimento através de ontologias facilita a comunicação entre especialistas de um
domínio e evita falhas no processo de aquisição e transferência do conhecimento, pois
colocam restrições na estrutura e no conteúdo do conhecimento do domínio (van HEIJST,
1995). Além do mais, a formalização e restrições do conhecimento do domínio impostas
pelas ontologias facilitam a integração de múltiplas bases de conhecimento e minimizam o
risco de ambigüidades entre elas (O’LEARY, 1998b).

20
2.6 Considerações Finais

Neste capítulo, se discutiu a importância da gerência de conhecimento para tornar o


conhecimento organizacional em um verdadeiro capital intelectual. Para tanto, foi
apresentada uma definição de conhecimento e como ele se diferencia de dados e
informação. Também foram apresentados os conceitos fundamentais de gerência de
conhecimento, como aprendizado organizacional, memória organizacional, bases de
conhecimento e ontologias. Algumas das tecnologias de apoio ao processo de gerência de
conhecimento também foram apresentadas e se discutiu a necessidade de adaptar a cultura
organizacional para possibilitar que os objetivos da gerência de conhecimentos sejam
alcançados de forma adequada. Esta revisão da literatura situa a proposta do trabalho no
contexto de gerência do conhecimento e facilita a compreensão dos próximos capítulos.

Os conceitos relacionados à estrutura de representação de conhecimento, memória


organizacional, abordagens de aquisição de conhecimento e conversão de conhecimento
tácito em explícito são importantes para a realização deste trabalho e, portanto, serão
discutidos mais detalhadamente no próximo capítulo.

21
CAPÍTULO III – AQUISIÇÃO DE CONHECIMENTO

3.1 Introdução

A globalização dos mercados e o desenvolvimento de novas tecnologias provocam


constantes mudanças nas organizações (TRUEX et al., 1999). A dinâmica de trabalho é
grande e diversos problemas surgem a todo instante tornando os processos de negócio
altamente instáveis. Além disso, os membros da organização nem sempre têm à disposição
o conjunto de conhecimento necessário para executar as atividades e solucionar os
problemas de forma eficiente. Esse conhecimento, quando existe, se encontra disperso
entre os membros da organização, documentos, sistemas corporativos, etc.
(DAVENPORT e PRUSAK, 1998). Esta realidade é constatada em organizações de
desenvolvimento de software, principalmente quando são empregados processos de
desenvolvimento e manutenção de forma evolutiva nos quais os requisitos dos sistemas
mudam constantemente (TRUEX et al., 1999). A administração dos recursos de
conhecimento das organizações através de sistemas de gerência de conhecimento é um dos
principais elementos para garantir a sobrevivência destas organizações (PROBST et al.,
1999).

ALAVI e LEIDNER (1999) apontam a necessidade de gerenciar o conhecimento


organizacional de forma adequada com o objetivo de proporcionar uma melhoria contínua
dos seus processos de negócio. Outros trabalhos, como (WINCH, 1999), também apontam
o uso da gerência de conhecimento para promover o aprendizado organizacional e o
aumento do capital intelectual. Neste contexto, a aquisição de conhecimento útil à
organização permite aumentar a compreensão da organização sobre os seus processos e
desta forma realizar melhorias para obter maiores vantagens competitivas no mercado.

Neste capítulo, são discutidos alguns conceitos básicos relacionados à aquisição de


conhecimento. A seção 3.2 apresenta os objetivos de aquisição de conhecimento e as
formas de aquisição. Na seção 3.3, são discutidas algumas características dos processos de
desenvolvimento de software que devem ser levados em consideração durante a aquisição
de conhecimento neste contexto. A seção 3.4 e 3.5 apresentam, respectivamente, algumas

22
abordagens de aquisição de conhecimento no desenvolvimento de software e as
considerações finais.

3.2 Aquisição de Conhecimento

O objetivo da aquisição de conhecimento no contexto de sistemas de gerência de


conhecimento é adquirir de fontes internas ou externas à organização o conhecimento
necessário para apoiar a execução das atividades dos seus processos de negócio
(DAVENPORT e PRUSAK, 1998).

No entanto, a aquisição de conhecimento é dificultada pela distribuição do


conhecimento em diversos locais dentro e fora da organização e pela diversidade de
formatos de representação do conhecimento, como documentos não estruturados,
apresentações de projetos e experiências pessoais dos próprios membros da organização
(MILTON et al., 1999). Outros fatores que tornam a aquisição bastante custosa e difícil de
ser realizada são a pouca disponibilidade de especialistas na área do negócio e a grande
dificuldade na interação com eles utilizando o jargão do domínio (MCGRAW e
HARBISON-BRIGGS, 1989) (MILTON et al., 1999).

A aquisição de conhecimento deve ser realizada segundo um processo formal para


garantir o retorno do investimento de aquisição. O foco deste processo é na aquisição de
conhecimento de valor para a organização (KOMI-SIRVIÖ et al., 2002) (PROBST et al.,
1999). Estes conhecimentos englobam, mas não se restringem a, conhecimento sobre
melhores práticas, lições aprendidas e problemas encontrados em projetos passados,
conhecimento sobre novas tecnologias, conhecimento sobre o cliente, mercado e
fornecedores.

Considerando que a aquisição de conhecimento é um processo custoso,


DAVENPORT e PRUSAK (1998) e KOMI-SIRVIÖ et al. (2002) sugerem algumas
estratégias de aquisição de conhecimento, por exemplo, o processo de aquisição deve ser
implantado com um impacto mínimo na organização e nos processos organizacionais. Isto
pode ser alcançado através da integração do processo de aquisição aos processos de
negócio da organização. A aquisição deve ser realizada por membros experientes na área do
negócio e que possuam conhecimento confiável e de valor. PROBST et al. (PROBST et al.,
2000) também apontam a necessidade de definir inicialmente se o retorno no investimento

23
de aquisição é a curto, médio ou longo prazo para evitar desapontamentos com relação ao
sistema de gerência de conhecimento.

O conhecimento encontra-se disperso dentro e fora da organização em diferentes


níveis. Estes níveis podem ser individuais, de grupo, organizacionais, multi-organizacionais,
ou industriais (RUS e LINDVALL, 2002). A aquisição do conhecimento deverá, então,
possibilitar a aquisição de itens de conhecimento dispersos nesses diferentes níveis. Após a
captura dos itens, eles devem ser transformados em itens de conhecimento organizacionais
e armazenados na memória organizacional para serem reutilizados por outros membros da
organização (DIENG, 2000) (RUS e LINDVALL 2002).

No entanto, conhecimento útil à organização não está contido apenas na


informação, mas também nos relacionamentos entre os itens de informação, suas
classificações, e os metadados (informação sobre informação, por exemplo, quem criou a
informação) (RUS e LINDVALL, 2002). Portanto, durante o processo de aquisição devem
ser explicitados também o relacionamento entre os itens de conhecimento organizacional
para facilitar a transferência do conhecimento na organização (RAMESH, B., 2002).

Durante o processo de aquisição de um item de conhecimento, o contexto das


informações deve ser preservado para processar e armazenar o conhecimento de forma
eficiente (COOK, 2000). Isto pode ser alcançado utilizando ontologias do domínio para
descrever itens de conhecimento representados de forma estruturada. O uso de ontologias
evita falhas no processo de aquisição e transferência do conhecimento, pois explicitam
conceitualizações específicas de um domínio e colocam restrições na estrutura e no
conteúdo do conhecimento do domínio (van HEIJST, 1995).

Segundo WINCH (1999), as percepções e interpretações de conhecimento variam


de pessoa para pessoa e, portanto, o conhecimento deve ser filtrado e avaliado antes de ser
armazenado na memória organizacional. A filtragem e avaliação devem verificar se os itens
de conhecimento adquiridos estão corretos e de acordo com as metas de gerência do
conhecimento. Esse processo deve ser aplicado de forma contínua, pois as necessidades e
metas da organização mudam de acordo com a dinâmica do mercado, mudando também o
valor que os itens de conhecimento possuem (TRUEX et al., 1999).

Diversas abordagens de aquisição de conhecimento podem ser definidas devido à


diversidade dos tipos de conhecimento que uma organização pode considerar como úteis.

24
O processo de aquisição de conhecimento deve ser apoiado por uma infra-estrutura que
permita a aplicação de técnicas variadas de aquisição e a representação do conhecimento
em diversos formatos, assim como possibilite a aquisição de conhecimento apoiada por
computador (MILTON et al., 1999).

As técnicas devem ser selecionadas de acordo com os requisitos da infra-estrutura e


as características do conhecimento a ser adquirido. As características abrangem o formato
no qual o conhecimento está representado (explícito ou tácito), a facilidade de acesso às
fontes de conhecimento (fontes interna ou externa), o tipo do conhecimento
(conhecimento procedural, declarativo, semântico ou episódico), entre outras (ROSETI,
1998) (MILTON et al., 1999) (MCGRAW e HARBISON-BRIGGS, 1989).

A partir das características do conhecimento é possível definir a estrutura dos itens


de conhecimento a serem adquiridos. Linguagens de marcação, como XML (Extensible
Markup Language), podem ser utilizadas na descrição da estrutura do conhecimento para
apoiar a construção de uma memória organizacional (COOK, 2000) (RABARIJAONA et
al., 2000). O uso destas linguagens possibilita a aquisição de conhecimento de maneira
uniforme, além de permitir interoperabilidade de sistemas e oferecer mecanismos eficientes
de recuperação.

As abordagens de aquisição podem ser definidas segundo a estrutura do


conhecimento. Estas abordagens podem ser de duas formas: manual ou automática.
Conhecimento tácito, complexo e de valor, como melhores práticas, lições aprendidas ou
conhecimento do domínio, é geralmente adquirido manualmente. Conhecimento explícito
e menos complexo pode ser adquirido através de componentes de aquisição automática de
conhecimento (ABECKER e DECKER, 1999).

3.2.1 Aquisição Manual de Conhecimento

A aquisição manual de conhecimento é geralmente utilizada quando as fontes de


conhecimento são difíceis de serem acessadas e o formato de representação do
conhecimento é complexo. A infra-estrutura de aquisição de conhecimento deve, então,
prover mecanismos que facilitem a captura manual do conhecimento.

25
Conhecimento sobre o domínio do negócio da organização, por exemplo, é muito
útil, mas a captura desse conhecimento é difícil e custosa. Técnicas de aquisição manuais
como entrevistas estruturadas são bastante adequadas para capturar esse tipo de
conhecimento (MILTON et al., 1999). A aquisição de conhecimento através de entrevistas
estruturadas pode ser apoiada por ferramentas que permitam identificar conceitos e as
relações entre esses conceitos. Estas ferramentas agilizam o processo de aquisição e
possibilitam a captura de um conjunto maior de conhecimento, além de evitar falhas na
aquisição através da verificação de restrições na forma e no conteúdo do conhecimento
(FUJIHARA e SIMMONS, 1997) (MILTON et al., 1999) (OLIVEIRA et al., 2000).

O conhecimento tácito de experiências pessoais de membros da organização


também constitui um recurso de conhecimento muito importante e, portanto, deve ser
administrado eficientemente. No entanto, este tipo de conhecimento é difícil de ser
extraído, pois muitas vezes os membros da organização têm dificuldade de expressar suas
idéias e conhecimento de forma adequada. Este problema pode ser minimizado através de
questionários que permitam adquirir de forma uniforme e estruturada o conhecimento
absorvido por um membro da organização ao longo de vários anos de trabalho. O’LEARY
(O’LEARY, 1998) apresenta o uso desta abordagem na aquisição de melhores práticas em
uma empresa de consultoria financeira. Membros da organização foram questionados
regularmente sobre as melhores práticas aplicadas nas suas atividades. A análise desses
questionários permitiu identificar falhas nos processos e possíveis mudanças a serem
realizadas para melhorá-los. ISHINO et al. (1999) também apresentam uma abordagem
para representar conceitos de bens de consumo baseada em aquisição de conhecimento a
partir de dados de questionários. Esses questionários contêm um conjunto de perguntas
simples sobre os atributos de um determinado produto. A partir da associação das
respostas dessas perguntas é possível identificar os benefícios obtidos no consumo do
produto, e assim adquirir conhecimento sobre o valor daquele produto para os
consumidores.

Atualmente, o método CBR (Cased-Based Reasoning) tem sido bastante utilizado no


contexto de gerência do conhecimento para adquirir conhecimento de experiências da
organização. CBR é um método ou modelo de raciocínio cujo objetivo é recuperar,
reutilizar e armazenar casos de solução de problemas ocorridos previamente. Esta
tecnologia pode ser aplicada em tarefas analíticas (classificação, apoio à decisão) e sintéticas
(projeto, planejamento) de solução de problemas e tomadas de decisão. A infra-estrutura de

26
aquisição de conhecimento deve ser adaptada para cada novo tipo de caso a ser
considerado. Esta adaptação deve ser realizada da seguinte forma: (i) identificar e definir a
estrutura do conteúdo dos casos, (ii) definir um modelo de recuperação e (iii) definir regras
para transformação de soluções e armazenamento dos casos. Inicialmente, a base deve ser
alimentada através do registro manual de casos. Os casos poderão ser recuperados durante
a resolução de algum problema segundo modelos de similaridades entre o contexto dos
casos e dos problemas. Os novos problemas e soluções irão compor novos casos que
poderão ser recuperados posteriormente em outras situações (DUBITZKY et al., 1999).

O método CBR pode ser utilizado para adquirir conhecimento tácito. Durante a
execução dos processos de negócio, diversos problemas surgem a todo instante e diversas
soluções podem ser propostas para o mesmo problema. Desta forma, cada membro
termina adquirindo um conjunto de lições aprendidas extremamente útil para a
organização. A infra-estrutura de aquisição de conhecimento deve, então, prover meios
para que os membros da organização possam exteriorizar o conhecimento dessas lições
aprendidas em forma de casos estruturados e armazená-los em uma base. Posteriormente,
essas lições ou casos serão analisados e disponibilizados para, então, serem reutilizados por
outros membros da organização. Uma abordagem semelhante a esta é apresentada por
PREECE et al. (2001) na aquisição de conhecimento de lições aprendidas de especialistas
na área de exploração mineral.

Um papel importante que também deve ser considerado no processo de aquisição


manual é o do Observador do Conhecimento (Knowledge Watcher) (DIENG, 2000). Os
Observadores de Conhecimento são pessoas encarregadas de coletar informações
científicas, técnicas e econômicas a partir de jornais, relatórios técnicos e da Web. Eles são
responsáveis também por filtrar, analisar e avaliar essas informações para integrar os
elementos interessantes à memória organizacional ou redirecioná-las a membros relevantes
da organização. ABECKER e DECKER (1999) apontam o engenheiro do conhecimento
como o Observador do Conhecimento responsável por identificar o conhecimento útil à
organização, estruturar o conhecimento e adicionar metadados para facilitar a sua
reutilização.

27
3.2.2 Aquisição Automática de Conhecimento

O processo de aquisição de conhecimento pode ser beneficiado com o


desenvolvimento de componentes de software que implementem técnicas de Inteligência
Artificial (IA) para adquirir conhecimento de forma automática.

ABECKER e DECKER (1999) sugerem a utilização de componentes de aquisição


automática de conhecimento para analisar fontes de conhecimento internas ou externas à
organização e alimentar as bases de conhecimento da memória organizacional. Esta
abordagem de aquisição de conhecimento permite que as informações distribuídas em
diversas fontes, como as bases da organização, sejam analisadas e relacionadas
automaticamente sem interação humana. O’LEARY (1998), por exemplo, propõe o uso de
ferramentas de data warehouse para apoiar a aquisição de conhecimento distribuído em várias
bases da organização, como bases de currículos e de projetos. O’LEARY (1998a) define
como knowledge warehouses as ferramentas de data warehouse capazes de descobrir
conhecimento escondido nas bases de dados da organização. O foco principal das knowledge
warehouses é prover dados qualitativos a partir de diversas fontes de conhecimento, como
descrições de processos de negócio, data warehouses, bases de dados externas, etc. O’LEARY
(1998a) considera as knowledge warehouses como warehouses virtuais onde o conhecimento
encontra-se disperso em múltiplas fontes.

Na seção anterior, foi descrito o método CBR para aquisição manual de


conhecimento. No entanto, a base de casos mantida através do método CBR pode servir de
fonte de conhecimento para abordagens de aquisição automática de conhecimento. Novo
conhecimento pode ser adquirido automaticamente através da aplicação de técnicas de IA
como indução, generalização e abstração no conhecimento representado nesses casos. Por
exemplo, novas lições aprendidas podem ser adquiridas a partir da aplicação dessas técnicas
na base de lições aprendidas. Esse novo conhecimento deverá ser analisado da mesma
forma que o conhecimento adquirido manualmente para, então, ser armazenado na
memória organizacional (RUS e LINDVALL, 2002). OLIVEIRA et al. (OLIVEIRA et al.,
2000) apresentam uma abordagem semelhante a esta para aquisição de conhecimento tácito
de especialistas em cardiologia relacionada à tarefa de diagnóstico de infarto agudo do
miocárdio. Nesta abordagem, o conhecimento é representado na forma de regras de associação
e são descritas na forma A → B, tal que A e B são predicados elementares ou compostos.
Novas regras de associação podem ser geradas automaticamente através da aplicação de três

28
regras básicas de generalização utilizadas em algoritmos de aprendizado automático
(MICHALSKI, 1984): eliminação de um dos elementos da associação, transformação de
conjunção para disjunção e definição de disjunção interna para um dos elementos da
associação. Em seguida, as regras geradas são avaliadas por um especialista no domínio
para, então, serem armazenadas em uma base de conhecimento.

Conhecimento distribuído em diversas bases da organização também pode ser


adquirido automaticamente através de modelos de predição. Esses modelos são utilizados
para guiar a tomada de decisões a partir da análise, síntese e processamento de informações
provenientes de dados de projetos. À medida que novos projetos vão sendo analisados,
modificações podem ser feitas nos modelos para melhorar a qualidade do conhecimento
adquirido (RUS e LINDVALL, 2002).

A gerência do conhecimento nem sempre requer que seja criada uma infra-estrutura
de aquisição muito complexa. Conhecimento pode ser adquirido utilizando ferramentas
comuns a ambientes organizacionais, por exemplo, servidores de e-mail. Diversas
abordagens de aquisição automática de conhecimento utilizam como fontes de
conhecimento os e-mails trocados entre membros da organização. Essas abordagens
partem do pressuposto que membros da organização trocam muitos e-mails para obter
conhecimento sobre como realizar as atividades do processo de negócio. SCHWARTZ e
TE’ENI (2000) apresentam uma abordagem que integra o uso do e-mail com a memória
organizacional para distribuir conhecimento pela Web. Nesta abordagem, após a escrita de
um e-mail, itens de conhecimento são gerados e mostrados ao usuário segundo um
contexto criado automaticamente a partir de palavras-chaves encontradas no e-mail. Esses
itens de conhecimento podem ser analisados, avaliados e modificados pelo usuário para
então serem armazenados outra vez na memória organizacional. Outras abordagens (RUS e
LINDVALL, 2002), permitem adquirir automaticamente conhecimento sobre as
habilidades dos membros de uma organização a partir da identificação de palavras-chaves
nos e-mails trocados que indiquem proficiência dos autores dos e-mails em um
determinado assunto ou área.

Outra ferramenta comum aos ambientes organizacionais e que permite definir


diversas abordagens de aquisição de conhecimento são as listas de perguntas mais
freqüentes ou listas FAQ (Frequently Asked Questions). Estas listas podem ser utilizadas nas
organizações para possibilitar que membros adquiram, diretamente, conhecimento sobre

29
uma atividade do processo de negócio. Essas listas podem ser geradas dinamicamente a
partir de fóruns de discussão ou até mesmo a partir de e-mails trocados com equipes de
suporte da organização. Uma vez comprovada a utilidade do conhecimento contido nas
listas para a organização, este pode ser convertido a melhores práticas organizacionais
(RUS e LINDVALL, 2002).

Qualquer que seja a técnica ou abordagem de aquisição de conhecimento adotada, a


infra-estrutura de aquisição deve ser capaz de integrá-las adequadamente evitando a
interferência na execução das atividades dos processos de negócio da organização.

Na seção a seguir, são discutidas algumas questões relacionadas à aquisição de


conhecimento no processo de desenvolvimento de software. A discussão não pretende
abranger todas as formas de aquisição, mas identificar pontos importantes na definição de
um processo de aquisição de conhecimento no desenvolvimento de software.

3.3 Aquisição de Conhecimento no Desenvolvimento de Software

O processo de desenvolvimento de software é constituído de um conjunto de


atividades que compõem o ciclo de vida de um software. Esse processo consiste nas
atividades de implementação do processo, análise de requisitos, projeto da arquitetura,
codificação, testes, integração, implantação e aceitação relacionadas aos produtos de
software (NBR ISO/IEC 12207, 1997).

As atividades do processo de desenvolvimento de software são dinâmicas, ou seja,


diversos problemas surgem durante a execução das atividades e decisões de projeto devem
ser tomadas constantemente. O sucesso do projeto de software dependerá do resultado das
soluções e decisões tomadas. O conhecimento criado e utilizado ao longo do processo de
desenvolvimento constitui um recurso da organização desenvolvedora de software e,
portanto, deve ser administrado eficientemente. Sistemas de gerência do conhecimento têm
como objetivo gerenciar o uso, criação e manutenção desse conhecimento. Estes sistemas
servem de apoio à execução das atividades do processo de desenvolvimento de software e à
criação dos artefatos produzidos e consumidos por essas atividades.

A aquisição de conhecimento utilizado pelos executantes durante o processo de


desenvolvimento permite que a organização compreenda melhor os seus processos. No

30
entanto, isto é difícil de ser realizado, pois os desenvolvedores têm dificuldades em
exteriorizar seu conhecimento devido ao pouco ou nenhum tempo dedicado à reflexão
sobre os problemas ocorridos e decisões tomadas durante a realização das atividades do
processo. Assim, o processo de aquisição de conhecimento deve ser integrado ao processo
de desenvolvimento de software de forma a minimizar o impacto na rotina normal de
trabalho e o esforço de registro do conhecimento. Para apoiar este processo, uma infra-
estrutura de aquisição de conhecimento deve ser desenvolvida permitindo que diversos
tipos de conhecimento sejam capturados a partir de múltiplas fontes (KOMI-SIRVIÖ et al.,
2002).

Uma das atividades do desenvolvimento de software que trabalha ativamente com


conhecimento é a análise de requisitos. Esta atividade consiste em identificar os requisitos
funcionais e não-funcionais de um sistema. Um requisito é uma característica do sistema ou
uma descrição de algo que o sistema é capaz de realizar para atender às necessidades dos
usuários (PFLEEGER, 2001). A correta identificação desses requisitos é importante para
garantir a satisfação dos usuários e diminuir os esforços de mudanças no sistema
decorrentes de análises incorretas. A fase de análise de requisitos requer que os analistas e
desenvolvedores tenham conhecimento sobre o domínio do sistema, tecnologias de
informação, conhecimento sobre o cliente, etc. A aquisição desses tipos de conhecimento
possibilita a sua reutilização no desenvolvimento de novos projetos e na definição de
estratégias de negócio da organização desenvolvedora de software. A forma como esse
conhecimento será adquirido dependerá do tipo de conhecimento e do modelo de ciclo de
vida adotado. MAIDANTCHIK et al. (2002) apresentam uma abordagem centrada em
usuário para aquisição de conhecimento do domínio, requisitos de software e da própria
organização cliente de forma integrada ao processo evolutivo de desenvolvimento do
software.

Outra atividade do processo de desenvolvimento que trabalha ativamente com


conhecimento é o planejamento do desenvolvimento de software, geralmente realizado
com base na experiência profissional do gerente. Nesta atividade, o conhecimento
adquirido previamente pelo gerente no gerenciamento ou participação em projetos
anteriores é utilizado na tomada de decisões de projeto, por exemplo, definição das bases
de dados, linguagens de programação, estimativas de custo, esforço e riscos. Em alguns
casos, o gerente pode utilizar uma base de dados de projetos, para auxiliar na execução
dessas atividades. No entanto, esta base contém apenas dados e informações sobre projetos

31
e não armazenam o conhecimento utilizado pelos gerentes na definição do planejamento
de cada projeto. Assim, a aquisição do conhecimento utilizado e criado durante o
planejamento permitirá que gerentes com pouca experiência se beneficiem através da
utilização de conhecimento de outros gerentes mais experientes. A infra-estrutura de
aquisição de conhecimento deve, então, prover mecanismos que facilitem a captura e o
armazenamento desse conhecimento. Por exemplo, durante o planejamento da gerência de
riscos o gerente pode utilizar questionários para exteriorizar conhecimento sobre as
práticas de gerência e lições aprendidas (FARIAS, 2002). Entrevistas estruturadas também
podem ser empregadas para adquirir de gerentes de software conhecimento sobre
características do projeto que auxiliam na definição do planejamento. Ao final do projeto,
todo conhecimento capturado deverá ser avaliado antes de ser disponibilizado na memória
organizacional (WINCH, 1999).

Segundo PFLEEGER (2001), através do aumento do conhecimento relacionado a


arquiteturas de software é possível obter um maior entendimento sobre padrões,
componentes e estilos de arquiteturas e, conseqüentemente, melhorar a qualidade dos
sistemas desenvolvidos. A arquitetura do sistema descreve o sistema em termos de um
conjunto de unidades e o relacionamento entre essas unidades. Diferentes arquiteturas
refletem diferentes soluções para um mesmo problema. Cada solução de arquitetura tem
suas vantagens e desvantagens e a escolha da arquitetura será realizada segundo as
características da solução a ser adotada (SHAW e GARLAN, 1996). Conhecimento sobre
arquiteturas de software pode ser capturado através de linguagens formais de descrição de
arquitetura. O armazenamento desse conhecimento em uma base permitirá que novos
projetos possam reutilizar o conhecimento aplicado no projeto arquitetural de outros
sistemas. A aplicação de técnicas de aquisição de conhecimento sobre arquiteturas de
software aumenta a qualidade dos sistemas desenvolvidos e diminui o custo e esforço de
manutenção através da redução do número de erros no projeto (TSAI et al., 1999).

Durante a fase de codificação do software, gerentes, analistas e programadores


aplicam uma grande quantidade de conhecimento. Nesta fase, as soluções propostas são
implementadas e os resultados esperados são verificados e validados. Muitas vezes estes
resultados não são satisfatórios e as soluções devem ser revistas e reimplementadas. Este
processo é repetido até que todas as características do problema sejam totalmente
compreendidas pela equipe de desenvolvimento (PFLEEGER, 2001). Conhecimento
criado e utilizado pela equipe de desenvolvimento durante a fase de codificação deve ser

32
adquirido e armazenado na memória organizacional. A aquisição de conhecimento sobre
novas tecnologias, linguagens e ferramentas de programação, assim como algoritmos e
estruturas de dados facilita a compreensão de problemas de codificação e diminui a
probabilidade de re-cometer os mesmos erros, melhorando o processo de desenvolvimento
de novos projetos.

Uma forma de avaliar o processo de desenvolvimento é planejar a coleta de uma


grande quantidade de dados, não só durante o desenvolvimento, mas também após o
término do projeto (PFLEEGER, 2001). A análise desses dados permite determinar se as
metas da organização estão sendo alcançadas e as áreas nas quais melhorias podem ser
realizadas. Este tipo de análise é conhecido como análise postmortem. O objetivo da análise
postmortem é realizar, após a implementação, uma avaliação de todos os aspectos do projeto,
incluindo produtos, processos e recursos com o propósito de identificar áreas de melhoria
para projetos futuros. No entanto, a identificação dessas áreas não é uma tarefa trivial.
Assim, a infra-estrutura de aquisição de conhecimento deve estar integrada ao processo de
análise postmortem permitindo que as melhores práticas identificadas e as lições aprendidas
durante o projeto sejam adquiridas e armazenadas na memória organizacional. BIRK et al.
(BIRK et al., 2002) apresentam um processo de aquisição de conhecimento através de
análise postmortem de projetos de software. O objetivo da abordagem proposta é sintetizar
em um relatório o conhecimento mais importante adquirido pela equipe de
desenvolvimento ao longo do projeto, como lições aprendidas, melhores práticas,
problemas e soluções adotadas. Durante o processo de análise postmortem, o modelo de
argumentação utilizado pela equipe para obter o conhecimento também é capturado. A
reutilização deste modelo durante a execução de novos projetos aumenta a compreensão
sobre os problemas que ocorreram durante o processo de desenvolvimento e as medidas
tomadas para solucioná-los.

Atualmente, uma das habilidades que as organizações devem possuir para melhorar
a posição no mercado e ganhar a confiabilidade dos seus clientes é saber fornecer o
produto certo no momento certo. Assim, as organizações devem ter um profundo
conhecimento sobre seus clientes e mercados de atuação para determinar políticas
organizacionais direcionadas à satisfação do cliente (PROBST et al., 1999). Desta forma, o
processo de aquisição de conhecimento no desenvolvimento de software deve também
possibilitar que conhecimento relacionado aos clientes seja adquirido e armazenado na
memória organizacional. Esse conhecimento servirá de base para o estabelecimento de uma

33
gerência de relacionamento com os clientes ou CRM (Costumer Relationship Management). Isto
é muito importante em organizações desenvolvedoras de software, pois a rotatividade de
pessoal geralmente é alta e muito do conhecimento sobre os clientes adquirido pelos
participantes de um projeto de software é perdido quando eles saem da organização
(DAVENPORT e PRUSAK, 1998). Os mesmos erros podem, então, ser cometidos se
novos desenvolvedores forem adicionados à equipe de desenvolvimento de software e não
obtiverem conhecimento sobre os clientes da organização.

3.4 Abordagens para Aquisição de Conhecimento no


Desenvolvimento de Software

Diversas abordagens para a aquisição de conhecimento no desenvolvimento de


software são encontradas na literatura. BASILI et al. (2001) definem uma metodologia
baseada no conceito de Fábricas de Experiências para implementar um Sistema de
Gerência de Experiência (SGE) com o objetivo de adquirir conhecimento de lições
aprendidas e melhores práticas em projetos, além de conhecimento estratégico para a
organização e conhecimento sobre os clientes. O conhecimento de projetos é adquirido e
armazenado na base de conhecimento do SGE a partir da análise de sessões de
apresentação de projetos utilizando uma taxonomia da organização. A metodologia envolve
a caracterização da organização e a definição dos processos de negócio e do conhecimento
existente, assim como a definição dos papéis de cada usuário do sistema.

BRANDT e NICK (2001) apresentam uma abordagem para aquisição de


conhecimento na qual ao final de cada projeto o conhecimento é adquirido através de
relatórios de análise de projetos que são transformados em casos de experiências e
armazenados em uma base de experiência. Os autores utilizam o raciocínio baseado em
casos (CBR), pois consideram que este método é adequado para a reutilização apoiada por
computador de experiências em gerência de projetos.

HOLZ et al. (2001) propõem uma abordagem de gerência do conhecimento


centrado em processo para promover o aprendizado organizacional. Esse trabalho tem
como objetivo adquirir conhecimento de processo de desenvolvimento em um ambiente de
desenvolvimento de software através da estruturação de conhecimento no processo. O
ambiente permite adquirir dos usuários o conhecimento sobre os métodos que descrevem

34
como desempenhar as atividades do processo e as metas a serem alcançadas, além de
conhecimento sobre as necessidades de pessoal qualificado e outras informações
necessárias para realizar as atividades do processo. Os autores partem da premissa que
qualquer tipo de informação (por exemplo, experiência de projeto) deve ser documentada,
armazenada e acessada através de interfaces de forma estruturada. Os modelos de
processos utilizados servem não apenas como um meio de armazenamento de
conhecimento sobre melhores práticas, mas também provêm links para itens de
conhecimento que foram considerados úteis no planejamento ou ativação de processos de
desenvolvimento para projetos anteriores.

Considerando o alto custo da aquisição de conhecimento, KOMI-SIRVIÖ et al.


(2002) apresentam um processo de aquisição de conhecimento de projetos de software sob
demanda de acordo com as necessidades de conhecimento de cada projeto. Essas
necessidades indicam qual o conhecimento específico necessário, o formato desse
conhecimento e como será a sua reutilização. Desta forma, o investimento de aquisição é
realizado somente nos itens de conhecimento que trarão benefícios reais à organização.

HENNINGER (2001) define uma abordagem para aquisição de experiências de


projetos de software através da construção e manutenção de um repositório de
conhecimento de projetos. A abordagem utiliza um sistema baseado em regras para ajustar
a metodologia padrão de desenvolvimento segundo as características de projetos
específicos. O sistema possui uma arquitetura baseada em casos para capturar e prover
conhecimento de processo de desenvolvimento ao longo do ciclo de vida do projeto. Os
repositórios de conhecimento de projeto servem, portanto, não só como um meio de
disseminação de conhecimento, mas também auxiliam a organização a aprender o que
realmente funciona e o que não funciona no contexto de desenvolvimento de software.

3.5 Considerações Finais

Neste capítulo, foram discutidos os objetivos da aquisição de conhecimento e a


necessidade de adquirir conhecimento organizacional segundo um processo sistemático e
controlado. Também foram apresentadas abordagens de aquisição manual e automática de
conhecimento. Finalmente, foram apresentadas as características no desenvolvimento de

35
software que devem ser levadas em consideração durante a definição de uma abordagem de
aquisição de conhecimento neste contexto.

A discussão realizada neste capítulo serve de base para a proposta do trabalho, pois
foram identificadas características importantes de serem consideradas durante a definição
de uma abordagem de aquisição de conhecimento, por exemplo, a necessidade de
representação adequada para o conhecimento e a integração da infra-estrutura de aquisição
de conhecimento aos processos de negócio de forma que o conhecimento utilizado pelos
membros da organização seja adquirido eficientemente.

O próximo capítulo introduz alguns conceitos relacionados a ambientes de


desenvolvimento de software situando o contexto no qual o trabalho está inserido.

36
CAPÍTULO IV – AMBIENTES DE DESENVOLVIMENTO
DE SOFTWARE E A ESTAÇÃO TABA

4.1 Introdução

Ambiente de Desenvolvimento de Software (ADS) é um sistema computacional


que provê suporte para o desenvolvimento e manutenção de software e para o
gerenciamento destas atividades, contendo uma base de dados central e um conjunto de
ferramentas de apoio.

O estudo de ADS teve início na década de 50 e evoluiu rapidamente ao longo dos


anos. As pesquisas iniciais em ADS visavam desenvolver ferramentas de automatização do
processo de desenvolvimento de software. Atualmente, os estudos em ADS exploram o
desenvolvimento de ferramentas integradas para apoiar o desenvolvedor de software na
execução das atividades do processo de desenvolvimento. Neste contexto, o grupo de
engenharia de software da COPPE/UFRJ iniciou na década de 90 estudos em ambientes
de desenvolvimento de software com o objetivo de definir e criar a Estação TABA, um
meta-ambiente de desenvolvimento de software capaz de gerar, através de instanciação,
outros ADS (ROCHA et al., 1990). Ao longo desses anos de trabalho, o conceito de ADS
evoluiu para a definição de ADS com suporte à utilização do conhecimento do domínio de
aplicação durante o desenvolvimento e, mais recentemente, para a utilização de
conhecimento organizacional. Para acompanhar essa evolução, a Estação TABA passou a
instanciar, também, Ambientes de Desenvolvimento de Software Orientados a Domínio
(ADSOD) e Ambientes de Desenvolvimento de Software Orientados a Organização
(ADSOrg).

O objetivo deste capítulo é apresentar os conceitos envolvidos no desenvolvimento


da Estação TABA, desde a sua definição até o momento atual, e comentar brevemente
sobre sua estrutura e as ferramentas disponíveis. A próxima seção comenta sobre
ambientes de desenvolvimento de software, origens e objetivos. A seção 3.3 apresenta o
objetivo, as características e os requisitos da Estação TABA. As seções 3.4 e 3.5 comentam,
respectivamente, sobre a evolução dos ambientes de desenvolvimento de software com a
utilização de conhecimento sobre o domínio durante o processo de desenvolvimento e

37
com a inclusão de conhecimento organizacional. A seção 3.6 aborda o modelo atual e a
implementação da Estação TABA, além de algumas das ferramentas integradas já
implementadas por ocasião da definição dos ADSOD e dos ADSOrg. Finalmente, a seção
3.7 apresenta algumas considerações finais.

4.2 Ambientes de Desenvolvimento de Software

Um Ambiente de Desenvolvimento de Software é definido como sendo um sistema


computacional que provê suporte para o desenvolvimento, manutenção e melhorias em
software e para o gerenciamento e controle dessas atividades (MOURA e ROCHA, 1992).
TRAVASSOS (1994) enfatiza que os ADS devem se preocupar com o apoio às atividades
individuais e ao trabalho em grupo, o gerenciamento de projeto, o aumento da qualidade
geral dos produtos e o aumento da produtividade, permitindo ao engenheiro de software
acompanhar o projeto e medir a evolução dos trabalhos através de informações obtidas ao
longo do desenvolvimento.

ADS devem possibilitar o desenvolvimento e integração de ferramentas de apoio à


execução das atividades do processo de desenvolvimento de software, além de conter um
repositório com todas as informações relacionadas com o projeto de software ao longo do
seu ciclo de vida. No entanto, pesquisas recentes têm mostrado a necessidade de
padronizar a forma como é desenvolvido software dentro de uma organização com o
objetivo de aumentar o controle e possibilitar melhorias dos processos de desenvolvimento
de software (EMAN et al., 1998) (NBR ISO/IEC 12207, 1997) (MAIDANTCHIK, 1999)
(ROCHA et al., 1999). Assim, ADS devem, além de apoiar os desenvolvedores de software
na execução das atividades do processo de desenvolvimento de um software, permitir que
este processo seja realizado segundo os padrões organizacionais de desenvolvimento de
software.

A padronização dos processos de desenvolvimento de software pode ser obtida


através da definição de um Processo Padrão, ou seja, um processo básico que guia o
estabelecimento de um processo comum dentro da organização (EMAN et al., 1998). Este
processo serve de base para a definição de processos de desenvolvimento de software
especializados de acordo com o tipo de software (tecnologia e paradigma utilizado) e as
características do desenvolvimento. A partir do processo especializado, processos

38
específicos poderão ser instanciados considerando as particularidades do projeto de
software (MACHADO, 2000). Desta forma, um ADS deve ser desenvolvido de forma que
possibilite guiar os desenvolvedores de software na execução do processo de
desenvolvimento instanciado para um projeto de software específico.

4.3 A Estação Taba

A Estação TABA (ROCHA et al., 1990), conforme sua primeira definição, é um


meta-ambiente capaz de gerar, através de instanciação, ambientes de desenvolvimento de
software adequados às particularidades de processos de desenvolvimento e de projetos
específicos. ROCHA et al. (1990) definem meta-ambiente como um ambiente que abriga
um conjunto de programas que interagem com os usuários para definir interfaces,
selecionar ferramentas e estabelecer os tipos de objetos que irão compor o ambiente de
desenvolvimento específico.

O projeto TABA foi criado a partir da constatação de que domínios de aplicação


diferentes possuem características distintas e que estas devem incidir nos ambientes de
desenvolvimento através dos quais os desenvolvedores de software desenvolvem
aplicações. Desta forma, a Estação TABA tem por objetivo auxiliar na definição,
implementação e execução de ADS adequados a contextos específicos.

Com o intuito de atender a este objetivo, quatro funções foram definidas


originalmente para a Estação TABA (TRAVASSOS, 1994):
(i) Auxiliar o engenheiro de software na especificação e instanciação do ambiente
mais adequado ao desenvolvimento de um produto específico a partir do
processo de software e/ou de uma definição do domínio de aplicação;
(ii) Auxiliar o engenheiro de software na implementação das ferramentas
necessárias ao ambiente definido;
(iii) Permitir aos desenvolvedores do produto de software a utilização da estação
através do ambiente desenvolvido;
(iv) Permitir a execução do software na estação configurada para o seu
desenvolvimento.

39
Dois ambientes foram definidos e implementados de acordo com esta concepção
inicial: o ambiente Orixás (WERNECK, 1995), criado para apoiar o desenvolvimento de

Sistemas Baseados em Conhecimento e o ambiente Memphis (WERNER et al., 1997),


criado para apoiar o desenvolvimento de software baseado em reutilização.

4.4 Ambientes de Desenvolvimento de Software Orientados a


Domínio

Durante o desenvolvimento de software, os desenvolvedores têm que lidar com


diferentes atividades não triviais. A mais crítica dessas atividades é provavelmente a
identificação correta dos requisitos do sistema e sua descrição. Esta atividade é ainda mais
difícil quando os desenvolvedores não conhecem o domínio ou não tem nenhuma
experiência em desenvolver software para aquele domínio (OLIVEIRA et al., 1999a). Além
do mais, muito do conhecimento do domínio adquirido durante o desenvolvimento de um
software é perdido devido à alta rotatividade em projetos de desenvolvimento de software,
acarretando em repetidas investigações do mesmo domínio a cada ciclo de
desenvolvimento de um software na organização.

A utilização do conhecimento do domínio durante o desenvolvimento de software


facilita a compreensão do domínio do software e, conseqüentemente, melhora a
produtividade. Assim, surgiram, no contexto da Estação TABA, os Ambientes de
Desenvolvimento de Software Orientados a Domínio (ADSOD), que buscam integrar o
conhecimento do domínio aos Ambientes de Desenvolvimento de Software (OLIVEIRA et
al., 1999a). O domínio é uma área de aplicação na qual vários produtos de software serão
desenvolvidos.

ADSOD podem ser vistos como uma evolução dos ambientes de desenvolvimento
de software tradicionais, pois apóiam o desenvolvimento de software em domínios
específicos através do uso do conhecimento deste domínio durante todo o processo de
desenvolvimento para auxiliar o desenvolvedor no entendimento do problema
(OLIVEIRA et al., 1999b) (OLIVEIRA et al., 1999c).

Desta forma, o aspecto central dos ADSOD é a introdução e uso do conhecimento


do domínio no ADS, provendo apoio aos desenvolvedores na identificação correta dos

40
requisitos do sistema e sua descrição (OLIVEIRA et al., 1999b). Como conseqüência,
espera-se obter um aumento de produtividade no desenvolvimento. O uso do
conhecimento do domínio durante o desenvolvimento de software tende a tornar o
processo de entendimento do problema mais fácil e agradável tanto para os
desenvolvedores quanto para os especialistas do domínio que, muitas vezes, não são
profissionais da área de informática (FISCHER, 1994).

Três ADSOD já foram instanciados utilizando essa infra-estrutura: CORDIS


(OLIVEIRA et al., 2000), NETUNO (GALOTTA, 2000) e INSECTA (FOURO, 2002).
CORDIS é um ADSOD para o domínio de Cardiologia e foi desenvolvido para ser

utilizado na Unidade de Cardiologia e Cirurgia Cardiovascular/Fundação Bahiana de


Cardiologia. NETUNO é um ADSOD para Acústica Submarina, desenvolvido de acordo
com as particularidades do GAS/IPqM (Grupo de Acústica Submarina do Instituto de
Pesquisas da Marinha). INSECTA é um ADSOD para o domínio de entomologia,
desenvolvido para a EMBRAPA.

4.5 Ambientes de Desenvolvimento de Software Orientados a


Organização

No capítulo 3, abordamos a importância da aquisição do conhecimento nos


processos de desenvolvimento de software e discutimos os problemas decorrentes da
distribuição do conhecimento na organização. Desta forma, desenvolvedores de software
precisam que todo o conhecimento relevante para a realização de suas atividades esteja
facilmente disponível, o que inclui conhecimento sobre o domínio, diretrizes e melhores
práticas organizacionais, técnicas e métodos de desenvolvimento de software, experiências
anteriores com o uso destas técnicas e métodos, e também com o processo de software
(VILLELA et al., 2000) (VILLELA et al., 2003).

A incorporação de conhecimento organizacional nos ADS, como normas, diretrizes


organizacionais, melhores práticas e relatos de experiências, permitiu a sua evolução para
Ambientes de Desenvolvimento de Software Orientados a Organização (ADSOrg). O
objetivo destes ambientes é apoiar o gerenciamento do conhecimento requerido em uma
atividade de engenharia de software, evitando que este conhecimento fique disperso ao

41
longo da estrutura organizacional e, conseqüentemente, sujeito a dificuldades de acesso e,
mesmo, a perdas (VILLELA et al., 2000).

A motivação para a construção de ADSOrg surgiu de duas constatações (VILLELA


et al., 2000):

• Duas ou mais organizações podem desenvolver software para um mesmo


domínio com processos, interesses e características muito distintas, e,

• O conhecimento do domínio não é o único conhecimento importante para


apoiar desenvolvedores de software em suas atividades. Outros conhecimentos
também são extremamente importantes e úteis para os desenvolvedores, como:
diretrizes e melhores práticas organizacionais, lições aprendidas com o uso de
processos, métodos e técnicas de software, etc.

ADSOrg possuem os seguintes objetivos (VILLELA et al., 2000):

• Prover para os desenvolvedores de software o conhecimento acumulado pela


organização e relevante no contexto do desenvolvimento de software; e

• Apoiar o aprendizado organizacional neste contexto.

As atividades realizadas dentro de uma organização podem ser classificadas em


atividades de negócio e atividades de suporte ao negócio. As atividades de negócio são as
diretamente relacionadas à finalidade organizacional, enquanto as outras buscam fornecer
as condições necessárias para a realização das atividades de negócio (VILLELA et al., 2000).
Como o ADSOrg pretende apoiar a atividade de engenharia de software em uma
organização e esta atividade possui diferentes características a depender do tipo de
organização em que é realizada, foi verificada a necessidade de definir dois tipos de
ADSOrg: um para Organizações de Software (por exemplo, empresas de serviços e
consultoria em Informática) e outro para Organizações com outro tipo de negócio (por
exemplo, empresas de telecomunicações, hospitais, bancos, seguradoras, etc) (VILLELA et
al., 2000).

As funções originais da Estação TABA foram revistas e ampliadas para satisfazer


essas necessidades. Suas funções atuais são:
(i) Auxiliar o engenheiro de software na configuração do ambiente mais adequado
para apoiar o desenvolvimento e a manutenção de software em uma

42
organização específica (Ambiente Configurado), considerando seu processo de
software e a gerência do conhecimento organizacional relevante neste contexto;
(ii) Auxiliar o engenheiro de software na instanciação de ambientes de
desenvolvimento de software para projetos específicos (caso a configuração de
um ambiente para organização não seja possível ou considerada adequada);
(iii) Auxiliar os gerentes de projeto na instanciação de ambientes de
desenvolvimento de software para projetos específicos a partir de um Ambiente
Configurado;
(iv) Auxiliar o engenheiro de software de empresas cujo negócio é o
desenvolvimento e a manutenção de software para diversos clientes na
especialização de processos da sua empresa de acordo com as particularidades
de um cliente específico;
(v) Auxiliar o engenheiro de software a implementar ferramentas necessárias aos
ambientes;
(vi) Apoiar, através dos ambientes instanciados, o desenvolvimento e a manutenção
de software, bem como a gerência destas atividades;
(vii) Permitir a execução do software na própria Estação, pelo menos para fins de
teste.

A figura 4.1 ilustra o esquema de instanciação e configuração de ADS na Estação


TABA.

Estação TABA

Processo Padrão
Instanciação Configuração Processos Especializados
Teorias do Domínio

ADS Convencional ADSOD Ambiente Configurado

Instanciação

ADSOrg

Figura 4.1 - Esquema de configuração e instanciação de ADS na Estação TABA.

43
A instanciação de ADS convencionais e orientados a domínio continua sendo
possível, mas agora podem ser instanciados ADSORg a partir de ambientes configurados
pela Estação TABA para uma organização utilizando como base o Processo Padrão de
desenvolvimento da organização, processos especializados e teorias do domínio dos
softwares desenvolvidos pela organização.

4.6 Implementação Atual

A implementação da Estação TABA foi iniciada em 1994 a partir do trabalho de


TRAVASSOS (1994). No início, foi desenvolvida utilizando a linguagem Eiffel numa
estação de trabalho da Sun Microsystems®. Com o passar do tempo, percebeu-se que o
poder e a robustez da plataforma, apesar de adequadas ao ambiente de pesquisas,
dificultava a experimentação das idéias em outros ambientes devido à falta de portabilidade
do código para plataformas mais acessíveis e comumente utilizadas. Com o intuito de
solucionar este problema, foi realizada uma re-implementação onde se optou pela
plataforma de microcomputadores e pelo uso da linguagem C++ (OLIVEIRA, 1999)
(SANTOS e ZLOT, 1999).

Com a re-implementação, o modelo de dados foi revisto e avaliado de forma a


limitar o trabalho de implementação a funcionalidades básicas, suficientes para a
especificação, instanciação e execução de ambientes de desenvolvimento de software. A
esse subconjunto foram acrescentadas novas características necessárias à definição e
instanciação de ADSOD (OLIVEIRA, 1999).

Com a criação dos ADSOrg, novamente o modelo foi revisto para adequá-lo ao
novo esquema de configuração/instanciação de ambientes e para permitir a definição de
novas ferramentas. Por exemplo, foi desenvolvida a ferramenta Config para atender à

configuração de ambientes para organizações. A ferramenta AdaptPro também foi


desenvolvida e integrada à Estação TABA para apoiar a instanciação do processo de
desenvolvimento de software específico para um projeto, o ADSOrg.

A tabela 4.1 apresenta os serviços e as ferramentas atualmente integradas aos


ambientes TABA que auxiliam os desenvolvedores de software na definição de processos
de desenvolvimento e na execução das atividades de desenvolvimento de software.

44
Tabela 4.1 - Ferramentas disponíveis nos ambientes TABA.

FERRAMENTA DESCRIÇÃO REFERÊNCIAS


(serviço interno da Definição e instanciação de ADS e (OLIVEIRA, 1999) (SANTOS
Estação TABA) ADSOD E ZLOT, 1999)
AssistPro Definição, especialização e (FALBO et al., 1999) (FALBO,
instanciação de processos em ADS. 1998)
EditPro Definição, especialização e (SANTOS e ZLOT, 1999)
instanciação de processos em
ADSOD.
DefPro Definição, especialização e (MACHADO, 2000)
instanciação de processos em (MACHADO et al., 2000a)
ADSOD. (MACHADO et al., 2000b)
Config Configuração de ambientes para
organizações.
EDITED Definição de teorias de domínio e (OLIVEIRA et al., 2000)
tarefas.
EDITAR Definição de teorias de domínio e (OLIVEIRA, 1999) (ZLOT,
tarefas. 2002) (ZLOT et al., 2002)
GENESIS Apoio à atividade de Investigação (GALOTTA, 2000)
do Domínio.
NAVEGUE Apoio à atividade de Investigação (GALOTTA, 2000)
do Domínio.
REGCON Apoio à atividade de Investigação (GALOTTA, 2000)
do Domínio.
(serviço interno da Avaliação de artefatos e de (GALOTTA, 2001)
Estação TABA) processos de software.
RiscPlan Apoio ao planejamento da gerência (FARIAS et al., 2001)
de riscos do projeto. (FARIAS, 2002)
CustPlan Apoio ao planejamento de tempo e (BARCELLOS et al., 2001)
custos do projeto.
RHPlan Apoio ao planejamento de recursos
humanos do projeto.
Sapiens Descrição do conhecimento (VILLELA et al., 2001c)
organizacional. (SANTOS et al., 2002)
(VILLELA et al., 2001a)
AdaptPro Apoio à instanciação de processos (BERGER, 2003)
de desenvolvimento de software
específicos para um projeto
(ADSOrg).
DocPlan Apoio ao planejamento da
documentação do projeto.

45
4.7 Considerações Finais

Neste capítulo, foram apresentados os conceitos de Ambientes de


Desenvolvimento de Software, Ambientes de Desenvolvimento de Software Orientados a
Domínio e Ambientes de Desenvolvimento de Software Orientados a Organização. Foram
descritos, também, a infra-estrutura, características e requisitos da Estação TABA e sua
evolução para a instanciação de ambientes orientados a domínio e orientados a
organização.

No entanto, o apoio através de ferramentas automatizadas é necessário, mas não é


suficiente para que os desenvolvedores de software realizem suas atividades de forma
adequada. Conhecimento relacionado a essas atividades também constitui um recurso
importante para auxiliar os desenvolvedores de software durante a execução das
ferramentas disponíveis na Estação TABA, nos Ambientes Configurados e nos ADSOrg.
Neste contexto, uma abordagem sistemática de aquisição de conhecimento deve ser
definida, implementada e integrada aos ambientes TABA para apoiar a aquisição de
conhecimento de usuários destes ambientes.

O próximo capítulo apresenta um processo de aquisição de conhecimento tácito e


explícito de membros da organização relacionado a processos de negócio. Nesse capítulo,
também são discutidas as funcionalidades de uma ferramenta desenvolvida para apoiar a
execução desse processo no contexto do projeto TABA.

46
CAPÍTULO V – AQUISIÇÃO DE CONHECIMENTO NO
DESENVOLVIMENTO DE SOFTWARE

5.1 Introdução

Nos capítulos anteriores, foram discutidos os principais conceitos relacionados à


gerência do conhecimento, os objetivos da aquisição de conhecimento no desenvolvimento
de software e a necessidade de adquirir este conhecimento segundo um processo
sistemático. Foram, ainda, discutidos os conceitos, objetivos e funções da Estação TABA,
dos Ambientes Configurados e dos Ambientes de Desenvolvimento de Software
Orientados a Organização.

Neste capítulo, é apresentada uma abordagem para aquisição de conhecimento


tácito e explícito de membros da organização definida a partir das características de
aquisição de conhecimento identificadas nos capítulos anteriores. Na seção 5.2, é
apresentada a definição de um processo para aquisição de conhecimento. Na seção 5.3, são
apresentadas as funcionalidades da ferramenta ACKNOWLEDGE desenvolvida para
apoiar a execução do processo de aquisição de conhecimento no desenvolvimento de
software. A definição de um estudo experimental para avaliação da abordagem proposta é
discutida na seção 5.4. Finalmente, a seção 5.5 apresenta algumas considerações finais.

5.2 Processo de Aquisição de Conhecimento

O processo apresentado nesta seção tem como objetivo apoiar a aquisição de


diferentes tipos de conhecimento de membros da organização em diferentes contextos e
pode ser aplicado em áreas diversas de negócio. Esse conhecimento abrange, mas não se
restringe a conhecimento do domínio (teoria do domínio, etc), conhecimento da área do
negócio (melhores práticas, conhecimento sobre clientes, novas tecnologias, etc),
conhecimento de experiências passadas (lições aprendidas, problemas que ocorreram em
situações semelhantes, etc.) e conhecimento obtido por membros da organização durante a
execução dos processos (idéias, sugestões de melhorias, etc). Os requisitos considerados na
definição das atividades do processo de aquisição de conhecimento foram levantados

47
tomando como base as abordagens de aquisição de conhecimento identificadas a partir da
revisão da literatura apresentada nos capítulos II e III. Estes requisitos são:
(i) Permitir a aquisição de conhecimento de membros da organização relacionado
à execução de processos de negócio e conhecimento independente da execução
de um processo;
(ii) Permitir filtrar o conhecimento de valor antes de armazenar no repositório da
organização;
(iii) Garantir que o conhecimento adquirido está representado de forma adequada
para ser reutilizado;
(iv) Garantir que o conteúdo do conhecimento está claro e pode ser facilmente
compreendido;
(v) Garantir que o novo conhecimento está disponível para reutilização por outros
membros da organização.

A figura 5.1 apresenta o workflow do processo de aquisição de conhecimento. Os


workflows apresentados neste capítulo foram elaborados segundo a notação de modelagem
de processos descrita no anexo I e proposta por BONFIM (2001).

Início do Registrar
processo conhecimento

Base
intermediária

Executor da atividade
Especialista no processo

Base
intermediária

Filtrar
Comitê de avaliação
conhecimento

Base
intermediária

Empacotar Comunicar Fim do


conhecimento público-alvo processo

Repositório da
Gerente do conhecimento organização

Figura 5.1 – Workflow do processo de aquisição de conhecimento.

48
As atividades do processo de aquisição de conhecimento são descritas a seguir:

i. Registrar conhecimento: Esta atividade tem como objetivo adquirir de


especialistas em um determinado processo, conhecimento explícito sobre
descrição das atividades do processo e conhecimento tácito utilizado nas
tomadas de decisão das atividades do processo. A aquisição de
conhecimento pode ser realizada em dois momentos diferentes: (a)
aquisição independente da execução de um processo, e, (b) aquisição
durante a execução de um processo. Todo o conhecimento adquirido é
armazenado em uma base intermediária para ser avaliado pelo comitê de
avaliação de conhecimento da organização.

No caso da aquisição de conhecimento ser realizada independente da


execução de um processo, as seguintes sub-atividades devem ser realizadas:

• Descrever processo: O objetivo desta atividade é adquirir


conhecimento sobre como executar as atividades de um processo, além
de conhecimento sobre o fluxo destas atividades e suas sub-atividades.
Para isto, devem ser fornecidas informações, por exemplo, sobre
métodos, técnicas, diretrizes e ferramentas utilizadas durante a execução
da atividade/sub-atividade, além de informações sobre os insumos e
produtos de cada atividade/sub-atividade do processo.
Produto: Descrição do processo registrado na base intermediária.
Responsável: Especialista no processo.

• Inserir caso: O objetivo desta atividade é inserir um caso relacionado à


execução de uma atividade de um processo com base em experiências
anteriores do especialista. Um caso compreende um conjunto de
informações sobre uma situação de tomada de decisão em uma
atividade de um processo de negócio, bem como as justificativas da
decisão tomada. Inicialmente, o especialista descreve o caso
identificando o contexto e as variáveis que compõem o caso e suas
propriedades. A situação de tomada de decisão, também, deve ser
identificada para completar a descrição do caso. Em seguida, o
especialista deve analisar as características do caso e então, descrever a

49
decisão que considera mais adequada para o caso descrito. Finalmente,
o especialista justifica sua decisão através da identificação das
características do caso e das razões que influenciaram na sua decisão.
Produto: Caso registrado na base intermediária.
Responsável: Executor da atividade.

No caso da aquisição de conhecimento ser realizada durante a execução de


um processo, as seguintes sub-atividades devem ser realizadas:

• Identificar tipo de conhecimento: Nesta atividade, o membro da


organização identifica o tipo de conhecimento relacionado à atividade
do processo sendo executada que deseja registrar. O anexo II apresenta
alguns dos tipos de itens de conhecimento importantes de serem
adquiridos e a definição da estrutura de cada um desses tipos. No
entanto, outros tipos de itens de conhecimento podem ser definidos de
acordo com as necessidades de conhecimento da organização.
Produto: Tipo de conhecimento identificado.
Responsável: Profissional que executa a atividade específica do processo.

• Registrar item de conhecimento: Nesta atividade, o membro da


organização fornece as informações referentes ao tipo de conhecimento
identificado e registra o item de conhecimento. Para isto, deve ser
preenchido um questionário específico para o tipo do item de
conhecimento. Estes questionários podem ser elaborados a partir da
definição da estrutura do tipo de conhecimento em questão.
Produto: Item de conhecimento registrado na base intermediária.
Responsável: Profissional que executa a atividade específica do processo.

A figura 5.2 apresenta o detalhamento da atividade Registrar Conhecimento.

50
[Inserir caso]
[Processo descrito]
Inserir
[Aquisição independente caso
da execução do processo]
[Processo não Base
descrito] intermediária
[Não inserir caso]
Descrever
Início do processo
processo
Base Fim da
intermediária atividade

Especialista no processo

[Aquisição durante a
execução do processo]

Identificar tipo Registrar item de


de conhecimento conhecimento
Base
Executor da atividade intermediária

Figura 5.2 – Detalhamento da atividade Registrar Conhecimento.

ii. Filtrar conhecimento: O objetivo desta atividade é verificar a adequação


do formato de representação e do conteúdo dos itens de conhecimento
registrados na base intermediária, ou seja, nesta atividade, deverá ser
verificado se os itens de conhecimento possuem valor e se poderão ser
reutilizados. As seguintes sub-atividades devem ser realizadas:

• Atribuir itens de conhecimento aos membros do comitê de


avaliação: Nesta atividade, devem ser selecionados um ou mais
membros do comitê de avaliação para realizar a avaliação de cada item
de conhecimento registrado e pendente de avaliação;
Produto: Itens de conhecimento atribuídos para avaliação.
Responsável: Coordenador do comitê de avaliação.

• Notificar membros do comitê de avaliação: Nesta atividade, uma


notificação deve ser encaminhada para cada membro do comitê de
avaliação ao qual tenha sido atribuído um item de conhecimento para
avaliação;

51
Produto: Membros do comitê notificados.
Responsável: Coordenador do comitê de avaliação.

• Avaliar o item de conhecimento: Nesta atividade, cada membro do


comitê de avaliação da organização deve elaborar um parecer. Para isto
o item de conhecimento deve ser avaliado quanto aos seguintes
critérios, além de outros que a organização venha a definir:
o Correção: o item de conhecimento não contém erros (BAISCH e
LIEDTKE, 1998);
o Completude: o item de conhecimento contém as informações
necessárias para ser compreendido de forma adequada
(WANGENHEIM et al., 2001b);
o Consistência: o item de conhecimento apresenta informações
coerentes e sem ambigüidades (WANGENHEIM et al., 2001a);
o Utilidade: a relação entre o custo de empacotamento e os benefícios
de utilização do item de conhecimento é satisfatória (FUJIHARA e
SIMMONS, 1997) (HOUDEK e SCHNEIDER, 1999);
o Aplicabilidade: o item de conhecimento pode ser aplicado de forma
adequada pelo grupo de potenciais usuários (O´DELL e
GRAYSON, 1998).

O parecer do avaliador pode ter quatro resultados:


o Aprovado: o item de conhecimento deve ser disponibilizado na
organização;
o Aprovado com modificações: o item de conhecimento deve ser
disponibilizado na organização, mas modificações devem ser
realizadas para adequá-lo. O avaliador deve indicar quais as
mudanças a serem realizadas no item de conhecimento;
o Não aprovado: o item de conhecimento não possui valor que
justifique a sua disponibilidade na organização;
o Indefinido: o avaliador teve dificuldade em compreender e avaliar o
item de conhecimento.
Produto: Parecer de avaliação por membros do comitê.
Responsável: Membro do comitê de avaliação.

52
• Analisar avaliações individuais: Nesta atividade, o coordenador do
comitê de avaliação analisa as avaliações individuais e, caso exista um
consenso entre elas, a atividade Tomar decisão pertinente deve ser
executada. Caso contrário, a atividade Encaminhar para consenso deve ser
executada;
Produto: Avaliações individuais analisadas.
Responsável: Coordenador do comitê de avaliação.

• Encaminhar para consenso: Caso exista necessidade de consenso


pelas avaliações individuais não permitirem, ainda, se chegar a uma
conclusão, cada avaliador recebe sua avaliação sobre o item de
conhecimento, bem como a dos demais avaliadores envolvidos na
avaliação do item em questão.
Produto: Item de conhecimento encaminhado para consenso.
Responsável: Coordenador do comitê de avaliação.

• Discutir avaliação: O objetivo desta atividade é chegar a um consenso


entre os avaliadores sobre o parecer a ser dado ao item de
conhecimento a partir das avaliações individuais. O grupo de
avaliadores deve, então, discutir e definir um parecer final para o item
de conhecimento de acordo com os quatro resultados possíveis:
o Aprovado;
o Aprovado com modificações;
o Não aprovado;
o Indefinido.
Produto: Parecer final do item de conhecimento.
Responsável: Membros do comitê de avaliação.

• Atualizar avaliações: Nesta atividade, os avaliadores após discutirem


sobre o conhecimento e definirem seu parecer final, devem atualizar as
avaliações individuais para refletir o resultado do consenso. Em seguida,
a atividade Analisar avaliações individuais deve ser novamente executada;
Produto: Avaliações atualizadas.
Responsável: Membro do comitê de avaliação.

53
• Tomar decisão pertinente: Nesta atividade, o coordenador do comitê
de avaliação ao receber o resultado do consenso deve analisar o parecer
dos avaliadores e tomar uma das seguintes decisões:
o Encaminhar o conhecimento para atividade de empacotamento,
caso o parecer das avaliações tenha sido “Aprovado” ou “Aprovado
com modificações”,
o Remover o conhecimento, caso o resultado do parecer das
avaliações tenha sido “Não aprovado”;
o Manter o conhecimento na base, caso o parecer das avaliações
tenha sido “Indefinido”;
Produto: Decisão pertinente para o item de conhecimento.
Responsável: Coordenador do comitê de avaliação.

A figura 5.3 apresenta o detalhamento da atividade Filtrar Conhecimento.

[Se parecer for


Não aprovado
ou Indefinido]
Base
Base intermediária [Existe
intermediária Fim do
consenso]
processo
[Se parecer for Aprovado
Tomar decisão ou Aprovado com
Atribuir itens de Notificar Analisar pertinente
membros do Modificação]
conhecimento avaliações
aos membros comitê de individuais
do comitê de avaliação Fim da
[Não existe
avaliação atividade
consenso]

Encaminhar
para consenso

Coordenador do
comitê de avaliação

Avaliar o item de Atualizar


Discutir
conhecimento avaliações
avaliação
Base
Membros do comitê Base intermediária
de avaliação intermediária

Figura 5.3 – Detalhamento da atividade Filtrar Conhecimento.

54
iii. Empacotar conhecimento: O objetivo desta atividade é adaptar o
conteúdo do conhecimento avaliado da base intermediária e transformar o
formato de aquisição desse conhecimento em um formato adequado para
sua transferência. Desta forma, esta atividade deve ser realizada
considerando dois níveis: (a) nível conceitual (o conhecimento é
empacotado quanto ao seu conteúdo, ou seja, envolve a análise, edição,
interpretação, tradução e síntese do conhecimento) e (b) nível físico (o
conhecimento é empacotado quanto à sua forma física, ou seja, envolve a
reestruturação do formato de representação do conhecimento). As
seguintes sub-atividades devem ser realizadas:

• Rever o item de conhecimento: O objetivo desta atividade é rever o


conteúdo do item de conhecimento e estruturá-lo segundo o formato
mais adequado para ser disponibilizado na organização. A revisão do
conteúdo do item de conhecimento envolve a padronização dos termos
utilizados no pacote de conhecimento, a substituição dos termos
específicos por termos genéricos e a uniformização do estilo da redação.
No caso do item de conhecimento ter sido aprovado com modificações,
alterações devem ser realizadas no conteúdo do item segundo as
modificações especificadas pelos avaliadores;
Produto: Item de conhecimento revisto.
Responsável: Gerente do conhecimento.

• Indexar item de conhecimento: O objetivo desta atividade é indexar


o conhecimento no repositório da organizacional para ser recuperado
durante a execução de um processo pelos membros da organização. Os
índices do item devem ser definidos baseados no contexto de aquisição
do conhecimento (fontes do conhecimento, etc.) e no contexto de
aplicação do conhecimento (atividades do processo relacionadas ao
conhecimento, público alvo, etc). Palavras-chaves também devem ser
associadas ao item de conhecimento para facilitar a sua recuperação;
Produto: Item de conhecimento indexado no repositório da organização.
Responsável: Gerente do conhecimento.

55
A figura 5.4 apresenta o detalhamento da atividade Empacotar Conhecimento.

Base Base
intermediária intermediária

Fim da
Rever item de Indexar item de
atividade
conhecimento conhecimento

Repositório da
organização
Gerente do conhecimento

Figura 5.4 – Detalhamento da atividade Empacotar conhecimento.

iv. Comunicar público-alvo: O objetivo desta atividade é comunicar ao


público alvo sobre o novo item de conhecimento disponibilizado. A
comunicação deve conter informações sobre o conteúdo do item e seu
contexto de utilização.
Produto: Público-alvo comunicado sobre o item de conhecimento.
Responsável: Gerente do conhecimento.

5.3 ACKNOWLEDGE: uma Ferramenta para Aquisição de


Conhecimento no Desenvolvimento de Software

A ferramenta ACKNOWLEDGE foi desenvolvida e integrada nos ambientes


TABA para apoiar a execução do processo de aquisição de conhecimento descrito na seção
anterior no contexto de desenvolvimento de software. O anexo III apresenta o modelo de
classes desta ferramenta. A ferramenta ACKNOWLEDGE é composta dos seguintes
módulos:

• Cadastro de tipos de conhecimento: através deste módulo o gerente do


conhecimento pode cadastrar e definir a estrutura de novos tipos de

56
conhecimento, além do contexto de aquisição desses tipos (independente ou
durante a execução de um processo);

• Alimentação da base de conhecimento: através deste módulo especialistas


nos processos da organização podem registrar descrições desses processos e os
executantes das atividades dos processos podem registrar casos baseados em
experiências passadas;

• Coordenação da filtragem de conhecimento: através deste módulo o


coordenador do comitê de avaliação pode coordenar a filtragem de itens de
conhecimento armazenados na base intermediária;

• Empacotamento de conhecimento: através deste módulo o gerente do


conhecimento pode empacotar o conhecimento armazenado na base
intermediária e avaliado pelo comitê de avaliação;

• Registro de conhecimento: através deste módulo usuários dos ambientes


TABA podem registrar conhecimento.

O módulo de Avaliação de conhecimento foi também desenvolvido em um


servidor Web para permitir a avaliação de itens de conhecimento pelos membros do comitê
de avaliação através da Internet ou rede intranet da organização. Para tanto, o conhecimento
armazenado na base intermediária é exportado em um repositório XML. Os avaliadores
avaliam esse conhecimento e suas avaliações individuais são também armazenadas no
repositório XML e importadas para a base intermediária para serem analisadas pelo
coordenador do comitê de avaliação durante a filtragem do conhecimento. O módulo
Consulta de conhecimento também foi desenvolvido e integrado aos ambientes TABA
para permitir a consulta de conhecimento do repositório da organização durante a
execução das ferramentas disponíveis nesses ambientes.

A figura 5.5 apresenta a arquitetura da ferramenta ACKNOWLEDGE. Nesta


figura, são descritas a integração da ferramenta nos ambientes TABA e a relação entre os
módulos da ferramenta e os módulo de consulta e avaliação de conhecimento.

57
ACKNOWLEDGE

Cadastro de tipos de conhecimento

Alimentação da base de
conhecimento
Coordenação da filtragem de
Estação TABA e conhecimento
Ambientes Configurados
Empacotamento de conhecimento

Registro de conhecimento

ADSOrg

Consulta de conhecimento

Avaliação de conhecimento Servidor Web

Base intermediária Repositório XML Repositório da


organização

Figura 5.5 – Arquitetura da ferramenta ACKNOWLEDGE e sua integração nos


ambientes TABA.

Os módulos Cadastro de tipos de conhecimento, Alimentação da base de


conhecimento, Coordenação da filtragem de conhecimento e Empacotamento de
conhecimento foram desenvolvidos em Microsoft Visual C++ e estão integradas apenas
na Estação TABA e nos Ambientes Configurados. Os módulos Registro de
conhecimento e Consulta de conhecimento também foram desenvolvidos em
Microsoft Visual C++ e estão integradas: (i) à ferramenta de configuração de ambientes
para organizações (Config) na Estação TABA, (ii) à ferramenta para adaptação de

processos de software para projetos específicos e instanciação de ADSOrg (AdaptPro)


nos Ambientes Configurados e (iii) às ferramentas de apoio às atividades de
desenvolvimento de software nos ADSOrg. O módulo Avaliação de conhecimento foi
desenvolvido em ASP.NET e C# em um servidor Web.

58
5.3.1 Cadastrar Tipos de Conhecimento

Lições aprendidas, idéias, dúvidas e problemas são alguns dos tipos de


conhecimento importantes de serem adquiridos. No entanto, cada conhecimento desses
tipos é constituído de um conjunto específico de informações relacionadas entre si. Após
identificar um tipo de conhecimento importante de ser adquirido, o gerente do
conhecimento da organização pode cadastrar o conhecimento pela ferramenta
ACKNOWLEDGE na Estação TABA ou nos Ambientes Configurados. A definição da
estrutura dos tipos de conhecimento é realizada pela própria organização de acordo com
seu interesse. A figura 5.6 apresenta a tela de cadastro de tipos de conhecimento na qual o
gerente do conhecimento pode definir o conjunto de informações que compõem
conhecimentos desses tipos e a relação entre elas. A identificação de relações entre
informações que compõem um tipo de conhecimento permitirá desenvolver mecanismos
de recuperação semântica de conhecimento. Por exemplo, na figura 5.6, está sendo
apresentada a estrutura do tipo de conhecimento Lição aprendida. Uma lição aprendida
contém as seguintes informações: Título, Problema, Conseqüência do problema, Causa do problema,
Solução para o problema e Resultado da solução. A informação Solução para o problema se
relaciona com a informação Problema. Esta relação pode ser identificada como é-solução-de.

Figura 5.6 - Tela de cadastro de tipos de conhecimento.

59
Desta forma, pode ser possível recuperar conhecimento de lições aprendidas que
descrevem diferentes soluções para o mesmo problema. Isto pode ser útil para avaliar os
resultados das diferentes soluções e adotar uma delas como melhor prática na organização.
O gerente do conhecimento deve especificar também a forma de aquisição do
conhecimento, ou seja, se a aquisição do conhecimento é independente da execução de um
processo ou é realizada durante a execução de um processo. No caso do conhecimento ser
adquirido durante a execução de um processo, deve ser definido também o contexto de
aquisição do conhecimento. Este contexto compreende o conjunto de atividades de um
processo no qual conhecimento desse tipo pode ser adquirido (figura 5.7).

Figura 5.7 - Tela de definição do contexto de aquisição de um tipo de conhecimento.

Se a forma de aquisição for independente da execução de um processo, mas não for


especificado nenhum contexto de aquisição, a ferramenta ACKNOWLEDGE irá assumir
que o conhecimento poderá ser adquirido durante todas as atividades de todos os
processos. No caso do conhecimento ser adquirido independente da execução de um
processo, o registro desse conhecimento poderá ser realizado somente na Estação TABA
ou nos Ambientes Configurados pelos especialistas no processo em questão ou por
executantes da atividade do processo através do módulo Alimentar base de
conhecimento.

60
5.3.2 Adquirir Conhecimento Independente da Execução de um
Processo

A aquisição de conhecimento independente da execução de um processo é


realizada para alimentar a base de conhecimento com conhecimentos importantes de serem
utilizados, mas que não estão relacionados à execução específica de um processo. Casos
baseados em experiências passadas de membros da organização e descrições de processos
de software são tipos de conhecimento que podem ser adquiridos independente da
execução de um processo. A figura 5.8 apresenta a tela de alimentação da base de
conhecimento a partir da qual especialistas e executantes das atividades do processo em
questão podem registrar itens de conhecimento. Após ser filtrado, este conhecimento
poderá ser consultado durante as execuções das ferramentas nos ambientes TABA.

Figura 5.8 - Tela de alimentação da base de conhecimento.

A figura 5.9 apresenta a tela de registro de um conhecimento do tipo Caso na qual


devem ser fornecidas as informações relacionadas ao conhecimento e registrado na base
intermediária para ser posteriormente avaliado pelo comitê de avaliação de conhecimento.

61
Figura 5.9 - Tela de registro de um conhecimento do tipo Caso.

Conhecimentos dos tipos Descrições de processos e Casos, geralmente, contém de forma


implícita conhecimentos sobre regras de negócio que podem ser aplicadas durante a
execução das atividades dos processos da organização. A ferramenta ACKNOWLEGE
permite, então, a aquisição e representação destas regras na forma de associações entre
informações presentes no conteúdo do conhecimento. A figura 5.10 apresenta a tela de
geração dessas regras de associações. Nesta tela, o usuário pode definir uma nova regra a
partir da identificação de um conjunto de informações (Fatos observados) que implicam
logicamente em um outro conjunto de informações (Asserção). Após definir a regra, a
ferramenta investiga as regras de associações armazenadas na base de conhecimento e gera
novas regras através da aplicação de três regras de generalização: eliminação de um dos
elementos da associação, transformação de conjunção para disjunção e definição de
disjunção interna para um dos elementos da associação. A ferramenta ACKNOWLEDGE
apresenta as regras generalizadas ao especialista e este seleciona apenas as regras
generalizadas que concorda. Finalmente, as regras selecionadas são armazenadas em uma
base de conhecimento e poderão ser utilizadas, por exemplo, no desenvolvimento de
sistemas especialistas de apoio à tomada de decisão integrados aos ambientes TABA.

62
Figura 5.10 - Tela de geração de regras de associação.

5.3.3 Adquirir Conhecimento Durante a Execução de um


Processo

A ferramenta ACNOWLEDGE foi integrada às ferramentas disponíveis nos


ambientes TABA para possibilitar a aquisição de conhecimento durante a execução de um
processo. A figura 5.11 apresenta a tela de uma ferramenta de apoio ao processo de
planejamento de riscos (RiscPlan) em um ambiente de desenvolvimento de software gerado
pela Estação TABA (FARIAS, 2002). A barra lateral esquerda dessa ferramenta apresenta
de forma hierárquica e seqüencial as atividades relacionadas a este processo. Durante a
execução de qualquer uma dessas atividades, é possível registrar um conhecimento clicando
no ícone com uma figura de uma lâmpada localizado na parte superior direita da
ferramenta. Ao clicar neste ícone, é apresentada uma lista de todos os tipos de
conhecimento possíveis de serem adquiridos na atividade corrente. Após clicar no tipo de
conhecimento desejado, uma janela é exibida para permitir que seja registrado um
conhecimento do tipo selecionado. De forma semelhante ao registro de conhecimento
independente da execução de um processo, o conhecimento registrado é armazenado em
uma base intermediária para ser avaliado pelo comitê de avaliação de conhecimento.

63
Figura 5.11 - Integração do ACKNOWLEDGE com RiscPlan.

5.3.4 Filtrar Conhecimento

Todo conhecimento registrado na base intermediária deve ser filtrado para


identificar o conhecimento cuja utilização poderá trazer benefícios para a organização antes
de ser empacotado e disponibilizado no repositório da organização. Inicialmente, os itens
de conhecimento são atribuídos a membros de um comitê de avaliação capazes de avaliar o
conhecimento. A figura 5.12 apresenta a tela na qual o gerente de conhecimento pode
consultar todos os itens de conhecimento registrados e que ainda não foram encaminhados
para avaliação. Através desta tela, o gerente seleciona um item para ser avaliado, escolhe os
avaliadores para o item na lista de membros do comitê de avaliação e envia uma notificação
por email aos avaliadores. Esta notificação contém um link para uma página na Web com o
conteúdo do conhecimento a ser avaliado e um formulário de avaliação.

64
Figura 5.12 - Tela de atribuição de conhecimento a membros do comitê de
avaliação.

A figura 5.13 apresenta a tela de avaliação de um conhecimento já preenchida por


um avaliador com as seguintes informações: grau de qualificação do avaliador na área
relacionada ao conhecimento, graus dos critérios de avaliação segundo a opinião do
avaliador e o parecer final do avaliador para o item de conhecimento.

Figura 5.13 - Tela de avaliação do conhecimento.


65
Após os itens de conhecimento terem sido avaliados, o gerente de conhecimento
deve analisar as avaliações individuais e tomar uma decisão para o conhecimento. A figura
5.14 apresenta a tela de tomada de decisão do gerente do conhecimento. A partir desta tela,
o gerente do conhecimento pode visualizar o grau de qualificação dos avaliadores, os
pareceres individuais e os graus atribuídos aos critérios de avaliação por cada avaliador.
Caso o coordenador do comitê considere que não houve consenso entre as avaliações
individuais, o conhecimento é encaminhado para consenso. Neste caso, uma notificação é
enviada por email aos avaliadores contendo um link para uma página na Web com a
avaliação registrada pelo avaliador para ser atualizada e links para páginas na Web com as
demais avaliações para serem consultadas. Os avaliadores após discutirem sobre o
conhecimento, definem um parecer final e atualizam as avaliações individuais para refletir o
resultado do consenso. Finalmente, o coordenador do comitê deve analisar novamente as
avaliações individuais e tomar uma das seguintes decisões: (i) encaminhar o conhecimento
para atividade de empacotamento, caso o parecer das avaliações tenha sido “Aprovado” ou
“Aprovado com modificações”, (ii) remover o conhecimento, caso o resultado do parecer
das avaliações tenha sido “Não aprovado” e (iii) manter o conhecimento na base, caso o
parecer das avaliações tenha sido “Indefinido”.

Figura 5.14 - Tela de tomada de decisão pertinente ao conhecimento.

66
5.3.5 Empacotar Conhecimento

O conhecimento aprovado pelo comitê de avaliação deve ser, então, empacotado


para permitir que seja acessado de forma adequada pelos membros da organização. A figura
5.15 apresenta a tela de empacotamento de um conhecimento do tipo Lição aprendida na
qual o gerente do conhecimento pode adaptar o seu conteúdo através da padronização dos
termos utilizados no conhecimento, substituir os termos específicos por termos genéricos e
uniformizar o estilo da redação para que o conhecimento possa ser mais bem
compreendido em contextos diferentes do qual fora adquirido. Em seguida, o gerente pode
também rever o formato do item de conhecimento e, caso julgue necessário, modificar a
sua estrutura para facilitar a sua compreensão.

Figura 5.15 - Tela de empacotamento do conhecimento.

O conhecimento revisto deve, então, ser indexado no repositório da organização. A


figura 5.16 apresenta a tela de indexação do conhecimento. A indexação do conhecimento
é realizada através da associação de palavras-chave ao item que auxiliem a recuperação do
conhecimento pelos membros da organização. Para facilitar a escolha de palavras-chave, a
ferramenta identifica automaticamente conceitos da teoria de processo de desenvolvimento
de software que estejam presentes no conteúdo do item e as apresenta em uma lista.

67
Conceitos da teoria de processo de desenvolvimento
de software presentes no conteúdo do conhecimento

Figura 5.16 - Tela de indexação do conhecimento.

Após indexar o conhecimento, uma notificação é enviada por email aos membros da
organização que fazem parte do público-alvo do conhecimento, comunicando-os sobre a
sua disponibilidade no repositório da organização. O público-alvo é constituído de
membros da organização que possuem permissão para executar as atividades do processo
indexadas ao conhecimento.

5.3.6 Consultar Conhecimento

O conhecimento armazenado na memória organizacional pode ser consultado


durante a execução das ferramentas pelos usuários dos ambientes TABA clicando no ícone
com um símbolo de interrogação localizado na parte superior direita da ferramenta. Ao
clicar neste ícone, é apresentada uma lista de todos os tipos de conhecimento possíveis de
serem consultados na atividade corrente. Após clicar no tipo de conhecimento desejado,
uma janela é exibida para permitir que seja consultado um conhecimento do tipo
selecionado. A figura 5.17 apresenta a tela de consulta de conhecimento. Através desta tela,
o usuário pode consultar todos os conhecimentos disponíveis na base de conhecimento de
forma parametrizada identificando as palavras-chaves que devem estar associadas ao
conhecimento procurado.

68
Figura 5.17 - Tela de consulta de conhecimento relacionado à atividade.

Comentários de outros usuários sobre um conhecimento também podem ser


visualizados nessa tela. Estes comentários aumentam a confiança dos usuários da
ferramenta no conhecimento sendo consultado visto que outros usuários utilizaram o
conhecimento e obtiveram benefícios com a sua utilização. Os comentários de usuários do
conhecimento também podem ser úteis durante a manutenção do repositório da
organização para identificar o conhecimento armazenado que realmente está trazendo
benefícios para a organização. A figura 5.18 apresenta o formulário de registro do
comentário de utilização do conhecimento. A partir desta tela o usuário pode identificar o
grau de utilidade do conhecimento e descrever os benefícios alcançados ou problemas
encontrados com a sua utilização.

Figura 5.18 - Tela de registro dos benefícios do conhecimento.

69
5.4 Estudo experimental

Um estudo experimental foi definido e planejado para analisar a abordagem de


aquisição de conhecimento apresentada neste capítulo. Este estudo visa caracterizar a
abordagem segundo os seguintes aspectos:

• Viabilidade: (i) a capacidade da abordagem de criar pacotes de conhecimento


com um certo esforço e em um certo espaço de tempo que viabilizam a sua
adoção e (ii) a abordagem traz benefícios para o processo de desenvolvimento
de software;

• Integridade: a capacidade da abordagem de garantir que o conhecimento não é


alterado na criação do pacote;

• Eficácia: a capacidade da abordagem de criar pacotes de conhecimento que


podem ser acessados e absorvidos com um esforço menor do que se a
abordagem não tivesse sido aplicada.

O estudo experimental tem como objetivo combinar um estudo de caso e um survey.


Inicialmente, será realizado um estudo de caso com desenvolvedores de software de micro
e pequenas empresas que desenvolvem projetos de software utilizando os Ambientes
Configurados pela Estação TABA e os ADSOrg instanciados. Neste estudo de caso, os
participantes irão aplicar a abordagem proposta para criar um conjunto de pacotes de
conhecimento sobre processo de software. Em seguida, será conduzido um survey no qual
os participantes do estudo deverão responder um questionário com o propósito de coletar
informações quantitativas e qualitativas relacionadas à aplicação da abordagem.

A execução deste estudo requer que ambientes sejam configurados para um


conjunto mínimo de organizações e que membros dessas organizações estejam utilizando
ADSOrg instanciados para apoiar o desenvolvimento de pelo menos um projeto de
software. No entanto, o tempo necessário para configurar um ambiente para uma
organização, iniciar e executar um projeto de software supera o tempo previsto para
conclusão de uma tese de mestrado. Assim, as próximas seções descrevem o plano do
estudo experimental a ser executado em 11 empresas do Rio de Janeiro a partir de agosto
de 2003 através de um convênio firmado entre a COPPE e a Riosoft. A seção 5.4.1
apresenta o objetivo do estudo. A instrumentação utilizada no estudo é descrita na seção
5.4.2. As seleções do contexto e dos indivíduos são apresentadas nas seções 5.4.3 e 5.4.4,

70
respectivamente. A seção 5.4.5 apresenta as variáveis definidas no estudo. A análise
quantitativa a ser realizada é discutida na seção 5.4.6 e a validade do estudo é apresentada
na seção 5.4.7.

5.4.1 Objetivo do Estudo

O objetivo deste estudo é analisar a abordagem de aquisição de conhecimento


apresentada na seção anterior com o propósito de caracterizá-la com respeito à viabilidade,
integridade e eficácia do ponto de vista de desenvolvedores de software e usuários do
conhecimento no contexto de desenvolvedores de software empacotando e utilizando itens
de conhecimento. Neste contexto, as seguintes questões devem ser respondidas para
possibilitar esta caracterização:

• Q1: A aplicação da abordagem de aquisição de conhecimento é viável?


Métrica: Indicação da viabilidade de adoção da abordagem e dos benefícios para
o processo de desenvolvimento de software segundo a opinião dos
participantes do estudo;

• Q2: Existe diferença entre o conteúdo dos itens de conhecimento e dos pacotes
de conhecimento criados a partir desses itens?
Métrica: Conteúdo dos pacotes de conhecimento e dos itens de conhecimento
originais;

• Q3: A aplicação da abordagem de aquisição de conhecimento diminui o esforço


de acesso do conhecimento?
Métrica: Esforço de acesso dos pacotes de conhecimento e esforço de acesso
dos itens de conhecimento originais;

• Q4: A aplicação da abordagem de aquisição de conhecimento diminui o esforço


de absorção do conhecimento?
Métrica: Esforço de absorção dos pacotes de conhecimento e esforço de
absorção dos itens de conhecimento originais.

A seguir são listadas as hipóteses definidas para este estudo:

• Hipótese nula (H0): A aplicação da abordagem de aquisição de conhecimento


não traz melhorias para o processo de desenvolvimento de software.

71
PI ─ percentagem de participantes do estudo que indicaram a abordagem como
viável de ser adotada;
PB ─ percentagem de participantes do estudo que indicaram prováveis
benefícios com a adoção da abordagem;
Ci ─ conteúdo do item de conhecimento original;
Cp ─ conteúdo do pacote de conhecimento criado a partir do item;
EAci ─ esforço de acesso ao item de conhecimento original;
EAcp ─ esforço de acesso ao pacote de conhecimento criado a partir do item;
EAbi ─ esforço de absorção do conhecimento do item original;
EAbp ─ esforço de absorção do conhecimento do pacote criado a partir do
item;
H0: PI <= 50% V PB <= 50% V Ci – Cp <> 0 V EAci <= EAcp V EAbi <=
EAbp;

• Hipótese alternativa (H1): A aplicação da abordagem de aquisição de


conhecimento é viável.
PI ─ percentagem de participantes do estudo que indicaram a abordagem como
viável de ser adotada;
PB ─ percentagem de participantes do estudo que indicaram prováveis
benefícios com a adoção da abordagem;
H1: PI > 50% ^ PB > 50%;

• Hipótese alternativa (H2): Não existe diferença ente o conteúdo dos itens de
conhecimento e dos pacotes de conhecimento criados a partir desses itens.
Ci ─ conteúdo do item de conhecimento original;
Cp ─ conteúdo do pacote de conhecimento criado a partir do item;
H2: Ci – Cp = 0;

• Hipótese alternativa (H3): A aplicação da abordagem de aquisição de


conhecimento reduz o esforço de acesso ao conhecimento.
EAci ─ esforço de acesso ao item de conhecimento original;
EAcp ─ esforço de acesso ao pacote de conhecimento criado a partir do item;
H3: EAci > EAcp;

• Hipótese alternativa (H4): A aplicação da abordagem de aquisição de


conhecimento reduz o esforço de absorção do conhecimento.
EAbi ─ esforço de absorção do conhecimento do item original;

72
EAbp ─ esforço de absorção do conhecimento do pacote criado a partir do
item;
H4: EAbi > EAbp.

5.4.2 Descrição da Instrumentação

Para cada item de conhecimento que origina um pacote de conhecimento devem ser
identificados os seguintes atributos:

• Tamanho do item de conhecimento (T): somatório das informações que


compõem o item de conhecimento;

• Tempo de absorção do item de conhecimento (TAb): corresponde ao


tempo gasto em horas para ler e compreender o conteúdo do item de
conhecimento;

• Tempo de acesso ao item de conhecimento (TAc): corresponde ao tempo


gasto em horas para acessar o item de conhecimento.

Para cada pacote de conhecimento criado devem ser identificados os seguintes


atributos:

• Tamanho do pacote de conhecimento (T): somatório das quantidades de


informações que compõem o pacote de conhecimento;

• Tempo de absorção do pacote de conhecimento (TAb): corresponde ao


tempo gasto em horas para ler e compreender o conteúdo do pacote de
conhecimento.

• Tempo de acesso ao pacote de conhecimento (TAc): corresponde ao


tempo gasto em horas para acessar o pacote de conhecimento.

• Tempo de criação do pacote de conhecimento (TC): corresponde ao


tempo gasto em horas para criar o pacote de conhecimento;

• Esforço de criação do pacote de conhecimento (EC): corresponde a uma


indicação do esforço necessário para criar o pacote de conhecimento.

73
Para cada pacote de conhecimento criado devem ser identificados os seguintes
indicadores:

• Indicação da viabilidade de adoção da abordagem de aquisição de


conhecimento (IV)
Valores:
(a) A adoção da abordagem é viável;
(b) A adoção da abordagem não é viável.

• Indicação dos benefícios da abordagem para o processo de


desenvolvimento de software (IB)
Valores:
(a) O processo de desenvolvimento de software poderá ser beneficiado
com a adoção da abordagem;
(b) O processo de desenvolvimento de software não poderá ser beneficiado
com a adoção da abordagem.

Após a identificação dos atributos e indicadores listados anteriormente, deve ser


aplicado um teste estatístico para definir:

• Se pode considerar que a abordagem é viável segundo a opinião dos


participantes do estudo;

• Se pode considerar que o processo de desenvolvimento de software poderá ser


beneficiado com a adoção da abordagem segundo a opinião dos participantes
do estudo.

O resultado esperado com a aplicação do teste estatístico é o seguinte:

• N itens de conhecimento com (T, TAb, TAc);

• N pacotes de conhecimento com (T, TAb, TAc, TC, EC);

• Indicação da viabilidade de adoção da abordagem (IV) e dos benefícios da


abordagem para o processo de desenvolvimento de software (IB) segundo a
opinião dos participantes do estudo.

A tabela 5.1 apresenta o mapeamento entre os atributos da instrumentação e as


questões do estudo experimental.

74
Tabela 5.1 - Mapeamento entre os atributos da instrumentação e as
questões do estudo experimental.
ATRIBUTO QUESTÃO

IV, IB Q1
T do item e T do pacote Q2
TAc do item e TAc do pacote Q3

TAb do item e TAb do pacote Q4

5.4.3 Seleção do Contexto

O contexto de um estudo experimental pode ser analisado conforme quatro


dimensões:

• o processo: on-line / off-line;

• os participantes: alunos / profissionais;

• realidade: o problema real / modelado;

• generalidade: específico / geral.

O estudo supõe a abordagem on-line porque os participantes (desenvolvedores de


software de micro e pequenas empresas) estão participando do estudo durante a execução
real da abordagem de aquisição de conhecimento. O estudo é real, pois serão utilizados no
estudo itens de conhecimento adquiridos em projetos reais de desenvolvimento de
software. A abordagem de aquisição de conhecimento é aplicada a processos de
desenvolvimento de software, portanto, o contexto possui caráter específico.

5.4.4 Seleção dos Indivíduos

Como participantes do estudo se propõe utilizar desenvolvedores de software de


micro e pequenas empresas do Rio de Janeiro. Assume-se que esses indivíduos estão
disponíveis para o estudo.

75
Supõe-se propor aos participantes utilizar um questionário que tem como objetivo
caracterizar sua formação do ponto de vista acadêmico, experiência, tipo de curso entre
outros, para analisar os dados e reduzir o viés.

5.4.5 Variáveis

A seguir são listadas as variáveis que compõem o estudo:

• Variável independente: a abordagem de aquisição de conhecimento.

• Variáveis dependentes:
(i) Indicação de viabilidade de adoção da abordagem: corresponde à percentagem
de participantes do estudo que indicaram viável a adoção da abordagem;
(ii) Indicação de benefícios da abordagem para o processo de desenvolvimento de software:
corresponde à percentagem de participantes do estudo que indicaram
benefícios da abordagem para o processo de desenvolvimento de
software;
(iii) Diferença entre o conteúdo dos pacotes de conhecimento e dos itens de conhecimento
originais: supondo que o conteúdo de itens ou pacotes de conhecimento
está relacionado à quantidade de informações contidos em cada um
deles, calcular a diferença entre o tamanho do pacote de conhecimento
e o tamanho do item de conhecimento que originou o pacote;
(iv) Diferença entre o esforço de acesso aos pacotes de conhecimento e dos itens de
conhecimento originais: calcular a diferença entre o tempo de acesso ao
pacote de conhecimento e o tempo de acesso ao item de conhecimento
que originou o pacote;
(v) Diferença entre o esforço de absorção dos pacotes de conhecimento e dos itens de
conhecimento originais: calcular a diferença entre o tempo de absorção do
pacote de conhecimento e o tempo de absorção do item de
conhecimento que originou o pacote.

5.4.6 Análise Quantitativa

A análise quantitativa tem como objetivo analisar a informação referente à


abordagem de aquisição de conhecimento. Essa análise deve apresentar a indicação de

76
viabilidade de adoção da abordagem e a indicação dos benefícios da abordagem para a
organização. A análise deve apresentar também na forma de gráfico, a diferença no
conteúdo dos pacotes de conhecimento e dos itens de conhecimento originais, a diferença
entre o esforço de acesso aos pacotes de conhecimento e dos itens de conhecimento
originais e a diferença entre o esforço de absorção dos pacotes de conhecimento e dos itens
originais.

5.4.7 Validade

A validade do estudo deve ser realiza segundo os seguintes aspectos:

• Validade interna: como mencionado na seção “Seleção dos indivíduos” o


estudo se propõe a utilizar desenvolvedores de software de micro e pequenas
empresas. Assim, assume-se que eles são representativos para a população dos
desenvolvedores de software. Além disso, para redução da influência dos
fatores que não são de interesse do nosso estudo e, portanto, para aumento da
validade interna do estudo supõe-se utilizar os dados do questionário para
divisão dos participantes em grupos conforme as suas características individuais;

• Validade de conclusão: para avaliar os valores dos atributos da abordagem de


aquisição de conhecimento caracterizado através do estudo. A verificação de
hipótese será feita por meio de simples verificação dos valores das variáveis
dependentes;

• Validade de construção: este estudo está caracterizado pela verificação dos


aspectos da abordagem de aquisição de conhecimento importantes de serem
caracterizados. Para a construção do estudo foram selecionados, segundo o
ponto de vista dos pesquisadores, aspectos da abordagem de aquisição de
conhecimento importantes de serem caracterizados para decidir se a abordagem
deve ou não ser adotada;

• Validade externa: como foi mencionado nas seções “Seleção dos indivíduos”
e “Validade Interna” os participantes do estudo em geral podem ser
considerados representativos para a população dos desenvolvedores de
software. Os materiais utilizados no estudo podem ser considerados
representativos, por que se compõem de itens de conhecimento relacionados a
execuções reais de processos de desenvolvimento de software.

77
5.5 Considerações Finais

Neste capítulo foi apresentada a definição de um processo de aquisição de


conhecimento tácito e explícito de membros da organização relacionado a processos de
negócio. Também foram apresentadas as funcionalidades da ferramenta
ACKNOWLEDGE, desenvolvida para apoiar a execução deste processo no
desenvolvimento de software e integrada a Estação TABA, aos Ambientes Configurados e
aos ADSOrg instanciados.

Um estudo experimental foi definido e planejado para caracterizar a abordagem


apresentada neste capítulo. Através da execução deste estudo deverá ser possível identificar
melhorias a serem realizadas na abordagem e demonstrar os benefícios alcançados com a
sua implementação em organizações desenvolvedoras de software.

Este capítulo finalizou a apresentação da abordagem de aquisição de conhecimento


no desenvolvimento de software. No próximo capítulo serão discutidas algumas
considerações finais e direções futuras para dar continuidade a este trabalho.

78
CAPÍTULO VI - CONSIDERAÇÕES FINAIS

6.1 Introdução

Este trabalho apresentou uma proposta para aquisição de conhecimento após ter
sido realizada uma revisão da literatura na área de gerência de conhecimento e aquisição de
conhecimento. A proposta consiste em adquirir, filtrar e empacotar conhecimento tácito e
explícito de membros da organização relacionado a processos de negócio segundo um
processo sistemático e controlado. Uma ferramenta foi desenvolvida para apoiar a
execução deste processo no contexto de desenvolvimento de software. Esta ferramenta foi
integrada a ferramentas disponíveis na Estação TABA e em seus ambientes configurados e
instanciados. Um estudo experimental também foi planejado e será executado no contexto
de micro e pequenas empresas desenvolvedoras de software a partir do qual será possível
avaliar os benefícios da abordagem de aquisição de conhecimento e identificar melhorias a
serem realizadas nessa abordagem.

Neste capítulo serão apresentadas as conclusões para o trabalho e as contribuições


alcançadas. Também serão discutidas algumas perspectivas futuras para o trabalho.

6.2 Conclusão e Contribuições

A crescente importância dada pelas organizações à gerência do conhecimento


requer que sejam definidos e implementados mecanismos mais eficientes para apoiar as
atividades da gerência de conhecimento. Neste contexto, o objetivo deste trabalho foi
definir um processo sistemático de aquisição de conhecimento para apoiar à aquisição,
filtragem e empacotamento de conhecimento tácito e explícito relacionado aos processos
de negócio da organização. As contribuições desta abordagem são:

• Definição de um processo de aquisição de conhecimento;

• Definição e implementação da ferramenta ACKNOWLEDGE para apoiar a


execução do processo de aquisição definido;

79
• Integração da ferramenta ACKNOWLEDGE às ferramentas da Estação
TABA e de seus ambientes configurados e instanciados;

• Definição e planejamento de um estudo experimental para caracterizar a


abordagem de aquisição de conhecimento proposta;

6.3 Perspectivas Futuras

Como perspectiva mais imediata, a abordagem de aquisição de conhecimento


apresentada neste trabalho está sendo implementada no contexto do projeto Conhecer

(GALOTTA, 2003). O objetivo deste projeto é desenvolver o ambiente CORE-KM


customizável para gerência do conhecimento em diferentes organizações, capaz de apoiar
seus processos organizacionais. Cada customização constitui um ambiente diferenciado que
contempla as características particulares de uma organização específica. A ferramenta
ACKNOWLEDGE será reimplementada no ambiente CORE-KM e disponibilizada nos
ambientes de gerência de conhecimento customizados para apoiar a aquisição de
conhecimento de membros da organização relacionado aos processos organizacionais.
Com esta reimplementação, esperamos para o projeto Conhecer, as mesmas
contribuições identificadas na seção anterior para o projeto TABA.

Diversos trabalhos podem ser definidos e desenvolvidos com o propósito de


melhorar e estender a proposta apresentada, por exemplo:

• Apoio na discussão entre os avaliadores do conhecimento através da adoção de


abordagens de trabalho cooperativo apoiado por computador;

• Integração de outras técnicas de aquisição automática de conhecimento, como


agentes inteligentes;

• Avaliação da completude dos critérios de avaliação de conhecimento e, caso


necessário, acréscimo de novos critérios;

• Apoio na identificação de membros do comitê de avaliação com melhor


qualificação para avaliar itens de conhecimento.

80
Outros trabalhos também podem ser realizados para apoiar as atividades de
gerência de conhecimento utilizando a infra-estrutura de aquisição do conhecimento
proposta, por exemplo:

• Desenvolvimento de mecanismos de disseminação de conhecimento;

• Desenvolvimento de uma abordagem de manutenção do conhecimento para


garantir que o conhecimento adquirido não se torne defasado e não haja
redundâncias de conhecimento no repositório da organização;

• Desenvolvimento de mecanismos mais eficientes de recuperação e visualização


do conhecimento armazenado no repositório da organização.

A partir do estudo experimental planejado para avaliar a abordagem de aquisição de


conhecimento proposta neste trabalho, esperam-se identificar os seguintes benefícios dessa
abordagem no contexto de desenvolvimento de software:

• Preservação do capital intelectual da organização através da conversão de


conhecimento individual ou de grupo em conhecimento organizacional
evitando a perda de conhecimento quando membros saem da organização;

• Aumento das vantagens competitivas da organização, pois a preservação do


conhecimento sobre como os processos de desenvolvimento de software são
realizados aumenta a visibilidade de mudanças a serem realizadas nesses
processos, por exemplo, mudanças para tornar os processos mais ágeis ou para
introduzir novas tecnologias;

• Melhoria na execução dos processos de desenvolvimento de software através da


diminuição da ocorrência de falhas e do apoio à tomada de decisão;

• Promoção do aprendizado organizacional facilitando o treinamento e a troca de


experiências e conhecimentos entre membros da organização;

• Diminuição da interação entre engenheiros do conhecimento e especialistas na


área do negócio durante o processo de aquisição de conhecimento.

81
REFERÊNCIAS BIBLIOGRÁFICAS

ABECKER, A., BERNARDI, A., HINKELMANN, K., KÜHN, O., SINTEK, M., 1998,
“Toward a Technology for Organizational Memories”, IEEE Intelligent Systems, v. 13,
n. 3 (May/Jun), pp. 40-48.

ABECKER, A., BERNARDI, A., SINTEK, M., 1999, “Developing a Knowledge


Management Technology: An Encompassing View on KnowMore, Know-Net and
Enrich”, In: Proceedings of the IEEE WET-ICE '99 Workshop on Knowledge Media
Networking, California, USA, Jun.

ABECKER, A., DECKER, S., 1999, "Organizational Memory: Knowledge Acquisition,


Integration, and Retrieval Issues", Knowledge-Based Systems, pp. 113-124.

ALAVI, M. LEIDNER, D., 1999, “Knowledge Management Systems: Emerging Views


and Practices from the Field”, In: Proceedings of the 32nd Hawaii International Conference
on System Sciences, Maui, Hawaii, Jan.

ARAÚJO, M. A. P., 1998, Automatização do Processo de Desenvolvimento de Software


nos Ambientes Instanciados pela Estação TABA, Tese de M. Sc., COPPE/UFRJ,
Rio de Janeiro, RJ, Brasil.

BAISCH, E., LIEDTKE, T., 1998, “Automated Knowledge Acquisition and Application
for Software Development Projects”, In: Proceedings of the 13th IEEE Conference on
Automated Software Engineering, Honolulu, Hawaii, Oct.

BASILI, V., LINDVALL, M., COSTA, P., 2001, “Implementing the Experience Factory
concepts as a set of Experiences Bases”, In: Proceedings of the International Conference on
Software Engineering and Knowledge Engineering, pp. 102-109, Buenos Aires, Argentina,
Jun.

BECKER-KORNSTAEDT, U., REINERT, R., 2002, “A Concept to Support Process


Model Maintenance through Systematic Experience Capture”, In: Proceedings of the
14th International Conference on Software Engineering and Knowledge Engineering SEKE’02,
Ischia, Italy, July 15-19, pp. 465-468.

BERGER, P., 2003, Instanciação de Processos de Software em Ambientes Configurados na Estação


TABA, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

82
BIGGMAN, J., 2001, “Defining Knowledge: an Epistemological Foundation for
Knowledge Management”, In: Proceedings of the 34th Hawaii International on Systems
Sciences, pp. 1-7.

BIRK, A., DINGSOYR, T., STALHANE, T., 2002, “Postmortem: Never Leave a Project
without It”, IEEE Software, (May/Jun), pp. 43-45.

BIRK, A., TAUTZ, C., 1998, “Knowledge Management of Software Engineering Lessons
Learned”, IESE-Report 002.98/E, Jan.

BONFIM, C. S., 2001, Uma Ferramenta para Modelagem de Processos em Ambientes de


Desenvolvimento de Software Orientados a Organização, Projeto final de curso de
bacharelado em Ciência da Computação, UFBA, Salvador, BA, Brasil.

BRANDT M., NICK M., 2001, “Computer-Supported Reuse of Project Management


Experience with an Experience Base”, K.-D Althoff, R.L. Feldmann, and W. Müller
(Eds): LSO, LNCS 2176, pp. 178-189.

BUERGEL, H. D., SAEUBERT, H., 1999, “The generation of control measures to


determine the success of Knowledge Management”, In: Proceedings of the International
Conference on Technology and Innovation Management, PICMET, v. 1, pp. 126-127.

COOK, J. H., 2000, “XML Sets Stage for Efficient Knowledge Management”, IT
professional, v. 2, n. 3 (May/Jun), pp. 55-57.

CUPIT, J., SHADBOLT, N. R., CHENG, P., PEEBLES, D., 1999, “Compiling
Ontologies into Structured Views and Interviews: The Design of a Graph Drawing
Tool for Knowledge Elicitation”, In: Proceedings of the 12th Workshop on Knowledge
Acquisition, Modelling and Management (KAW'99).

DAVENPORT, T. H., 1993, Process Innovation: Reengineering Work through


Information Technology, Boston, Massachusetts, USA, Harvard Business School
Press, ISBN 0-87584-366-2.

DAVENPORT, T., PRUSAK, L., 1998, “Working Knowledge: How Organizations


Manage What They Know”, Boston, USA, Harvard Business School Press.

DIENG, R., 2000, “Knowledge Management and the Internet”, IEEE Intelligent Systems,
pp. 14-17.

DIGNUM, V., 2000, “Towards a People-Oriented Knowledge Management


Environment”, In: Proceedings of DEXA2000, A.M. Tjoa, R.R. Wagner,A.Al-

83
Zobaidie(eds), 11th International Workshop on Database and Expert Systems Applications,
IEEE Computer Society, London, UK, Sep.

DUBITZKY, W., BÜCHNER, A. G., AZUAJE, F. J., 1999, “Viewing Knowledge


Management as a Case-Based Reasoning Application”, In: Proceedings of the AAAI-99
Workshop on Exploring Synergies of Knowledge Management and Case-Based Reasoning. AAAI
Press, Menlo Park, CA.

EMAN, K. E., DROUIN, J., MELO, W., 1998, “SPICE – The Theory and Practice of
Software Process Improvement and Capability Determination”, IEEE Computer
Society Press.

FALBO, R. A., 1998, Integração de Conhecimento em um Ambiente de Desenvolvimento, Tese de D.


Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

FALBO, R., MENEZES, C., ROCHA, A. R., 1999, “Assist-Pro: Um Assistente Inteligente
para Apoiar a Definição de Processos de Software”, In: Anais do XIII Simpósio Brasileiro
de Engenharia de Software, pp. 147-162, Florianópolis, Brasil, Out.

FARIAS, L., ROCHA, A.R., TRAVASSOS, G.H., 2001, “Producing Project Risk Plans in
Enterprise-Oriented Software Development Environments”, 14th International Conference
Software & Systems Engineering and their Applications, Paris, December.

FARIAS, L.L., 2002, Planejamento de Riscos em Ambientes de Desenvolvimento de Software


Orientados a Organização, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

FATEEV, M., 1998, O Meta-gerador de Ferramentas da Estação TABA, Tese de M. Sc.,


COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

FELDMANN, R. L., ALTHOFF, K-D, 2001, “On the Status of Learning Software
Organizations in the Year 2001”, K.-D Althoff, R.L. Feldmann, and W. Müller (Eds):
LSO, LNCS 2176, pp.2-5.

FERREIRA, A. B. H. F., 2000, “Novo Aurélio Século XXI”, Ed. Nova Fronteira, 2.128pp.

FISCHER, G, 1994; “Domain-Oriented Design Environments”, Automated Software


Engineering - The International Journal of Automated Reasoning and Artificial Intelligence in
Software Engineering, v. 1, n. 2 (Jun), pp 177-203.

FISCHER, G., OSTWALD, J., 2001, “Knowledge Management: Problems, Promises,


realities, and Challenges”, IEEE Intelligent Systems, v. 16, n. 1 (Jan/Feb), pp. 60-72.

84
FOURO, A. M., 2002, Apoio à Construção de Base de Dados de Pesquisa em Ambientes de
Desenvolvimento de Software Orientados a Domínio, Tese de M. Sc., COPPE/UFRJ, Rio de
Janeiro, RJ, Brasil.

FUJIHARA, H., SIMMONS, D. B., 1997, “Knowledge Conceptualization Tool”, In: IEEE
Transactions on Knowledge and Data Engineering, v. 9, n. 2 (Mar/Apr), pp. 209-219.

GALOTTA, C., 2000, Netuno: um Ambiente de Desenvolvimento de Software Orientado ao Domínio


de Acústica Submarinha, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

GALOTTA, C., 2003, Uma Proposta para Apoio Integrado aos Processos de Negócio e de Software,
Exame de Qualificação, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, Jul.

HAMMER, M., CHAMPY, J., 1994, Reengenharia: revolucionando a empresa em função


dos clientes, da concorrência e das grandes mudanças da gerência, Rio de Janeiro,
Editora Campus, ISBN 85-7001-848-7.

HAWRYSZKIEWYCZ, I. T., 2001, “Supporting Knowledge Creation: Combining place,


community and process”, In: Proceeding of the IRMA International Conference, pp. 939-
941.

HENDRIKS, P. H. J., VRIENS, D. J., 1999, “Knowledge-based systems and knowledge


management: Friends or foes?”, Information & Management, v. 35, n. 2 (Feb.), pp. 113-
125.

HENNINGER, S., 1998, “An Environment for Reusing Software Processes”, In:
Proceedings of the Fifth International Conference on Software Reuse, pp.103-112, Victoria,
B.C., Canada, Jun.

HENNINGER, S., 2001, “Turning Development Standards into Repositories of


Experiences”, In: Software Process: Improvement Practice, v. 6, pp. 141-155.

HOLZ, H., KÖNNECKER, 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, pp. 163-177.

HOUDEK, F., SCHNEIDER, K., 1999, “Software Experience Center: The Evolution of
the Experience Factory Concept”.

ISHINO, Y., HORI, K., NAKASUKA, S., 1999, “Strategic Concept Formation of
Consumer Goods Based on Knowledge Acquisition from Questionnaire Data”, In:
Proc. IEEE Systems, Man and Cybernetics Conference (SMC’99), 1999.

85
KOMI-SIRVIÖ, S., MÄNTYNIEMI, A., SEPPÄNEN, V., 2002, “Toward a Practical
Solution for Capturing Knowledge for Software Projects”, IEEE Software,
(May/Jun), pp. 60-62.

LANDES, D., SCHNEIDER, K., HOUDEK, F., 1999, “Organizational Learning and
Experience Documentation in Industrial Software Projects”, International Journal on
Human-Computer Studies, v. 51, pp. 646-661.

LEVIN, D., Z., RADNOR, M., 1997, “Transferring Knowledge within the Company in
the R&D Arena”, In: Proceedings of 1997 PICMET Conference, pp. 560.

LINDVALL, M., FREY, M., COSTA, P., TESORIERO, R., 2001, “Lessons Learned
about Structuring and Describing Experience for Three Experience Bases”, K.-D
Althoff, R.L. Feldmann, and W. Müller (Eds): LSO, LNCS 2176, pp. 106-118.

MACHADO, L.F.C., 2000, Modelo para Definição, Especialização e Instanciação de Processos de


software na Estação TABA, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

MAIDANTCHIK, C., 1999, Modelo de Processo de Gerência de Software para Equipes


Geograficamente Dispersas, Tese de D. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

MAIDANTCHIK, C., MONTONI, M. A., SANTOS, G., 2002, “Learning Organizational


Knowledge: An Evolutionary Proposal for Requirements Engineering”, In:
Proceedings of the 14th International Conference on Software Engineering and
Knowledge Engineering SEKE’02, Ischia, Italy, July 15-19, pp. 151-157.

MARKUS, N., ALTHOFF, K-D, 2001, “Engineering Experience Base Maintenance”, K.-
D Althoff, R.L. Feldmann, and W. Müller (Eds): LSO, LNCS 2176, pp. 222-236.

MCGRAW, K., HARBISON-BRIGGS, K., 1989, “Knowledge Acquisition: Principles and


Guidelines”, Prentice Hall, In Ref: (OLIVEIRA et al., 2000).

MENDONÇA, M. G., BASILI, V., SEAMAN, C. B. KIM, Y., 2001, “A Prototype


Experience Management System for a Software Consulting Organization”, In:
Proceedings of the International Conference on Software Engineering and Knowledge Engineering,
pp 29-36, Buenos Aires, Argentina, Jun.

MICHALSKI, R. S., 1984, “A Theory and Methodology of Inductive Learning”, In:


Machine Learning: An Artificial Intelligence Approach, Michalski, R. S., Cardbonell, J. G.,
Mitchell, T. M., (Eds.), Springer-Verlag.

86
MILTON, N., SHADBOLT, N., COTTAM, H., HAMMERSLEY, M., 1999, “Towards a
knowledge technology for knowledge management”, In: Int. Journal of Human-
Computer Studies, n. 51, pp. 615-641.

MOURA, L. M. V., ROCHA, A. R. C., 1992, Ambientes de Desenvolvimento de Software,


Publicações Técnicas COPPE/UFRJ, ES-271/92, Rio de Janeiro, Brasil.

NAGEL, C., 2001, “Processes and Knowledge Management: A Symbiosis”, In: Proceedings
of the Third International Conference on Product Focused Software Process Improvement
(PROFES 2001), Kaiserslautern, Germany, Sep. 10-13, pp.153-166.

NBR ISO/IEC 12207:1995. Tecnologia da informação – processos de ciclo de vida de


software.

NGUYEN, L., SWATMAN, P.A., 2000, “Complementary Use of ad hoc and post hoc
Design Rationale for Creating and Organizing Process Knowledge”, In: Proceedings of
the 33rd Annual Hawaii International Conference on System Sciences (HICSS-33), Track 2:
Decision Technologies for Management, IEEE Computer Society, 4-7 January, Maui, Hawaii.

NONAKA, I., TAKEUCHI, H., 1995, “The Knowledge-Creating Company: How


Japanese Companies Create the Dynamics of Innovation”, New York, NY: Oxford
University Press.

O´DELL, C., GRAYSON, C. J., 1998, “If We Only Knew What We Know: Identification
and Transfer of Internal Best Practices”, California Management Review (Spring 1998,
Special Issue Knowledge and the Firm), v. 40, n. 3, pp. 154-174.

O’LEARY, D. E., 1998, “Using AI in Knowledge management: Knowledge Bases and


Ontologies”, IEEE Intelligent Systems, v. 13, n. 3 (May/Jun), pp 34-39.

O’LEARY, D. E., 1998a, “Enterprise Knowledge Management”, IEEE Computer, v. 31, n.


3 (Mar), pp. 54-61.

O’LEARY, D. E., 1998b, “Using AI in Knowledge management: Knowledge Bases and


Ontologies”, IEEE Intelligent Systems, v. 13, n. 3 (May/Jun), pp 34-39

O’LEARY, D. E., 1998c, “Knowledge-Management Systems: Converting and


Connecting”, IEEE Intelligent Systems, v. 13, n. 3 (May/Jun), pp. 30-33

O’LEARY, D. E., 2001, “How Knowledge Reuse Informs Effective System Design and
Implementation”, IEEE Intelligent Systems, v. 16, n. 1 (Jan/Feb), pp. 44-49.

87
O’LEARY, D. E., SUTDER, R., 2001, “Knowledge Management: an Interdisciplinary
Approach”, IEEE Intelligent Systems, v. 16, n. 1 (Jan/Feb), pp 24 -25.

O'HARA, K. ALANI, H., SHADBOLT, N., 2002, “Identifying Communities of Practice:


Analysing Ontologies as Networks to Support Community Recognition”, In:
Proceedings IFIP World Computer Congress. Information Systems: The E-Business Challenge.

OLIVEIRA, K. M., 1999, Modelo para Construção de Ambientes de Desenvolvimento de Software


Orientados a Domínio, Tese de D.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

OLIVEIRA, K. M., ROCHA, A. R., TRAVASSOS, G. H. et al., 1999b, “Using Domain-


Knowledge in Software Development Environments”, In: Proceedings of the 11th
International Conference on Software Engineering and Knowledge Engineering, pp. 180-187,
Kaiserlauther, Alemanha, Jun.

OLIVEIRA, K. M., ROCHA, A. R., TRAVASSOS, G. H. et al., 1999c, “O uso da Teoria


do Domínio no Processo de Desenvolvimento de Software”, In: Anais da X Conferencia
Internacional de Tecnologia de Software, pp 223-235, Curitiba, Brasil, Mai. (OLIVEIRA et
al., 2000)

OLIVEIRA, K. M., ROCHA, A. R., TRAVASSOS, G. H., 1999a, “A Domain-Oriented


Software Development Environment for Cardiology”, In: Proceedings of America Medical
Informatics Association conference – AMIA, Washington, D.C., Nov. (In press)

OLIVEIRA, K.M, XIMENES, A., MATWIN, S., TRAVASSOS, G., ROCHA, A., 2000,
“A Generic Architecture for Knowledge Acquisition Tools in Cardiology”; 5th
Intelligent Data Analysis in Medicine and Pharmacology - Workshop at the 14th European
Conference on Artificial Intelligence, pp. 43-45, Berlin, Alemanha, Agosto.

PFLEEGER, S. L., 2001, Software Engineering: theory and practice, 2nd edition, Prentice-Hall,
Inc., ISBN 0-13-029049-1.

PREECE, A., FLETT, A., SLEEMAN, D., 2001, et al., “Better Knowledge Management
through Knowledge Engineering”, IEEE Intelligent Systems, v. 16, n. 1 (Jan/Feb), pp.
36-43.

PROBST, G. J. B., RAUB, S., ROMHARDT, K., 1999, “Managing Knowledge: Building
Blocks for Success”, 368 pp, ISBN: 0-471-99768-4.

88
RABARIJAONA, A., DIENG, R., OLIVIER, C., QUADDARI, R., 2000, “Building and
Searching an XML-Based Corporate Memory”, IEEE Intelligent Systems, v. 15, n. 3
(May), pp. 56-63

RAMESH, B., 2002, “Process Knowledge Management with Traceability”, IEEE Software,
(May/Jun), pp. 50-52.

ROCHA, A. R. C., AGUIAR, T. C., SOUZA, J. M., 1990, “TABA: A Heuristic


Workstation for Software development”, In: Proceedings of COMPEURO 90, Tel Aviv,
Israel, Maio.

ROSETI, Z. M., 1998, Uma Proposta Sistemática Aquisição de Conhecimento no Contexto de Análise
de Domínio, Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

RUS, I, LINDVALL, M., 2002, “Knowledge Management in Software Engineering”,


IEEE Software, (May/Jun), pp. 26-38.

SANTOS, G. S., 2003, Representação Da Distribuição Do Conhecimento, Habilidades e Experiências


Através da Estrutura Organizacional, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ,
Brasil.

SANTOS, G., ZLOT, F., 1999, Definição e Instanciação e Ambientes na Estação TABA, Projeto
Final de Curso, UFRJ, Rio de Janeiro, RJ, Brasil.

SCHNEIDER, K., HUNNIUS, J., BASILI, V., 2002, “Experience in Implementing a


Learning Software Organization”, IEEE Software, (May/Jun), pp. 46-49.

SCHNEIDER, K., SCHWINM, T., 2001, “Maturing Experience Base Concepts at


DaimlerChrysler”, In: Software Process: Improvement and Practice, v. 6, pp. 85-96

SCHWARTZ, D. G., TE’ENI, D., 2000, “Tying Knowledge to Action with kMail”, IEEE
Software, (May/Jun), pp. 33-39.

SHAW, M., GARLAN, D., 1996, Software Architecture: Perspectives on an Emerging


Discipline. Upper Saddle River. NJ: Prentice Hall. In ref.: (PFLEEGER, 2001)

SNOEK, B., 1999, Knowledge Management and Organizational Learning, Diploma Thesis,
Fraunhofer/IESE.

SPEEL, P., SHADBOLT, N. R., VRIES, W., VAN DAM, P., O'HARA, K., 1999,
“Knowledge Mapping for Industrial Purposes”, In: Proceedings of the 12th Workshop on
Knowledge Acquisition, Modelling and Management (KAW'99).

89
STAAB, S., STUDER, R., SCHUNURR, H., SURE, Y., 2001, “Knowledge Processes and
Ontologies”, IEEE Intelligent Systems, v. 16, n. 1 (Jan/Feb), pp. 26-34.

STEFANELLI, M., 2002, "Knowledge Management to Support Perfomance-based


Medicine", In: Proceedings of Methods of Information in Medicine, v. 41, pp. 36-43.

TIWANA, A., RARMESH, B., 2001, “Integrating Knowledge on the Web”, IEEE Internet
Computing, v., n. (May/Jun), pp. 32-39.

TRAVASSOS, G. H., 1994, O Modelo de Integração de Ferramentas da Estação TABA, Tese de


D. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

TRUEX, D. P., BASKERVILLE, R. AND KLEIN, H., 1999, “Growing Systems in


Emergent Organizations”, Communications of the ACM, v. 42, n. 8 (Aug.), pp. 117-123.

TSAI, J. J. P., LIU, A., JUAN, E., SAHAY, A., 1999, “Knowledge-Based Software
Architectures: Acquisition, Specification, and Verification”, IEEE Transactions on
Knowledge and Data Engineering, v. 11, n. 1 (Jan/Feb), pp. 187-201.

van HEIJST, G., 1995, The Role of Ontologies in Knowledge Engineering, PhD Thesis, University
of Amsterdam, Maio.

VILLELA, K., OLIVEIRA, K., SANTOS, G., ROCHA, A. R., TRAVASSOS, G., 2003,
“Cordis-FBC: an Enterprise-Oriented Software Development Environment”, In:
Proc. of the Learning Software Organizations.

VILLELA, K., ROCHA, A., TRAVASSOS, G., 2000, “Ambientes de Desenvolvimento de


Software Orientados a Organização”, Relatório Técnico, COPPE/Sistemas Abril.

WANGENHEIM, C. G., LICHTNOW, D., WANGENHEIM, A., COMUNELLO E.,


2001, “Supporting knowledge Management in University Software R&D Groups”,
K.-D Althoff, R.L. Feldmann, and W. Müller (Eds): Learning Software
Organizations, Lecture Notes in Computer Science 2176, pp.52-66.

WANGENHEIM, C. G., RAMOS, A. M., ALTHOFF, K. D., BARCIA, R. M., WEBER,


R., MARTINS, A., 1998, “Case-based Reasoning Approach to Capturing and Reuse
of Experiential Knowledge in Software Measurement Programs”, In: Proceedings of the
6th German Workshop on Case-based Reasoning, Mar., Berlin, Germany.

WANGENHEIM, C., G., LICHTNOW, D., WANGENHEIM, A., 2001, “A Hybrid


Approach for Corporate Memory Management Systems in Software R&D

90
Organizations”, In: Proceedings of the Software Engineering and Knowledge Engineering
Conference, pp. 326-330, Buenos Aires, Argentina, Jun.

WEI, C., HU, P. J., CHEN, H., 2002, “Design and Evaluation of a Knowledge
Management System”, IEEE Software, (May/Jun), pp. 60-62.

WERNECK, V. M., 1995, Ambiente para Desenvolvimento de Software Baseado em Conhecimento,


Tese de D. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

WERNER, C. M. L., TRAVASSOS, G. H., DA ROCHA, A. C. et al., 1997, “Memphis: A


Reuse Based O. O. Software Development Environment”, In: Proceedings of TOOLS,
Beijing, China, Sep.

WINCH, G., 1999, “Knowledge Management”, Manufacturing Engineering, August, pp. 178-
180.

ZLOT, F. OLIVEIRA,K., ROCHA, A.R., 2002. “Modeling Task Knowledge to Support


Software Development”, Software Engineering and Knowledge Engineering - SEKE’2002,
Ischia, Itália, Jul.

ZLOT, F., 2002, Conhecimento de Tarefa em Ambientes de Desenvolvimento de Software Orientados a


Domínio, Tese de M. Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

91
ANEXO I – NOTAÇÃO UTILIZADA NA MODELAGEM
DO PROCESSO DE AQUISIÇÃO DE CONHECIMENTO

Tabela A1.1 – Entidade e forma de representação.


ENTIDADE FORMA DE REPRESENTAÇÃO

Processo

Grupo de Processos Relacionados

Início de Processo/Atividade

Fim de Processo/Atividade

Evento

Ator

Atividade Atômica

Atividade Composta

Atividade Externa

Conhecimento Explícito

Conhecimento Tácito

92
Tabela A1.1 – Entidade e forma de representação (Cont.).
ENTIDADE FORMA DE REPRESENTAÇÃO

Habilidade

Software

Repositório

Arquivo

Documento

Nota Explicativa

OPERAÇÕES LÓGICAS

AND

OR

XOR

AND – Join

93
Tabela A1.1 – Entidade e forma de representação (Cont.).
ENTIDADE FORMA DE REPRESENTAÇÃO

AND - Split

OR – Join

XOR - Join

XOR - Split

ASSOCIAÇÃO

Para nota Explicativa

Fluxo

Saída

Entrada

Para Evento

94
ANEXO II – EXEMPLOS DE TIPOS DE CONHECIMENTO

Tabela A2.1 – Exemplos de tipos de conhecimento.


TIPO DE CONHECIMENTO FORMA DE AQUISIÇÃO ESTRUTURA DO TIPO DE CONHECIMENTO
Descrição de processo Independente da execução do processo Título
Descrição de processo
Caso Independente da execução do processo Título
Descrição do caso
Decisão tomada
Justificativa da decisão
Lição aprendida Durante a execução do processo Título
Descrição do problema
Causa do problema
Conseqüência da ocorrência do problema
Solução adotada
Resultado obtido
Idéia Durante a execução do processo Título
Descrição da idéia
Subsídios ou fatos observados que apóiam a idéia
Situações nas quais a idéia foi aplicada e os resultados
obtidos
Dúvida Durante a execução do processo Título
Descrição da dúvida
Origem da dúvida

95
Tabela A2.1 – Exemplos de tipos de conhecimento (Cont.).
TIPO DE CONHECIMENTO FORMA DE AQUISIÇÃO ESTRUTURA DO TIPO DE CONHECIMENTO
Domínio Durante a execução do processo Título
Descrição do conhecimento do domínio
Descrição da atualização a ser realizada na teoria do domínio
Regra de associação Automática Fatos observados
Asserção

96
ANEXO III – MODELO DE CLASSES DA FERRAMENTA
ACKNOWLEDGE

Tabela A1.1 – Descrição das classes da ferramenta ACKNOWLEDGE.


CLASSE DESCRIÇÃO
TipoItemConhecimento Tipos de itens de conhecimento que podem ser adquiridos.

TipoInformacao Tipos de informações que compõe um tipo de item de


conhecimento. Os tipos de informações podem ser
compostos de um ou mais tipos de informações.

RelacaoTipoInformacao Relação entre os tipos de informações que compõem um


tipo de conhecimento ou um tipo de informação.

ItemConhecimento Item de conhecimento adquirido. Os itens de conhecimento


são criados a partir da definição do tipo de item de
conhecimento relacionado.

Informacao Informação que compõe um item de conhecimento. As


informações são criados a partir da definição dos tipos de
informações que compõem um tipo de item de
conhecimento. As informações podem ser compostas de
uma ou mais informações.

RelacaoInformacao Relação entre as informações que compõem um item de


conhecimento ou uma informação.

Avaliacao Avaliação do item de conhecimento pelo membro do


comitê.

Criterio Critério de avaliação do item de conhecimento.

Comentario Comentário referente à utilização de um item de


conhecimento durante a execução de uma atividade de um
processo de negócio.

PalavraChave Palavra-chave relacionada ao item de conhecimento.

97
é do tipo
ConhecimentoProcesso
1 0..* Processo

1 1
1..* TeoriaDominio
possui possui

0..* 1
0..*
1 indexa Palav raChav e
ConhecimentoAtiv idade é do tipo 0..* Ativ idade
nome
descricao
1 0..*
adquirido em
indexa
pode ser adquirido em pode ser consultado em

Comentario
grauUtilidade
pode ser adquirido em 0..* 1
0..* descricao
0..*

ItemConhecimento comenta
TipoItemConhecimento
nome 0..1 0..*
nome é do tipo 0..* registra 1
descricao Pessoa
descricao
0..1 situacao
formaAquisicao 1
dataRegistro 0..* 0..*

1 avalia
possui possui
é do tipo 1..* Avaliacao
Inf ormacao parecer
TipoInf ormacao
rotulo modif icacao
rotulo descricao grauQualif icacao
descricao possui possui concluida
conteudo
importada

0..*
possui
se relaciona à se relaciona à
1..*
RelacaoTipoInf ormacao RelacaoInf ormacao Criterio
é do tipo
nome tipo
nome
grau
descricao descricao
comentario

Figura A.1 – Modelo de classes da ferramenta ACKNOWLEDGE.

98

S-ar putea să vă placă și