Escolar Documentos
Profissional Documentos
Cultura Documentos
DESENVOLVIMENTO DE SOFTWARE
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.
1. Gerência de Conhecimento
2. Aquisição de Conhecimento
3. Ambientes de Desenvolvimento de
Software Orientados a Organização
ii
À minha família.
iii
AGRADECIMENTOS
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.)
Agosto/2003
v
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements
for the degree of Master of Science (M.Sc.)
August/2003
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
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
viii
ANEXO I – NOTAÇÃO UTILIZADA NA MODELAGEM DO PROCESSO DE
AQUISIÇÃO DE CONHECIMENTO ....................................................................... 92
ix
CAPÍTULO I - INTRODUÇÃO
1.1 Motivação
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.
1.2 Objetivos
2
conteúdo e o formato do conhecimento facilitando a sua utilização em contextos diferentes
dos quais foram adquiridos.
3
adquirir conhecimento no momento em que os profissionais estão realizando as suas
atividades.
4
CAPÍTULO II - GERÊNCIA DE CONHECIMENTO
2.1 Introdução
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).
6
resultados são obtidos, geralmente, a médio e longo prazo (DAVENPORT e PRUSAK,
1998).
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).
Tácito
Socialização Exteriorização
Tácito Explícito
Internalização Combinação
Explícito
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.
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).
10
a organização está tendo o retorno esperado. SNOEK (1999) define quatro grupos de
objetivos de conhecimento:
11
definidas de acordo com o tipo do conhecimento (explícito ou tácito) e a
facilidade de acesso às fontes do conhecimento;
ABECKER et al. (1999) identificam algumas das tecnologias utilizadas para apoiar a
realização das atividades de gerência de conhecimento:
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).
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;
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.
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.
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.
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.
18
conhecimento que armazenam. O’LEARY (1998a, 1998b) apresenta alguns tipos de bases
de conhecimento:
2.5.2 Ontologias
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).
20
2.6 Considerações Finais
21
CAPÍTULO III – AQUISIÇÃO DE CONHECIMENTO
3.1 Introdução
22
abordagens de aquisição de conhecimento no desenvolvimento de software e as
considerações finais.
23
de aquisição é a curto, médio ou longo prazo para evitar desapontamentos com relação ao
sistema de gerência de conhecimento.
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).
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).
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.
27
3.2.2 Aquisição Automática de Conhecimento
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.
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.
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).
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).
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).
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.
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.
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.
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.
36
CAPÍTULO IV – AMBIENTES DE DESENVOLVIMENTO
DE SOFTWARE E A ESTAÇÃO TABA
4.1 Introdução
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.
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.
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
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).
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).
41
longo da estrutura organizacional e, conseqüentemente, sujeito a dificuldades de acesso e,
mesmo, a perdas (VILLELA et al., 2000).
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.
Estação TABA
Processo Padrão
Instanciação Configuração Processos Especializados
Teorias do Domínio
Instanciação
ADSOrg
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.
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 à
44
Tabela 4.1 - Ferramentas disponíveis nos ambientes TABA.
45
4.7 Considerações Finais
46
CAPÍTULO V – AQUISIÇÃO DE CONHECIMENTO NO
DESENVOLVIMENTO DE SOFTWARE
5.1 Introdução
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.
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
Repositório da
Gerente do conhecimento organização
48
As atividades do processo de aquisição de conhecimento são descritas a seguir:
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.
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]
51
Produto: Membros do comitê notificados.
Responsável: Coordenador 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.
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.
Encaminhar
para consenso
Coordenador do
comitê de avaliação
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:
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
56
conhecimento, além do contexto de aquisição desses tipos (independente ou
durante a execução de um processo);
57
ACKNOWLEDGE
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
58
5.3.1 Cadastrar 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).
60
5.3.2 Adquirir Conhecimento Independente da Execução de um
Processo
61
Figura 5.9 - Tela de registro de um conhecimento do tipo Caso.
62
Figura 5.10 - Tela de geração de regras de associação.
63
Figura 5.11 - Integração do ACKNOWLEDGE com RiscPlan.
64
Figura 5.12 - Tela de atribuição de conhecimento a membros do comitê de
avaliação.
66
5.3.5 Empacotar Conhecimento
67
Conceitos da teoria de processo de desenvolvimento
de software presentes no conteúdo 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.
68
Figura 5.17 - Tela de consulta de conhecimento relacionado à atividade.
69
5.4 Estudo experimental
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.
• 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;
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 (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;
72
EAbp ─ esforço de absorção do conhecimento do pacote criado a partir do
item;
H4: EAbi > EAbp.
Para cada item de conhecimento que origina um pacote de conhecimento devem ser
identificados os seguintes atributos:
73
Para cada pacote de conhecimento criado devem ser identificados os seguintes
indicadores:
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
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
• 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.
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
• 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
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.
79
• Integração da ferramenta ACKNOWLEDGE às ferramentas da Estação
TABA e de seus ambientes configurados e instanciados;
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:
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.
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.
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.
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).
DIENG, R., 2000, “Knowledge Management and the Internet”, IEEE Intelligent Systems,
pp. 14-17.
83
Zobaidie(eds), 11th International Workshop on Database and Expert Systems Applications,
IEEE Computer Society, London, UK, Sep.
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., 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.
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.
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., 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.
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.
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.
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.
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.
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.
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.
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., 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.
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.
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.
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.
SCHWARTZ, D. G., TE’ENI, D., 2000, “Tying Knowledge to Action with kMail”, IEEE
Software, (May/Jun), pp. 33-39.
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.
TIWANA, A., RARMESH, B., 2001, “Integrating Knowledge on the Web”, IEEE Internet
Computing, v., n. (May/Jun), pp. 32-39.
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.
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.
WINCH, G., 1999, “Knowledge Management”, Manufacturing Engineering, August, pp. 178-
180.
91
ANEXO I – NOTAÇÃO UTILIZADA NA MODELAGEM
DO PROCESSO DE AQUISIÇÃO DE CONHECIMENTO
Processo
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
Fluxo
Saída
Entrada
Para Evento
94
ANEXO II – EXEMPLOS DE TIPOS DE CONHECIMENTO
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
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
98