Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Pós-Graduação em Ciência da Computação
“RECOMENDAÇÃO DE COMUNIDADES VIRTUAIS
EM UMA REDE SOCIAL PARA MINIMIZAR
PROBLEMAS DE COMUNICAÇÃO ENTRE
PROJETOS DE SOFTWARE”
Por
ROBSON YTALLO SILVA DE OLIVEIRAROBSON YTALLO SILVA DE OLIVEIRAROBSON YTALLO SILVA DE OLIVEIRAROBSON YTALLO SILVA DE OLIVEIRA
Dissertação de Mestrado
Universidade Federal de Pernambuco [email protected]
www.cin.ufpe.br/~posgraduacao
RECIFE, Março/2009
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
ROBSON YTALLO SILVA DE OLIVEIRA
“RECOMENDAÇÃO DE COMUNIDADES VIRTUAIS EM UMA REDE SOCIAL PARA MINIMIZAR PROBLEMAS DE COMUNICAÇÃO ENTRE PROJETOS DE SOFTWARE"
ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.
ORIENTADOR(A): SILVIO ROMERO DE LEMOS MEIRA
RECIFE, MARÇO/2009
Oliveira, Robson Ytallo Silva de Recomendação de comunidades virtuais em uma rede social para minimizar problemas de comunicação entre projetos de software / Robson Ytallo Silva de Oliveira. – Recife: O Autor, 2008. xiv, 100 p. : il., fig., tab., gráf. Dissertação (mestrado) – Universidade Federal de Pernambuco. CIn. Ciência da computação, 2008.
Inclui bibliografia e apêndices.
1. Engenharia de software. I. Título.
005.1 CDD (22.ed.) MEI2009-011
DEDICATÓRIA
À minha família, pela credibilidade depositada em meus esforços.
A Janise, pelo amor e paciência.
AGRADECIMENTOS
Agradeço, primeiramente, a Deus pelas oportunidades que nunca me faltaram, entre elas esta fase de aprendizado e crescimento acadêmico. Agradecimentos especiais ao meu guia espiritual, que chamo, carinhosamente, de anjo da guarda e que me acompanha fielmente nessa vida. À minha família que se orgulha de mim, mesmo nas menores conquistas. Pela paciência, apoio, amor e companheirismo, agradeço à minha outra metade, Nise. A Janielen Cavalcante pela torcida e disponibilidade de companhia. Aos amigos Jalmaratan Macedo (“Mamah”), Hermerson Gaiafi e Marcello Lira pelas cumplicidades nos nossos laços fraternos.
Sinceros agradecimentos a Ricardo Araújo Costa que me inspira e nunca me deixou desistir, direcionando e tornando possível a conclusão deste Mestrado. Ao orientador Silvio Romero de Lemos Meira que sempre foi solícito e gentil quando precisou ser.
Ao grupo ROCKs1 (Ademar Izu, Bruno Silveira, Diego Delgado, Edeílson Milhomem, Mário Godoy, Paulyne Jucá, Pedro Jorge, Rafael Bacelar, Rafael Ribeiro e Raony): “Let`s Rocks!”. Ao Professor Odilon Nelson pelos conselhos e contribuições técnicas. Pelos ensinamentos, agradeço aos professores Patrícia Tedesco, Ana Carolina Salgado e Jones Albuquerque. Também não posso deixar de citar: Ryan Azevedo, Emerson Espínola, Rodrigo Almeida, Viviane Vilar, Aline Alencar, Fabrício Paiva, Marcos Braga, Elton Vinagre, Fabrício Cabral (“Fabrício FX”), Vitor Braga, Ellen Seagull, Frederico Durão e Thun Pin .
Ao C.E.S.A.R2, pelo suporte no desenvolvimento e na validação da proposta desse trabalho. A Dataprev pela permissão de compensações de horas para dedicação ao Mestrado. Pela motivação extra e lições aprendidas, também agradeço aos integrantes da inesquecível fábrica de software J.O.S.E (Joint Open Source Environment) Factory.
Finalmente, é impossível citar, sem correr o risco de omissão, todos os amigos e pessoas, que me apoiaram ou que, de alguma forma, contribuíram para esse trabalho, mas, mesmo assim, quero registrar um agradecimento muito especial e carinhoso a todos aqueles que compartilharam dessa trajetória e torceram pelo meu sucesso.
1 ROCKs – Research On Concepts of Knowledge and Social Networks http://treco.cesar.org.br/treco/viewCommunity.do?communityId=19 2 C.E.S.A.R – Centro de Estudos e Sistemas Avançados do Recife http://www.cesar.org.br
Às vezes parecia Que de tanto acreditar
Em tudo que achávamos Tão certo...
Teríamos o mundo inteiro
E até um pouco mais Faríamos floresta do deserto
E diamantes de pedaços De vidro...
Dado Villa-Lobos / Renato Russo / Marcelo Bonfá
Recomendação de Comunidades Virtuais em uma Rede Social para
Minimizar Problemas de Comunicação entre Projetos de Software
RESUMO
Diversos processos, métodos, técnicas e mecanismos têm sido amadurecidos a fim de suportar colaboração no trabalho em grupo. Os conceitos de CSCW (Computer-Supported Co-operative Work) e os mecanismos de groupware, por exemplo, direcionam estudos na Engenharia de Software para soluções de colaboração de trabalhos em grupo. A maioria das organizações busca estratégias para auxiliar na colaboração dos seus membros. Um dos principais desafios na colaboração é minimizar os problemas de comunicação. A abordagem de redes sociais procura superar esses desafios trocando informações através dos relacionamentos. Além disso, a proliferação das redes sociais está cada vez mais evidente, principalmente na Web através das WBSN (Web-Based Social Networks) - como são chamadas as redes sociais dispostas na Web. Nas organizações de desenvolvimento de software, geralmente existe pouca interação entre os projetos, desperdiçando a oportunidade de troca e reúso de conhecimento entre projetos similares. Grande parte das redes sociais conta com entidades chamadas de Comunidades Virtuais que têm a finalidade de reunir pessoas. As Comunidades Virtuais permitem a troca de conhecimento entre pessoas de interesses comuns. Esta dissertação propõe recomendações automáticas das Comunidades Virtuais de redes sociais a fim de aproximar projetos de software com conhecimentos similares representados na rede por Comunidades.
Palavras-Chave: Comunicação, Recomendações, Comunidades Virtuais, Redes Sociais, Projetos de Software
Recomendação de Comunidades Virtuais em uma Rede Social para
Minimizar Problemas de Comunicação entre Projetos de Software
ABSTRACT
Several processes, methods, techniques and mechanisms have been growing up in order to support collaboration for work in group. The CSCW (Computer-Supported Co-operative Work) concepts and the groupware mechanisms, for instance, follow researches in the Software Engineering for collaboration solutions of work in group. The greater number of companies finds strategies to support their members’ collaboration. One of the main challenges in collaboration is how to minimize communication problems. The social network approach aims at outgrowing these challenges exchanging information through relationships inferences. In addition, the social networks proliferation is more and more clear, mainly in the Web through WBSN (Web-Based Social Networks) - as are called the social networks settled in the Web. In the Software Development Organizations, usually there is low interaction among projects, wasting opportunities to change and reuse knowledge among similar projects. In large number of the social networks counts on entities named Virtual Communities which have the goal of meeting people. The Virtual Communities admit knowledge changes among people with common interests. This thesis proposes automatic virtual communities recommendations of social networks in order to come near software projects with similar knowledge represented by communities into network.
Key-Words: Communication, Recommendations, Virtual Communities, Social Networks, Software Projects
SUMÁRIO
1 INTRODUÇÃO .................................................................................................................................1
1.1. OBJETIVOS..................................................................................................................................6 1.2. ESTRUTURA DO TRABALHO ........................................................................................................6
2 REFERENCIAL TEÓRICO............................................................................................................8
2.1. COMUNICAÇÃO, INFORMAÇÃO E CONHECIMENTO......................................................................8 2.1.1. Comunicação e Informação ..................................................................................................9 2.1.2. Tipos de Comunicação entre Membros de um Grupo.........................................................12 2.1.3. Conhecimento .....................................................................................................................13 2.1.4. Tipos de Conhecimento.......................................................................................................15 2.1.5. Gestão de Conhecimento ....................................................................................................15
2.2. TRABALHO EM GRUPO – GROUPWARE .....................................................................................21 2.2.1. Tipos de Groupware ...........................................................................................................23 2.2.2. Serviços de Groupware.......................................................................................................25 2.2.3. Ferramentas de Groupware................................................................................................26 2.2.4. CSCW..................................................................................................................................29
2.3. REDES SOCIAIS .........................................................................................................................32 2.3.1. Redes Sociais Baseadas na Web – WBSN...........................................................................36 2.3.2. Sistemas de Recomendação ................................................................................................37
3 DESCRIÇÃO DO TRABALHO ....................................................................................................40
3.1. COMUNICAÇÃO NO DESENVOLVIMENTO DE SOFTWARE ...........................................................40 3.1.1. Questionário (Parte 1) – Identificando os Entrevistados....................................................40 3.1.2. Questionário (Parte 2) – Identificando Problemas e Soluções...........................................41
3.2. IDENTIFICAÇÃO E INDICAÇÃO DE PROJETOS SIMILARES ...........................................................47 3.3. A.M.I.G.O.S - ESTUDO DE CASO..............................................................................................52 3.4. PROPOSTA DE UTILIZAÇÃO DO A.M.I.G.O.S ............................................................................57
4 IMPLEMENTAÇÃO E RESULTADOS DO TRABALHO........................................................61
4.1. RECOMENDAÇÃO DE COMUNIDADES ........................................................................................61 4.2. IMPLEMENTAÇÃO DA PROPOSTA ..............................................................................................63 4.3. VALIDAÇÃO DA PROPOSTA.......................................................................................................72
4.3.1. Cenário ...............................................................................................................................73 4.3.1.1. Primeira Etapa.....................................................................................................................74 4.3.1.2. Segunda Etapa......................................................................................................................75 4.3.1.3. Terceira Etapa......................................................................................................................76 4.3.1.4. Quarta Etapa........................................................................................................................76 4.3.1.5. Quinta Etapa ........................................................................................................................78
4.4. RESULTADOS ............................................................................................................................78
5 CONCLUSÕES E TRABALHOS FUTUROS..............................................................................83
APÊNDICE A – QUESTIONÁRIO PARA IDENTIFICAÇÃO DO PROBLEMA............................97
APÊNDICE B – QUESTIONÁRIO PARA VALIDAÇÃO DA PROPOSTA......................................99
LISTA DE FIGURAS
Figura 1 - Modelo Básico de Comunicação
Figura 2 - Fases de Processos de Gestão de Conhecimento Traduzido de [Goldoni e Oliveira, 2006]
Figura 3 - Estilos de Gestão de Conhecimento [Choi e Lee, 2003]
Figura 4 - Warehouse de Conhecimento
Figura 5 - Groupware [Anbulagan e Kuswara, 2001]
Figura 6 - Modelo 3C de Colaboração [Fuks et al., 2003]
Figura 7 - Serviços 3C do AulaNet 2.1 [Pimentel et al., 2006]
Figura 8 – Cordenação do MORPHOS [Oliveira et al., 2007]
Figura 9 - Representação de uma Rede Social
Figura 10 - Representação de uma Rede Social por Comunidades
Figura 11 - Relacionamento entre Pessoas e Conteúdo [Morville, 2002]
Figura 12 - Diagrama de Caso de Uso (Atividades de Membro de Projeto)
Figura 13 - Diagrama de Caso de Uso (Atividades da Rede Social)
Figura 14 - Diagrama de Seqüência - Escrever Documento
Figura 15 - Diagrama de Seqüência - Encontrar Projetos Similares
Figura 16 - A.M.I.G.O.S – Perfil do Usuário
Figura 17 - A.M.I.G.O.S – História
Figura 18 - A.M.I.G.O.S – Exemplo de Comunidade Virtual
Figura 19 - Representação de uma Organização de Desenvolvimento de Software no A.M.I.G.O.S
Figura 20 - Contextualização da Implementação do Trabalho
Figura 21 - Diagrama de Classes – Centroid
Figura 22 - Diagrama de Classes – Similaridade
Figura 23 - Diagrama de Classes - User e Profile
Figura 24 - Diagrama de Classes - Topic
Figura 25 - Diagrama de Classes - Community
Figura 26 - Diagrama de Classes - Histórias
Figura 27 - Diagrama de Classes - Tópicos
Figura 28 - Representação de Rede Social Utilizada por Organização de Desenvolvimento de Software
Figura 29 - Exemplificação do Algorítmo Implementado
Figura 30 - Diagrama de Classes – Tipos de Recomendações
Figura 31 - Diagrama de Classes - Recomendações
Figura 32 - Instância do A.M.I.G.O.S para Validação – Comunidades Criadas
Figura 33 - Recomendação de Comunidades
Figura 34 - Recomendação de Tópicos
Figura 35 - Recomendação de Histórias
LISTA DE GRÁFICOS
Gráfico 1 - Relatório do CHAOS [Standish, 2004]
Gráfico 2 - Perfil dos Entrevistados
Gráfico 3 - Experiência dos Entrevistados
Gráfico 4 - Fatores de Dificuldades para Obtenção de Informações Relevantes dentro da Organização
Gráfico 5 - Fator de Dificuldade para Obtenção de Informações: Organização/Localização do Conhecimento
Gráfico 6 - Fator de Dificuldade para Obtenção de Informações: Problemas de Comunicação
Gráfico 7 - Interação entre Projetos
Gráfico 8 - Relevância dos Mecanismos de Comunicação
Gráfico 9 - Estratégia para Solucionar Problemas sem Experiência Necessária
Gráfico 10 - Mecanismos para Busca de Experiências Vividas em Outros Projetos
Gráfico 11 - Similaridade das Recomendações de Documentos (Histórias e Tópicos)
Gráfico 12 - Relevância das Recomendações de Documentos (Histórias e Tópicos) quanto Escrita e Leitura do Usuário
Gráfico 13 - Relevância das Recomendações de Documentos (Histórias e Tópicos) quanto à(s) Comunidade(s) do Usuário
Gráfico 14 - Similaridade das Recomendações de Comunidades
Gráfico 15 - Relevância das Recomendações de Comunidades quanto Escrita e Leitura do Usuário
Gráfico 16 - Relevância das Recomendações de Comunidades para a(s) Comunidade(s) do Usuário
LISTA DE TABELAS
Tabela 1 - Atributos das Redes Sociais [Lin et al., 2003]
Tabela 2 - Serviços de Groupware do A.M.I.G.O.S
Tabela 3 - Descrição das Comunidades dos Projetos do Cenário
1
1 INTRODUÇÃO
Um estudo sobre os perfis dos projetos de software das organizações de todo
mundo é atualizado, anualmente, no relatório CHAOS (ou CHAOS Report) do
Standish Group International3. Esse grupo realiza pesquisas de mercado na
área de software e comércio eletrônico. E até o ano de 2004, mais de 40.000
projetos haviam sido estudados pelo Standish Group International. Como
mostra o Gráfico 1, o CHAOS Report de 2004, chamado de CHAOS Chronicles
[Standish, 2004], apresenta que apenas 34% dos projetos de software são
considerados bem sucedidos, enquanto 54%, apesar de serem completados,
seus orçamentos e prazos são super-estimados e 15% dos projetos são
cancelados antes de serem finalizados.
34%
54%
15%
0%
10%
20%
30%
40%
50%
60%
Bem Sucedidos Super-Estimados Cancelados
Gráfico 1 - Relatório do CHAOS [Standish, 2004]
No relatório CHAOS, são definidos dez fatores, conhecidos como the CHAOS
ten, que se apresentam como ferramentas para estimar o potencial de sucesso
nos projetos de software. Nenhum projeto requer todos os fatores para ser bem
sucedido, mas, segundo o Standish Group, é necessário a maioria deles para o
sucesso de um projeto de software. The CHAOS ten não disponibiliza uma 3 Standish Group International - http://www.standishgroup.com
2
fórmula para o sucesso, contudo, as possibilidades do projeto ser bem
sucedido aumentam, quando assegurada a presença desses fatores, que são:
1. Suporte executivo – influencia o processo e progresso de um projeto. No
relatório do CHAOS de 2001, esse fator foi apontado como o número um
para causar falhas nos projetos de software;
2. Comprometimento do usuário – mesmo com a entrega no orçamento e
prazo estimados, um projeto pode falhar se não reune as expectativas e
necessidades dos usuários;
3. Gerente de projeto experiente – segundo o relatório CHAOS de 2001,
97% dos projetos bem sucedidos possuem gerentes experientes;
4. Objetivos claros de negócio – para real entendimento das expectativas e
necessidades dos usuários, os objetivos de negócios devem ser claros;
5. Escopo minimizado – segundo o conceito da triple constraint4 do
PMBOK® Guide [PMBOK, 2004], escopo impacta em custo e tempo.
Esse fator do the CHAOS ten está diretamente ligado à duração e ao
custo do projeto. Minimizando o escopo, quando possível, o tempo e o
custo são reduzidos e, conseqüentemente, as chances de sucesso do
projeto aumentam;
6. Infra-estrutura de software padrão – infra-estrutura de software necessita
de estabilidade. De acordo com as pesquisas do Standish Group, 70%
dos códigos das aplicações são infra-estrutura. Dessa forma, a equipe
do projeto pode concentrar mais esforços em regras de negócio do que
em tecnologia;
7. Requisitos básicos estáveis – requisitos estão em constante ajustes,
contudo a mudança de requisitos, principalmente, nos básicos, implica,
geralmente, em estouro de prazos e orçamento;
4 Triple Constraint – é geralmente representado como um triângulo onde um dos lados ou uma das arestas representa um dos parâmetros (tempo, escopo e custo) gerenciados pela equipe de projeto.
3
8. Metodologia formal – uma gestão formal de projetos provê uma imagem
realista do projeto e seus recursos. Os passos e procedirmentos de um
processo ou metodologia formal são utilizados a fim de obter
oportunidades de reúso, adicionar confiança à equipe, aumentar
habilidades do projeto e reduzir riscos. Os estudos do CHAOS report de
2001 apresentam que 46% dos projetos bem-sucedidos utilizaram uma
metodologia formal;
9. Estimativas seguras – ser realista é necessário quando se desenvolve
uma abordagem sistemática para a estimativa de projeto. O gerente de
projeto deve contar com seu conhecimento coletivo e com sua
experiência para estimativas que reflitam no verdadeiro esforço
necessário;
10. Outros Fatores – representados por uma coleção de outros fatores
como: milestones, planejamento, pessoal competente e titularidade.
Ainda no relatório CHAOS, são citadas algumas habilidades para
gerenciamento que influenciam no the CHAOS ten. Entre esses fatores estão
em destaque: negócio, técnica, decisão, responsabilidade e comunicação –
que é o foco desse trabalho, pois é essencial em qualquer área de atuação em
grupo.
As pessoas precisam se comunicar para realizar atividades em conjunto, o que
não é diferente no desenvolvimento de software que possui atividades
altamente colaborativas, exigindo comunicação contínua, de fluxo livre e
baseada em confiança, seja esta síncrona ou assíncrona. Segundo Mulcahy
[Mulcahy, 2005], normalmente 90% do tempo dos gerentes de projetos é usado
para comunicação com a equipe, stakeholders, cliente e patrocinador. Todos
os envolvidos num projeto devem entender como comunicação afeta o projeto
como um todo. Na literatura, existem diversos trabalhos que citam os
problemas de comunicação no desenvolvimento de software. Por outro lado,
poucos detalham esses problemas e muito menos apresentam soluções ditas
eficazes para solucioná-los.
4
Hoje em dia, o desenvolvimento distribuído é uma tendência devido às diversas
experiências com projetos open source e suas vantagens são bastante
discutidas na Engenharia de Software. Tal abordagem pode amadurecer uma
organização minimizando custos com ambientes físicos e permitindo ao
desenvolvedor transformar sua casa em escritório. No mercado globalizado
que se apresenta, é possível, ainda, colaboração entre empresas mesmo
estando geograficamente distribuídas. Esta estratégia é bastante interessante,
pois, é cada vez mais imperativo que organizações realizem parcerias e
ampliem seus horizontes a fim de reduzir custos e maximizar rendimentos. Por
outro lado, a distância tem um efeito negativo para tarefas de intensa
comunicação [Herbsleb e Grinter, 2001]. Ela afeta a colaboração, pois as
equipes podem falhar ao disseminar informações, e então perder
oportunidades de reúso [Canfora et al., 2003].
Mesmo no desenvolvimento de software tradicional, uma organização pode
conter inúmeros projetos e, embora façam parte da mesma organização, esses
projetos podem estar bastante distantes entre si. Esta distância não se limita à
questão física. Ela também abrange a visibilidade que um projeto possui do
outro. De acordo com [Anschuetz, 1998], os membros de um projeto precisam
conhecer quem é responsável pelo quê, e quando. Muitas vezes não existe um
meio de comunicação nas organizações que permita compartilhamento de
conhecimento entre projetos, mantendo-os distantes e isolados e diminuindo a
oportunidade de reaproveitamento de trabalho e soluções técnicas.
Nesse contexto, esse trabalho buscou identificar, dentro das organizações da
indústria de software, como ocorre a comunicação atualmente entre seus
projetos. Foi constatado que nas organizações, normalmente, existe pouca
interação entre projetos, tornando-os isolados entre si. Com isso, as
organizações têm buscado, cada vez mais, soluções que auxiliem a
colaboração entre seus projetos de software a fim de minimizar custos e tempo,
além de aumentar o reúso e a qualidade nos produtos e serviços
desenvolvidos.
5
Os problemas de comunicação entre os projetos de desenvolvimento de
software numa organização podem gerar retrabalho, perda de tempo e
aumento do custo de projeto. Segundo o PMI®’s PMBOK® Guide,
gerenciamento de comunicação se torna cada vez mais importante nos
ambientes colaborativos. Acredita-se que esses ambientes podem auxiliar na
aproximação de projetos de software de uma organização, pois contam com
um conjunto de mecanismos de comunicação e, geralmente, utilizam o
conceito de equipes virtuais que são grupos de pessoas colaborando
fortemente, mesmo fisicamente separadas. Os projetos, por sua vez, podem
utilizar do ambiente para concentração de conhecimento e, através de seus
mecanismos, minimizar a distância com os demais projetos. Por outro lado, a
utilização de um ambiente colaborativo nesse cenário requer gestão de
conhecimento através da construção do conteúdo por interações entre
indivíduos [Mohrman et al., 2002] a fim de garantir a criação, captura,
refinamento, armazenamento, gerenciamento e disseminação do conhecimento
gerado pelos projetos.
Esse trabalho apresenta uma proposta utilizando uma nova abordagem - uso
de redes sociais no desenvolvimento de software - para a colaboração entre
projetos. Segundo Staab [Staab et al., 2005], as redes sociais são mecanismos
muito bons para aprimorar a interação entre os indivíduos. Assim, com esse
trabalho, pretende-se minimizar os problemas de comunicação e,
conseqüentemente, aproximar os projetos de software de uma organização.
Para tanto, as redes sociais são utilizadas como ambientes colaborativos
representando as organizações de software e seus projetos são representados
pelas comunidades virtuais da rede.
O trabalho consiste em identificar os projetos similares da organização e
realizar indicações desses projetos aos membros interessados em suas
experiências e soluções. Sendo assim, um mecanismo de recomendação é
utilizado para gerar recomendações automáticas das comunidades, assim
como de histórias e tópicos das comunidades de acordo com o interesse de
6
cada membro dos projetos da organização. Os interesses são identificados
pelo sistema através do que é lido e escrito por cada usuário na rede.
A proposta desse trabalho foi implementada no A.M.I.G.O.S5 que é uma
WBSN, usada no C.E.S.A.R desde 2006. O A.M.I.G.O.S possui um sistema de
recomendação para disseminar conhecimento. Além disso, o ambiente conta
com Comunidades Virtuais que, com auxílio de seus mecanismos de
groupware, podem representar projetos de software tornando possível a
implementação desse trabalho.
1.1. OBJETIVOS
O objetivo principal deste trabalho é investigar mecanismos de comunicação
em ambientes colaborativos na busca de minimizar problemas de comunicação
entre projetos de software. Neste sentido, as seguintes metas foram definidas
para alcançar tal objetivo:
• Investigação das definições de comunicação, informação e
conhecimento;
• Análise dos conceitos de trabalho colaborativo e mecanismos de
groupware;
• Realização de pesquisa sobre a comunicação entre projetos de
desenvolvimento de software nas organizações;
• Identificação de ambiente colaborativo para estudo de caso;
• Definição de mecanismo para auxiliar na comunicação do ambiente
colaborativo escolhido;
• Validação do trabalho realizado através da utilização do ambiente
acrescido do mecanismo definido.
1.2. ESTRUTURA DO TRABALHO
Este trabalho está organizado da seguinte maneira:
5 A.M.I.G.O.S – Ambiente Multimídia para Integração de Grupos e Organizações Sociais http://amigos.cesar.org.br
7
Capítulo 2 – Referencial Teórico – Neste capítulo são apresentados todos os
conceitos necessários durante todo o trabalho a fim de tornar as definições
comuns.
Capítulo 3 – Descrição do Trabalho – O trabalho é apresentado neste
capítulo juntamente com a proposta e seu estudo de caso.
Capítulo 4 – Implementação e Resultados do Trabalho – A implementação e
os dados obtidos na validação desse trabalho são apresentados através de
gráficos e os resultados analisados neste capítulo.
Capítulo 5 – Conclusões e Trabalhos Futuros – O capítulo 5 apresenta as
conclusões e limitações desse trabalho e em seguida sugestões de melhoria do
trabalho realizado.
8
2 REFERENCIAL TEÓRICO
2.1. COMUNICAÇÃO, INFORMAÇÃO E CONHECIMENTO
A globalização da economia tem direcionado várias organizações, incluindo as
da indústria de software, para a distribuição geográfica de seus recursos e
investimentos com a finalidade de obter melhores resultados. Atualmente, não
é raro encontrarmos projetos que têm seus prazos expirados, falhas de
estimação do tempo e qualidades não atendidas. Esta afirmação é confirmada
anualmente através dos relatórios do CHAOS.
A experiência open source tem mostrado que é possível fazer software com
qualidade, custo e tempo reduzido [Fitzgerald, 2004]. A principal característica
em um desenvolvimento open source é a distribuição. É possível construir
horários flexíveis contando com diferentes culturas, línguas, experiências e
conhecimento quando se dispersa pessoas a fim de realizar atividades com o
mesmo objetivo. Além disso, valores, como amadurecimento técnico rápido e
de baixo custo, podem ser agregados à contribuição da comunidade ao projeto.
No desenvolvimento de software, a abordagem open source não é vista com
bons olhos pelos gerentes de projeto, pois ela representa um desafio
significante em termos de coordenação e monitoramento do desempenho das
equipes [Bourgault et al., 2002].
Há muito tempo, como apresenta Duitshof [Duitshof, 1995], tem se constatado
que coordenação, comunicação e cooperação são os principais fatores de uma
atividade em grupo. E para minimizar os efeitos negativos da distância, com o
objetivo de realizar um trabalho distribuído, é necessário compor um conjunto
de ações colaborativas que envolva coordenação de equipes, comunicação
entre os membros de um grupo e cooperação dos indivíduos na realização das
tarefas.
A comunicação é o mecanismo de troca de informação com a finalidade de
criar e transmitir conhecimento. Este mecanismo, segundo Knight e Graydon
[Knight e Graydon, 2007], é crítico para o sucesso no desenvolvimento de
9
qualquer sistema. E entre os três fatores apresentados por Duitshof [Duitshof,
1995] em 1995, a comunicação já se destacava com o objetivo de trocar
informações com integridade entre os membros de um grupo disperso.
A Europe’s Information Society6 iniciou, em 2005, a estratégia i2010 que é um
framework político com objetivo de promover a contribuição positiva que as
tecnologias de comunicação e informação podem realizar para a economia,
sociedade e qualidade pessoal de vida. Uma comissão de comunicação no
futuro das redes e da Internet [European Commission, 2008], publicada em
2008, revisa ações existentes e proprõe uma política coerente para preparar a
sociedade da informação européia para próxima década da Internet.
Como apresentado pela European Commission [European Commission, 2008],
a globalização no desenvolvimento de software exige colaboração,
compartilhamento de conhecimento e criatividade. Mudando os hábitos de
comunicação, a Internet provê surpreendentes serviços de comunicação entre
grupos de pessoas, adaptando-se incrementalmente às necessidades dos
usuários. Sensores e dispositivos conectados podem interagir com o ambiente
e enviar informações para outros objetos através da comunicação máquina-a-
máquina. Este tipo de comunicação se torna presente em carros e casas
inteligentes, sistema de tráfego e segurança, entre outros.
2.1.1. COMUNICAÇÃO E INFORMAÇÃO
Comunicação pode ser definida como solicitação, interpretação, troca e
compartilhamento de significado [Altheide, 1995]. Esta ação envolve pessoas e
mensagens cujo conteúdo também é chamado de informação. As pessoas se
comunicam com interesse na informação, ora para que ela seja obtida, ora
para que seja disseminada, dependendo do papel exercido no processo
comunicativo.
Segundo [Wurman, 1990], informação é aquilo que leva ao entendimento. Para
garantir o entendimento das mensagens é necessária a definição de
6 Europe’s Information Society – http://ec.europa.eu
10
protocolos. Protocolos são convenções que devem ser obedecidas para que
se possa transmitir uma informação. Os mais utilizados são as línguas e
dialetos que auxiliam a comunicação de forma a dar sentido às mensagens
trocadas. Dentro de um grupo, há pessoas com diferentes pontos de vista, o
que pode gerar confusões devido às percepções individuais [Fuks et al., 2002]
[Pimentel, 2006]. Em tal caso, comunicação é a ação de tornar comum. É a
troca de mensagens objetivando compreensão mútua.
Em ambientes colaborativos, os membros de um grupo se comunicam entre si
para negociar, tomar decisões e acertar compromissos [Winograd, 1989]
[Pimentel, 2006]. Sendo assim, fica evidente a necessidade de uma
combinação de mecanismos de comunicação para que os membros de um
grupo operem de forma eficiente [Wierba et al., 2002] [Mark e Poltrock, 2001].
Nesse contexto, interação é um ingrediente chave para construção social de
significado e informação [Sanders, 2002]. É evidente que equipes distribuídas
precisam de uma combinação de mecanismos de comunicação para operar
eficientemente.
Toda comunicação necessita de algum tipo de mídia. A mais básica delas é a
voz humana [Sanders, 2002]. No ramo da computação, temos os sinais
eletrônicos digitais, os sistemas de números binários, octais e hexadecimais
como exemplos de mídia de comunicação.
Um modelo básico de comunicação é ilustrado na Figura 1. Este modelo é
baseado no PMBOK® Guide [PMBOK, 2004] e mostra como as idéias e
informações são enviadas e recebidas entre as partes (emissor e receptor).
11
Figura 1 - Modelo Básico de Comunicação
Os principais componentes do modelo são:
• Codificador - entidade que traduz idéias para linguagem
compreensível;
• Mensagem - saída do processo de tradução (codificador). Ela
contém a informação;
• Ambiente - onde a mensagem é transferida;
• Ruído - tudo que interfere na recognição da mensagem;
• Decodificador - entidade que realiza a tradução inversa,
transformando a linguagem compreensível em idéias.
Segundo o modelo apresentado na Figura 1, a comunicação é composta por
duas entidades – emissor e receptor. O emissor precisa de um codificador para
fazer compreender sua informação, ou seja, adequá-la ao protocolo utilizado na
comunicação. Quando a informação se torna compreensível, ela é associada a
uma mensagem que é responsável por alcançar o receptor e entregar-lhe a
informação. No ambiente onde a mensagem é transferida, podem ocorrer
ruídos capazes de distorcer o sentido da mensagem, comprometendo a
12
integridade da informação transmitida, desviá-la de sua trajetória, chegando ao
receptor errado, ou até perder-se no caminho. Ao receber a mensagem, o
receptor necessita decodificá-la para compreender seu conteúdo – realizando
assim, o processo inverso à codificação.
2.1.2. TIPOS DE COMUNICAÇÃO ENTRE MEMBROS DE UM GRUPO
No desenvolvimento de software existem transações de comunicação em
praticamente todas as fases do seu ciclo de vida, seja ele qual for. Na
elicitação de requisitos, por exemplo, instâncias de comunicação com
stakeholders são necessárias para conduzir com alta fidelidade o entendimento
do produto a ser desenvolvido. O desenvolvimento de software exige,
principalmente, comunicação entre os membros do projeto.
A comunicação entre membros de um grupo pode ser classificada de várias
maneiras. Seus tipos podem ser definidos pelos meios e protocolos que
utilizam, assim como pelos mecanismos, objetivos, periodicidade, entre outros
critérios. Em 1998, Anschuetz [Anschuetz, 1998], apresenta os seguintes tipos
de comunicação muito utilizados até hoje no desenvolvimento de software:
• Comunicação contínua - os membros se comunicam
regularmente. Eles se beneficiam dos meios de comunicação disponíveis e
devem ser capazes de se comunicarem efetivamente sem o benefício de
gestos e expressões humanas, ou seja, utilizando apenas protocolos capazes
de garantir o verdadeiro sentido da informação;
• Informação de fluxo livre – este tipo de comunicação é
caracterizado por ocorrer voluntariamente. Os membros das equipes
compartilham o que eles sabem e o que aprendem com todos, assim como
confessam e perguntam o que não sabem. Na informação de fluxo livre, as
partes comunicantes sentem-se a vontade para compartilhar dúvidas e oferecer
soluções. Este tipo de comunicação pode ser bem representado pela técnica
de Brainstorm;
13
• Comunicação baseada em confiança - os membros respeitam e
entendem uns aos outros como pessoas, não como profissionais. Esta
abordagem permite criar intimidade entre os membros da comunicação,
gerando maior credibilidade na informação compartilhada, assim como,
permitindo que haja um maior fluxo de mensagem objetivando o completo
entendimento da informação.
Quanto à forma, a comunicação é geralmente classificada como síncrona e
assíncrona. A comunicação síncrona requer que todos os participantes estejam
presentes, física ou virtualmente, ao mesmo tempo na troca de informações.
Neste tipo de comunicação, a mensagem possui destino e espera ser recebida
no momento em que é enviada. Para isso, é necessária a presença tanto do
emissor quanto do receptor no momento da troca de informações. Já na
comunicação assíncrona não é necessária a presença de todos os
participantes. Assim, muitas vezes não é possível prever quando o receptor irá
receber a mensagem, ou mesmo se irá recebê-la.
2.1.3. CONHECIMENTO
Segundo Bollinger e Smith [Bollinger e Smith, 2001], o entendimento,
conscientização ou familiaridade adquirida através de estudo, investigação,
observação ou experiência, define conhecimento, ou seja, o conjunto de
informações que vem a compor o entendimento sobre algo que gera o
conhecimento.
A geração do conhecimento ocorre quando a informação, que contém essência
e propósito, é combinada com contexto e experiência [Huang et al. 1999]. Na
forma mais básica, conhecimento pode ser considerado um conjunto de
informações contextuais, relevantes e impugnáveis [Soliman e Youssef, 2003]
[Wainwright, 2001].
Segundo [Yacci, 1999], o conhecimento pode ser decomposto em níveis. O
menor nível de um conhecimento é chamado de componente de conhecimento.
A questão importante é o desafio de como decompor conhecimento levando
em consideração, tamanho e escopo.
14
É necessário definir o nível apropriado de granularidade que seja capaz de
eventualmente recombinar um conhecimento através dos componentes. Esta
granularidade deve ser maior que um dado ou informação não excessivamente
compilada, ou seja, tal nível de granularidade deve permitir a recuperação do
conhecimento. Há várias teorias e modelos instrutivos para compreender os
componentes de conhecimento em [Gagne e Briggs, 1979], [Merrill, 1983],
[Kolb, 1984], [Romiszowski, 1986], [McCarthy, 1987], [Merrill, 1988], [Horn,
1989] e [Yacci, 1991].
O novo paradigma da era do conhecimento, substituta da era da informação,
torna comum terminologias como conhecimento, tecnologia de conhecimento,
warehouse de conhecimento e gestão de conhecimento [Anbulagan e Kuswara,
2001]. Desde o final do século passado, o conhecimento tem se tornado um
dos mais valiosos, se não o mais valioso bem de uma organização moderna
[Yacci, 1999]. Em 1997, Jehng [Jehng, 1997] definiu colaboração como um
processo no qual vários atores compartilham seus próprios organismos de
conhecimento para formar um único corpo de conhecimento. Contudo,
compartilhar conhecimento e, acima de tudo, formar conhecimento único
necessita de muito esforço e disciplina, tornando-se um grande desafio.
Cultura organizacional também é um conceito importante [Creighton e Adam,
1998] pois é um fator humano. [Duhon, 1998] estima que entre 50% e 90% do
conhecimento corporativo existe na mente de seus empregados. Quando um
empregado deixa a companhia, o conhecimento também a deixa.
Sendo conhecimento a convicção pessoal justificada que aumenta a
capacidade do indivíduo de executar ação efetiva [Alavi e Leidner, 1999], cada
participante individual num ambiente colaborativo deve estar ciente de seu
papel [Lucca et al, 2000], trabalhando em harmonia e trocando informações a
fim de gerar o conhecimento coletivo da organização. É necessário que o
conhecimento coletivo seja gerenciado, processado e utilizado. O problema
chave é como encontrar conhecimento ou informação relevante em
amadurecimento contínuo e memórias organizacionais distribuídas [Smolnik e
Nastansky, 2002].
15
Com o advento de novas tecnologias, como data mining e vídeo conferência, o
mercado oferece várias soluções para os desafios de negócio da era do
conhecimento [Anbulagan e Kuswara, 2001]. Ainda assim, introduzir novas
tecnologias, como colaboração eletrônica e programas de compartilhamento de
conhecimento, sem adotar essas novas práticas na cultura organizacional, não
justifica o investimento [Creighton e Adam, 1998].
2.1.4. TIPOS DE CONHECIMENTO
Identificar o tipo de conhecimento pode auxiliar no modo em que ele será
criado, armazenado, amadurecido, compartilhado e utilizado pelo ambiente
colaborativo. Em [Nonaka e Takeuchi, 1995], existe uma classificação do
conhecimento profundamente aceita. O conhecimento é caracterizado como
tácito ou explícito.
Segundo Nonaka e Takeuchi [Nonaka e Takeuchi, 1995], o conhecimento tácito
está armazenado na mente, no comportamento e na percepção humana, ou
seja, é diretamente ligado aos relacionamentos interpessoais [Hansen, 1999].
Assim sendo, seu compartilhamento dependente diretamente de fatores
humanos, este tipo de conhecimento é mais difícil de ser formalizado e
documentado, conseqüentemente, mais difícil de ser comunicado [Nonaka e
Takeuchi, 1995].
O conhecimento explícito é caracterizado pelas evidências, registros e
documentos que o compõem [Nonaka e Takeuchi, 1995]. Segundo Duffy
[Duffy, 2000], este tipo de conhecimento pode ser facilmente capturado,
formalizado e documentado. Além disso, o conhecimento explícito é
sistemático em suas aplicações, podendo ser formalmente expressado e
prontamente processado [Nonaka e Takeuchi, 1995].
2.1.5. GESTÃO DE CONHECIMENTO
Segundo [Aurum et al., 2003], gestão de conhecimento em uma organização
de software é vista como uma oportunidade de criar uma linguagem de
16
entendimento comum entre os desenvolvedores de software, de forma que eles
possam interagir, negociar e compartilhar conhecimento e experiências. Em
1999, segundo Frappaola e Capshaw [Frappaola e Capshaw, 1999], esse
conceito já era ampliado: “gestão de conhecimento envolve sabedoria coletiva
para acelerar capacidade de resposta e inovação”.
A gestão de conhecimento é fundamentalmente o gerenciamento de
conhecimento corporativo e de bens inteligentes que podem melhorar um
conjunto de características organizacionais e adicionar valores por possibilitar a
uma empresa atuar de forma mais inteligente [Murray, 2002]. Ela busca cruzar
as fronteiras organizacionais, intensificando a comunicação e colaboração,
como conseqüência, transformando conhecimento local em organizacional
[Duffy, 2000] [Lee e Hong, 2002].
O conhecimento corporativo é idealizado com a pretensão de ser utilizado nas
tomadas de decisões e na solução de problemas das organizações com a
finalidade de evitar retrabalho e gerar estratégias de planejamento. De acordo
com Anbulagan e Kuswara [Anbulagan e Kuswara, 2001], essa abordagem
auxilia na aquisição, armazenamento, disseminação e utilização de
conhecimento, pois proporciona às organizações a oportunidade de valorizar
os desafios e complexidades inerentes ao desenvolvimento de software [Ward
e Aurum, 2004].
Já em 1988, Wiig [Wiig, 1988] apresenta uma vasta teoria sobre gestão de
conhecimento. Seus conceitos dão suporte à formação de um completo
processo de criação, coleção, codificação, compartilhamento e uso do
conhecimento. Três variáveis são tratadas nas teorias de Wiig [Wiig, 1988]:
• Conteúdo – define o que uma organização necessita conhecer;
• Situação – descreve qual função organizacional necessita obter o
conhecimento;
• Processo – identifica como efetivar as atividades de gestão de
conhecimento.
17
A gestão de conhecimento pode ser vista como um processo de aprendizado
sistemático que provê flexibilidade, pois foca a necessidade de uma
organização pelo conhecimento [Anbulagan e Kuswara, 2001]. São atividades
de gestão de conhecimento: criação, aquisição, identificação, adaptação,
organização, distribuição, aplicação, entre outras. Vários modelos têm sido
apresentados buscando contribuir com a definição das atividades citadas.
Figura 2 - Fases de Processos de Gestão de Conhecimento Traduzido de
[Goldoni e Oliveira, 2006]
A Figura 2 compara diversas fases definidas por vários autores e apresenta a
proposta de fases elaborada em [Goldoni e Oliveira, 2006]. As fases definidas
na proposta de Goldoni e Oliveira são:
• Criação – Adição de novo conhecimento e adaptação do
conhecimento existente;
• Armazenamento – Codificação do conhecimento para
armazenamento nas bases do conhecimento;
• Disseminação – Comunicação ou distribuição do conhecimento
dentro da organização;
18
• Utilização – Aplicação do conhecimento;
• Medição – Avaliação das fases e resultados do processo de
gestão de conhecimento.
Analisando a Figura 2, é possível destacar as fases de Bose [Bose, 2004] e o
próprio processo proposto por Goldoni e Oliveira. De certa forma mais
detalhada, o processo de Bose muito se assemelha ao de Goldoni e Oliveira.
Em Bose [Bose, 2004], as fases de capturar e armazenar podem ser
confundidas. Enquanto a primeira corresponde aos repositórios para
armazenar a informação, a segunda é a codificação do conhecimento tácito e
explícito para torná-los entendíveis e utilizáveis. Além disso, o processo de
Bose não prevê medição e resultados.
No processo apresentado por Goldoni e Oliveira, a fase de armazenamento
corresponde às fases de capturar e armazenar apresentadas por Bose. Para os
dois processos em destaque, a fase de disseminação está diretamente ligada à
comunicação, necessitando de tecnologias de groupware a fim de tornar o
conhecimento disponível e acessível para qualquer um da organização.
Tanto para o conhecimento explícito quanto para o tácito, os métodos de
gestão de conhecimento podem ainda ser classificados em quatro estilos [Choi
e Lee, 2003]:
• Passivo – utilizado em organizações que possuem pouco
interesse em gestão de conhecimento, ou seja, corporações que não exploram
verdadeiramente conhecimento, este método não é gerenciado de forma
sistemática e não utiliza tecnologia da informação, cultura e estrutura
organizacional;
• Orientado a sistemas – enfatizando codificar e reusar
conhecimento, o estilo orientado a sistemas aumenta a confiabilidade através
de avançada tecnologia da informação que busca minimizar a complexidade do
acesso e do uso do conhecimento;
• Orientado ao humano – a aquisição e compartilhamento de
conhecimento tácito e experiência interpessoal são o foco do estilo orientado
19
ao humano. O fator humano é crítico na eficiência da gestão de conhecimento,
necessitando que haja comunicação e confiança;
• Dinâmico – este estilo explora conhecimento comprovado e
investiga novos potenciais. Corporações que utilizam esse estilo enfatizam
tanto os métodos orientados a sistemas quanto os orientados ao humano.
A Figura 3 foi traduzida de [Choi e Lee, 2003] e demonstra a relação entre os
tipos de conhecimentos e os quatro estilos definidos:
Figura 3 - Estilos de Gestão de Conhecimento [Choi e Lee, 2003]
Choi e Lee [Choi e Lee, 2003] realizaram um estudo empírico com a finalidade
de validar os quatro estilos de gestão de conhecimento. O trabalho analisou
efeito e custo de cada método na performance das corporações realizando
questionários em 100 empresas coreanas. O estilo dinâmico mostrou-se como
o estilo mais eficaz, enquanto o passivo obteve a mais baixa performance.
Além disso, Choi e Lee concluiram que não existe diferença significativa entre
os estilos orientados a sistema e ao humano.
Com o objetivo de capturar e codificar o conhecimento e, além disso,
potencializar o resgate e o compartilhamento do conhecimento sobre uma
organização [Nemati et al., 2002], surgiram as bases de dados chamadas de
warehouses de conhecimento. Segundo Lee e Liu [Lee e Liu, 2006], elas visam
prover um tomador de decisão com uma plataforma de análise inteligente que
intensifique todas as fases do processo de gestão de conhecimento.
Em [Yacci, 1999], Yacci define os warehouses de conhecimento como
repositórios de informações capazes de catalogar e armazenar componentes
20
de conhecimento com a finalidade de se tornarem reutilizáveis. Como são
capazes de catalogar, essas bases de dados podem permitir uma variedade de
visões a fim de classificar o conhecimento. Embora não seja um requisito para
definição, um warehouse de conhecimento pode ser constituído de vários
repositórios, permitindo, assim, o armazenamento de conhecimento em vários
locais. A Figura 4 é baseada em [Yacci, 1999] e representa um warehouse de
conhecimento:
Figura 4 - Warehouse de Conhecimento
Os repositórios compõem o warehouse de conhecimento. Cada CC
(Componente de Conhecimento) corresponde a um componente de
conhecimento armazenado. Os sistemas utilizam o conhecimento catalogado e
armazenado nos repositórios. Cada sistema é responsável por identificar os
componentes de conhecimento necessários para montar um conhecimento e
repassá-lo aos usuários.
Os vários benefícios da gestão de conhecimento estão na redução da perda de
capital intelectual e do custo de desenvolvimento de um novo produto ou
serviço, além do aumento de produtividade e satisfação, pois tornam o
21
conhecimento acessível a todos os membros de uma organização. Embora o
conhecimento seja um gerador chave de valor em qualquer organização de
negócio, é difícil quantificá-lo [Bose, 2004].
2.2. TRABALHO EM GRUPO – GROUPWARE
A palavra “groupware” pode possuir diferentes significados para diferentes
pessoas, contudo, no geral, representa o suporte para equipes trabalharem
com coordenação, colaboração e comunicação. O termo foi cunhado por Peter
e Trudy Johnson-Lenz em 1978. Ele incorpora as aplicações computacionais
responsáveis por suportar trabalhos colaborativos [Johnson-Lenz e Johnson-
Lenz, 1982].
Segundo Chaffey [Chaffey, 1998], o termo “groupware” é definido como o
software que possibilita trabalho em grupo para qualquer processo de negócio.
Groupware é a confluência de colaboração, coordenação e comunicação, como
representada na Figura 5.
Figura 5 - Groupware [Anbulagan e Kuswara, 2001]
Colaboração é a criação e gerenciamento de informação compartilhada para
implementar tarefas comuns [Canfora et al., 2003]. É a ação de trabalhar em
conjunto, ou seja, a execução de um trabalho em comum realizado por duas ou
mais pessoas [Ferreira, 1986]. Seu objetivo é fazer equipes trabalharem juntas
de forma mais rápida e com mais qualidade do que se estivessem sozinhas. Já
22
a coordenação é o ato de integrar tarefas e unidades organizacionais para
alcançar um objetivo comum [Canfora et al., 2003]. A coordenação pretende
organizar tarefas coletivas de forma harmoniosa.
Em [Pimentel, 2006], colaboração é representada por três dimensões:
Comunicação, Coordenação e Cooperação. Esta abordagem é denominada de
Modelo 3C de Colaboração [Ellis et al, 1991]. A colaboração tem sido
compreendida a partir do Modelo 3C. Este enfatiza que um grupo, para
colaborar, tem que estabelecer adequada Comunicação, Coordenação e
Cooperação, como mostra a Figura 6:
Figura 6 - Modelo 3C de Colaboração [Fuks et al., 2003]
Na colaboração, normalmente os membros do grupo se comunicam para a
ação: negociam, tomam decisões e firmam compromissos [Winograd, 1989]
[Pimentel, 2006]. A cooperação é a ação de operar em conjunto. Objetivando
evitar que esforços de comunicação e de cooperação sejam desperdiçados
[Raposo et al., 2004] [Pimentel, 2006], a coordenação é a ação de dispor
segundo certa ordem e método.
A coordenação de um trabalho colaborativo organiza os membros do grupo
para que os compromissos resultantes das negociações sejam realizados na
23
ordem e tempo previstos, cumprindo seus objetivos e restrições. Os membros
do grupo atuam em conjunto, num espaço compartilhado, para a realização das
tarefas definidas e organizadas durante a coordenação. Ao cooperarem, os
indivíduos têm necessidade de se comunicar para renegociar e tomar decisões
sobre situações não previstas, reiniciando o ciclo de colaboração
esquematizado na Figura 6.
Como resultado destes conceitos, groupware aparece como sendo as
aplicações computacionais projetadas para dar suporte ao trabalho
colaborativo, que fornecem uma interface para um ambiente compartilhado e
apóiam tarefas cooperativas típicas, como escrita coletiva, compartilhamento
de calendários, acesso à base de dados e reuniões eletrônicas.
2.2.1. TIPOS DE GROUPWARE
Existem vários tipos de groupware baseados em:
• E-mail eletrônico – serviço eletrônico baseado na comunicação
realizada por cartas. O e-mail é composto por duas partes: cabeçalho e corpo.
O cabeçalho contém, assim como nas cartas, destinário, remetente e assunto.
O e-mail pode ser enviado de um remetente para um único destinatário, assim
como, para vários, ou seja, diferentemente das cartas, o e-mail permite o envio
da mesma mensagem para diferentes destinatários. Pela popularidade e
facilidade de uso, sempre acreditou-se que o e-mail eletrônico é o único tipo de
groupware realmente bem sucedido [Grudin, 1994];
• Compartilhamento de arquivos – funcionalidade que permite a
troca de arquivos entre duas ou mais pessoas. Este serviço, quando orientado
à conexão, pode ser acoplado a programas de mensagens instatâneas. Ou
ainda pode ser utilizado um repositório que permita compartilhamento através
de e-mail ou sites para pessoas autorizadas;
• Conferências – mecanismos síncronos que permitem reunir mais
de uma pessoa numa mesma comunicação. Conferências podem ser textuais
24
ou áudios-visuais, através de programas e equipamentos que permitam
mensagens instantâneas e conversas através de câmeras e kits multimídia;
• Reuniões – sistemas que realizam conferências com mais
funcionalidades como compartilhamento de arquivos e quadro-branco através
da utilização de periféricos como tablets e mouses;
• Suporte à decisão – também conhecidos como sistemas GDS
(Group Decision Support), este tipo de groupware auxilia na tomada de decisão
durante as reuniões de grupo e muitas vezes é tratado como uma área de
pesquisa isolada e focada em processos de tomadas de decisão;
• Baseado em conhecimento – aplicações de groupware que
integra técnicas de gestão de conhecimento. Uma variedade de ferramentas e
tecnologias, como Internet, intranets, data warehousing, ferramentas de
suporte à decisão e groupware, formam sistemas de gestão de conhecimento
[Bontis et al. 1999];
• Workflow – sistemas que suportam workflows – mecanismos que
buscam capturar e desenvolver interação homem-máquina. Este tipo de
groupware pretende prover formatos visuais como os flow charts para
descrever processos complexos de informação;
• Toolkits – sistemas que disponibilizam, para desenvolvedores,
segundo [Terzis e Nixon, 1999], um conjunto de algoritmos para comunicação e
coordenação de grupos, assim como componentes de software. São
groupware os Toolkits COAST [Schuckmann et al., 1996] e GroupKit [Groupkit,
2008].
Quanto à comunicação, as ferramentas de groupware podem ser classificadas
em síncronas e assíncronas. As ferramentas de groupware síncronas são:
• Conferências – podem ser classificadas como:
o Textual – disponibiliza apenas recursos de mensagens
instantâneas em modo textual. Corresponde aos programas de chat,
conhecidos também como salas de bate-papo;
25
o Áudio – a utilização de voz agiliza as conferências. A
maioria dos programas de chat conta com esse recurso. Tal tipo de
conferência necessita de uma boa infra-estrutura de rede;
o Vídeo – equipamentos de video-conferência ou programas
de chat utilizando web-cam disponibilizam conferências de vídeo.
Este tipo de serviço aproxima mais os participantes da comunicação
e permite identificar as reações das partes numa conversa. É
indispensável uma boa infra-estrutura de rede.
• Suporte a reuniões - envolve mecanismos responsáveis por
endereçar questões de processo a grupos colaborativos, ajudando a minimizar
problemas associados a reuniões. Os sistemas GDS são de suporte a
reuniões.
As ferramentas de groupware assíncrono são:
• Mensagem assíncrona simples – contempla os mecanismos de
envio de mensagens. O e-mail é o serviço que melhor representa a mensagem
assíncrona simples;
• Discussão assíncrona – serviço de mensagens assíncronas para
forçar a interação de um grupo. São exemplos de discussão assíncrona as
listas de e-mails, os grupos de notícias e os fóruns.
2.2.2. SERVIÇOS DE GROUPWARE
Além da classificação de groupware por tipo, baseando-se no modelo 3C de
colaboração [Ellis et al, 1991], groupware pode ser categorizado por serviços:
• Serviço de comunicação – reúne os recursos que têm como
finalidade auxiliar no processo de comunicação dos usuários de um mesmo
sistema. São serviços de comunicação: correio eletrônico, listas de discussão,
fórum, mural, brainstorming, chat e mensageiro;
• Serviço de coordenação – contempla mecanismos capazes de
auxiliar na integração de tarefas com a finalidade de conquistar um objetivo
26
comum. Agenda, relatórios de atividades, acompanhamentos de participação,
questionários, tarefas, subgrupos, gerenciamento de recursos, orientação e
votação compõem os serviços de coordenação;
• Serviço de cooperação – associa recursos que pretendem ajudar
aos membros de um grupo a atuar em conjunto nas tarefas definidas pelos
serviços de coordenação. São mecanismos de serviço de cooperação:
repositórios de conteúdo, quadro branco, busca, glossário, links, jornal
cooperativo, classificador, wiki, gerenciador de contatos, revisão em pares,
FAQ – Frequent Asked Question, anotações e RSS – RDF Site Summary.
2.2.3. FERRAMENTAS DE GROUPWARE
A tecnologia é um dos importantes contribuidores da gestão de conhecimento.
O uso pervarsivo de groupware tem causado um efeito profundo na aptidão das
pessoas para compartilhar, eficazmente, conhecimento e práticas, este tipo de
tecnologia ajuda na disserminação do conhecimento [Bose, 2004]. Já para
distribuir e coordenar atividades é necessário planejar escalabilidade e
abertura, considerando que a web é vastamente explorada.
Numa tentativa de suportar colaboração, surgiu a plataforma gratuita de
groupware baseada em web chamada BSCW (Basic Support for Cooperative
Work) [Bentley e Appelt, 1997] [Appelt, 1999]. O BSCW é uma aplicação de
groupware caracterizada por workspaces compartilhados. No BSCW, o usuário
cria workspaces que são nada mais que pastas localizadas num servidor e
utilizadas como repositórios para objetos. Documentos, anotações, discussões,
calendários, hiperlinks, imagens, contatos podem ser definidos como objetos
do BSCW. Além dos objetos, o BSCW provê um conjunto de mecanismos de
groupware. Estes mecanismos, em sua maioria, apresentam-se como tipo de
comunicação assíncrona, mas o sistema também possui interfaces para
ferramentas de conferência e consciência de presença [Canfora et al. 2003].
Em [Terzis e Nixon, 1999], foi realizado um trabalho de levantamento de
ferramentas de groupware. Algumas dessas ferramentas ainda são utilizadas
até hoje na indústria. São elas:
27
• Lotus Domino - uma das ferramentas de groupware mais famosas
do mercado. Ela é um servidor de aplicações e mensagens com um conjunto
de serviços integrados que possibilita criação de aplicações interativas e
seguras para Internet e intranets corporativas.
• TANGO - sistema aberto e extensível que provê um framework
tecnológico para construir sistemas colaborativos. É uma ferramenta integrada
com a Web disponibilizando, de forma colaborativa, suporte a serviços
síncronos e assíncronos.
• Mushroom - framework genérico de software que suporta
colaboração e interação de grupos pela Internet. Mushroom provê espaços de
trabalho, chamados de Mrooms, para grupos de usuários. Mrooms contém
representações de usuários que podem compartilhar documentos,
apresentações multimídia e quadros brancos.
• wOrlds - o objetivo do wOrlds é criar um framework de
colaboração, o qual alavanca as teorias sociológicas na natureza do trabalho,
em pesquisas de sistemas distribuídos e nos resultados existentes no campo
do CSCW.
• Habanero (ISAAC) - framework colaborativo e conjunto de
aplicações que permitem usuários compartilharem tarefas de localizações
remotas em tempo real através da Internet. Ele permite, também, que
desenvolvedores de aplicações de groupware construam softwares
colaborativos.
Quanto ao uso sistemático do Modelo 3C de Colaboração no desenvolvimento
de ferramentas de groupware, é possível, ainda, citar os seguintes sistemas de
e-learning:
• TelEduc7 - sistema para a criação, participação e administração
de cursos na Web. Possui facilidade de uso por pessoas não especialistas em
computação. O TelEduc disponibiliza ferramentas como: correio eletrônico,
grupos de discussão, mural, portfólio, diário de bordo e bate-papo;
7 TelEduc – http://www.teleduc.org.br
28
• AulaNet - em [Pimentel et al., 2006], a ferramenta AulaNet é
destacada como sendo um sistema colaborativo para o ensino-aprendizagem
pela web [Fuks et al., 2002]. Os serviços de groupware da versão 2.1 do
AulaNet podem ser visualizados através da Figura 7:
Figura 7 - Serviços 3C do AulaNet 2.1 [Pimentel et al., 2006]
• AVA8 - ambiente virtual de aprendizagem. Decorre de uma
concepção interacionista de construção do conhecimento, na qual o aluno é o
centro do processo de aprendizagem e de construção do próprio ambiente.
Possui diversos mecanismos de groupware, tais como: correio eletrônico, lista
de discussão, fórum, mural e bate-papo.
8 AVA – http://ava.iei.org.br
29
• WebCT9 (Web Course Tools) - sistema de gestão de
aprendizagem que possibilita estabelecer um ambiente de ensino e
aprendizado integrado, com uma série de ferramentas educacionais como:
sistema de conferência, chat, correio eletrônico e calendário.
• Moodle10 (Modular Object-Oriented Dynamic Learning
Environment) - software livre para administração de atividades educacionais
destinado à criação de comunidades on-line, em ambientes virtuais voltados
para a aprendizagem colaborativa. O Moodle é direcionado para
programadores e acadêmicos da educação. Encontra-se disponível em
diversos idiomas, inclusive em português. Conta com diversos mecanismos
como: chat, diário, fórum, wiki e comunidades virtuais.
2.2.4. CSCW
O termo CSCW foi criado na década de 80 por Paul Cashman e Irene Grief
[Grudin, 1994]. Na ocasião que resultou no surgimento do termo, Cashman e
Grief organizaram um seminário, reunindo pesquisadores de várias disciplinas
que compartilhavam o interesse pela forma com que as pessoas realizam suas
atividades de trabalho.
Sendo uma área de estudos da Ciência da Computação, o CSCW tem como
foco as técnicas de comunicação empregadas para dar suporte à cooperação e
coordenação e pode ser definido como o campo de pesquisa para o estudo das
técnicas e metodologias de trabalho em grupo e das formas pelas quais a
tecnologia pode auxiliar este trabalho [Grudin, 1994].
Em sistemas que fazem uso de técnicas de CSCW, um grupo de usuários é
coordenado para terminar uma tarefa em um ambiente de trabalho
colaborativo, precisando acessar dados compartilhados.
No geral, o CSCW aborda processos colaborativos, como por exemplo, o DXP
(Distributed Extreme Programming), proposto por Michael Kircher [Kircher,
9 WebCT – http://www.webct.com 10 Moodle – http://moodle.org
30
2001]. Estes processos possuem a finalidade de unir indivíduos, assim como
grupos, para que possam trabalhar em conjunto visando metas comuns,
estando fisicamente ou não no mesmo local, atuando de forma síncrona ou
assíncrona. O CSCW visa quatro aspectos da colaboração: comunicação,
coordenação, memória de grupo e percepção. Como é relatado em [Oliveira et
al. 2007], a fábrica de software open source J.O.S.E Factory é uma experiência
real da criação de um processo colaborativo baseado nas metodologias e
técnicas do CSCW. O processo da JOSE Factory foi chamado de MORPHOS e
sua estrutura estática é composta por:
• Coordenação – caracterizada pela formação de células gerenciais
e composta por gerentes de células e equipe de coordenação;
• Percepção – composta por mecanismos e ferramentas para
manter os membros da fábrica com o conhecimento do todo;
• Colaboração – definida por um conjunto de técnicas e boas
práticas a fim de realizar tarefas em equipe. O processo de
colaboração prevê, também, a inserção de colaboração externa;
• Comunicação – mantida através de um conjunto de ferramentas
de groupware para comunicação.
A Figura 8 representa o processo de coordenação do MORPHOS [Oliveira et
al. 2007]. É possível, através da figura, identificar como as equipes, utilizando o
processo MORPHOS – baseado nas técnicas de CSCW, trabalham em
colaboração e como são coordenadas.
31
Figura 8 – Cordenação do MORPHOS [Oliveira et al., 2007]
O processo MORPHOS divide os membros da fábrica em células gerenciais. O
CSCW pré-define células como grupos de requisitos, implementação, testes,
entre outros. O MORPHOS classifica suas células por demandas, seguindo as
fases de cada iteração da sua estrutura dinâmica (Modelagem, Implementação,
Testes e Validação, Integração e Release) e elas são criadas pela equipe de
coordenação.
Segundo [Xudong, 2004] a pesquisa focalizada em CSCW estrutura-se no
grupo de usuários, no aparecimento de certos papéis que a necessidade de
cooperação faz surgir, caso contrário, resultará em dificuldades, em ineficiência
e eventual fracasso da solução. A estratégia de coordenação é exatamente a
incorporação desses papéis.
De acordo com a Figura 8, os gerentes de célula, suportados pelas suas
células gerenciais, tentam solucionar, em tempo e com qualidade, as tarefas de
suas responsabilidades. Os gerentes acompanham as atividades dos membros
de suas células e reportam suas atividades e resultados, diariamente, para a
equipe de coordenação.
32
2.3. REDES SOCIAIS
Cada vez mais populares, as redes sociais surgem com diversas formas e
finalidades. As redes mais populares buscam entretenimento através de
relacionamentos entre pessoas de interesses comuns. Estes tipos de redes
sociais contam com espaços e mecanismos que tentam refletir, ao máximo, o
perfil de seus usuários, permitindo construção de comunidades, álbuns de fotos
digitais, compartilhamento de vídeos, entre outros recursos. O MySpace11 e o
Orkut12 são alguns dos exemplos mais conhecidos de redes sociais que
buscam entretenimento. Elas surgiram não só para diversão, mas também para
realização de negócios, como o LinkedIn13, e até para relacionamento entre
animais de estimação como o Fuzzster.com14.
Ainda existem as redes sociais que restringem os tipos de seus usuários de
acordo com suas finalidades. O Eons15 é uma rede social da web que se dirige
apenas para idosos. Já a aSmallWorld, criada pelo banqueiro sueco Erik
Watchmeister, com o objetivo de trocar informações sobre hotéis e
restaurantes caros, assim como festas privadas ao redor do mundo, possui
apenas pessoas ricas. Segundo [Trust, 2008], o aSmallWorld possui cerca de
150 mil membros.
Como representa a Figura 9, a teoria de redes sociais aborda os
relacionamentos sociais em termos de nós e ligações [Iacobucci et al., 1994].
Os usuários de uma rede social são representados pelos nós e as ligações são
os relacionamentos existentes entre os perfis dos usuários. Não muito diferente
do conceito apresentado por Iacobucci, Kadushin [Kadushin, 2004] afirma que
uma rede social deve ser composta de um conjunto de objetos e o
mapeamento entre esses objetos com seus relacionamentos.
11 MySpace - www.myspace.com 12 Orkut - www.orkut.com 13 LinkedIn - http://linkedin.com 14 Fuzzter.com - http://fuzzster.com 15 Eons - http://www.eons.com
33
Figura 9 - Representação de uma Rede Social
Os programas de mensagens instatâneas como ICQ, MSN Messenger, Gtalk,
que utilizam contatos pessoais para realização de comunicação síncrona,
podem, também, ser considerados como redes sociais que, de forma geral,
armazenam informações que definem os perfis dos usuários de uma rede.
Cada usuário possui, por sua vez, um conjunto de interesses na composição
da rede. Nesses tipos de programa, os perfis dos contatos são organizados em
grupos pré-definidos pelos usuários. Já nas redes sociais tradicionais,
geralmente entidades chamadas de comunidades, são utilizadas com a
finalidade de representar uma ordem de organização para os interesses e
idéias dos usuários com algo em comum. A Figura 10 representa uma rede
social caracterizada por um conjunto de comunidades que compartilham
relacionamentos com interesses comuns.
Figura 10 - Representação de uma Rede Social por Comunidades
34
Em 2001, Erickson e Kellog [Erickson e Kellog, 2001] iniciaram a construção de
um ambiente multi-usuário que permitiu comunicação e colaboração em grupo
através de criação de comunidades, fornecendo uma maneira de gerenciar
conhecimento através de redes socias. Em [Hassel, 2003], Hassel afirma que
gestão de conhecimento reivindica ser o sucessor de várias tendências no
mundo dos negócios como sistemas de informação de gestão e memória
organizacional.
Segundo Morville [Morville, 2002], os humanos são animais sociáveis e os
sistemas deveriam reconhecer isso. Morville define, ainda, como mostra a
Figura 11, o relacionamento entre pessoas e conteúdo. Quatro propriedades de
relacionamentos são eficazes em termos de criação e compartilhamento de
conhecimento. Elas foram definidas através da análise de 120 relacionamentos
e incluem [Cross e Borgatti. 2000]:
1. Entendimento do ego de cada conhecimento e habilidade;
2. Acesso conveniente;
3. Grau de segurança no relacionamento;
4. Vontade de se comprometer profundamente na solução de
problema.
Figura 11 - Relacionamento entre Pessoas e Conteúdo [Morville, 2002]
35
Em 2006, foi apresentado em [Matsuo et al. 2006] o POLYPHONET, um
sistema da comunidade acadêmica que facilita a comunicação e entendimento
mútuo baseado na extração de redes sociais da web. A extração ocorre através
da marcação dos nós, adicionando as arestas da rede. Para tanto, o sistema
utiliza várias técnicas avançadas de extração de relações pessoais, detecção
de grupos e obtenção de palavras-chave.
Muitas vezes, os relacionamentos das redes sociais são complexos,
necessitando da definição de atributos, como proximidade e confiança, que
proporcionem realizar análises das redes, além de permitir trabalhos que
explorem mais suas características e a identificação de seus usuários. Desde
1983, após a pesquisa de Granovetter [Granovetter, 1983], focado na teoria
sociológica sobre criações de redes sociais, o número de relacionamento e
seus níveis de confiança estão sendo usados para identificar a relevância de
uma pessoa em uma rede social. A Tabela 1 define, segundo [Lin et al., 2003],
alguns atributos das redes sociais:
Tabela 1 - Atributos das Redes Sociais [Lin et al., 2003]
Atributo Descrição
Betweenness Grau de importância que um indivíduo possui como ligação indireta entre os demais indivíduos da rede. Pode ser resumido ao número de indivíduos aos quais uma pessoa está conectada.
Proximidade de centralidade
É o grau de ligação entre um indivíduo e todos os demais indivíduos da rede. Reflete a habilidade que um indivíduo possui em acessar informações através da rede social.
Grau de centralidade Número de ligações entre um indivíduo e os demais membros da rede.
Centralidade de Eigenvector
Medida de importância de um nó em determinada rede social.
36
Coeficiente de clustering Medida da probabilidade de que dois indivíduos associados a um nó também estejam associados entre eles.
Alcance Grau do alcance de um indivíduo da rede social com relação aos demais.
2.3.1. REDES SOCIAIS BASEADAS NA WEB – WBSN
Na tentativa de extinguir suas fronteiras, as redes sociais estão, cada vez mais,
dispostas na web. De acordo com [Staab et al., 2005], as WBSN aumentaram
seus nós de milhares para milhões. No MySpace já são cerca de 300.000.000
de usuários [Trust, 2008]. Estes números aumentam a cada dia, o que
demonstra a imensa adesão e aceitação das redes sociais baseadas na web.
O sucesso das WBSN está atraindo muita atenção, crescendo o nível de
interesse nesta área, e conseqüentemente, dando um novo rumo para o termo
redes sociais.
Desde meados dos anos 90, as WBSN têm evoluído e proliferado de forma e
velocidade impressionantes, incluindo as quantidades de redes e seus
escopos. Um dos benefícios trazidos pelas redes sociais baseadas em web é
um ambiente interativo e, geralmente, informal permitindo que seus usuários se
expressem livremente.
Segundo Golbeck [Golbeck, 2005], alguns critérios fundamentais devem ser
seguidos para a caracterização de uma WBSN:
1. As redes sociais devem ser completamente acessíveis na web,
sendo necessário apenas um navegador;
2. Usuários devem descrever o status de seu relacionamento com
outras pessoas;
3. O sistema deve ter um claro suporte para seus usuários criarem
estas conexões;
37
4. Relacionamentos devem ser visíveis e navegáveis, ao menos pelo
usuário dono dos relacionamentos.
2.3.2. SISTEMAS DE RECOMENDAÇÃO
Em [Golbeck, 2005], Golbeck enfatiza que se torna bastante comum nas redes
sociais, o acesso às informações de aspectos quantitativo e qualitativo das
conexões sociais entre pessoas. Estas informações podem ser utilizadas para
os mais variados fins como entretenimento, negócios, relacionamentos
pessoais, dentre outros. Nas redes, os usuários buscam encontrar informações
que podem ser a própria conexão social.
A grande dificuldade encontrada pelos usuários nessa busca de informações
se deve à natureza das redes socias, que são geralmente grandes e com uma
quantidade massiva de informações, continuando a crescer constantemente ao
longo do tempo, gerando o conhecido problema de sobrecarga da informação.
Para ajudar a solucionar este problema, as redes sociais costumam
disponibilizar engenhos de busca, que nada mais são que mecanismos que
tentam encontrar a informação pesquisada de acordo com parâmetros
escolhidos pelos usuários ou mesmo inferidos por dados obtidos da rede ou do
próprio usuário.
É nesse contexto que surgem os sistemas de recomendação, representando a
concretização desses mecanismos. Sua finalidade é filtrar conteúdo relevante
de um ambiente com grande volume de informação. De acordo com Meteren e
Someren [Meteren e Someren, 2000], sistemas de recomendação podem
auxiliar os usuários a encontrar informações provendo sugestões
personalizadas.
O principal fator presente nos sistemas de recomendação é a similaridade
entre as propriedades dos objetos comparados. Cada sistema de
recomendação utiliza uma técnica diferente na tentativa de alcançar maior
eficiência na busca da informação, ou seja, cada técnica procura melhorar o
cálculo de similaridade entre os objetos. De acordo com Vozalis e Margaritis
[Vozalis e Margaritis, 2003], o algoritmo de sistemas de recomendação mais
38
largamente utilizado, Tapestry [Goldberg et al, 1992], introduziu a Filtragem
Colaborativa (FC). Em contrapartida à FC existem os sistemas de
recomendação que utilizam Filtragem Baseada em Conteúdo (FBC), e traçam
conceitos do campo da recuperação da informação.
Segundo [Symeonidis et al. 2008], a filtragem colaborativa é uma técnica bem
sucedida de recomendação que confronta o problema de sobrecarga de
informação. Existem dois algoritmos da FC: baseado em memória, na qual as
recomendações são realizadas pela preferência dos vizinhos mais próximos, e
o algoritmo baseado em modelo que recomenda segundo classificação prévia
do usuário.
De acordo com Middleton [Middleton, 2003] a filtragem baseada em conteúdo
proporciona a recomendação de novos itens relacionados ao perfil do usuário
através do monitoramento discreto do seu comportamento, sem interferir em
sua atividade. Heurísticas também podem ser aplicadas para inferir
informações não similares a partir do comportamento observado. Em [Garden,
2004], Garden complementa este conceito afirmando que a FBC avalia a
similaridade entre as palavras-chave no perfil do usuário e de cada artigo, a fim
de encontrar recomendações em potencial.
Tradicionalmente, os sistemas de recomendação implementam filtragem
colaborativa [Salter e Antonopoulos, 2006], mas também podem combinar a
FC com algoritmos de FBC, sendo chamados de sistemas híbridos [Middleton,
2003]. De acordo com Garden, um sistema híbrido analisa os objetos do
sistema, utilizando algoritmos distintos, como a FC e a FBC, por exemplo,
chegando ao cálculo de similaridades. As similaridades encontradas para cada
objeto, por cada algoritmo, são então unificadas através de uma combinação
linear.
Um dos problemas da FC em relação aos algoritmos de FBC é o custo, em
termos de tempo e esforço, de obtenção de informação dos usuários, princípio
de funcionamento da FC. A grande vantagem dos algoritmos de FBC é a
capacidade de recomendarem itens sem a necessidade de interação direta
39
com o usuário, agindo apenas com base nas informações coletadas do
comportamento do usuário.
40
3 DESCRIÇÃO DO TRABALHO
3.1. COMUNICAÇÃO NO DESENVOLVIMENTO DE SOFTWARE
Com o objetivo de analisar a comunicação entre projetos de software das
organizações, neste trabalho foi realizado um questionário [Apêndice A] com 75
profissionais de TI. O questionário é dividido em duas partes, a primeira
identifica o entrevistado através de seus dados pessoais e a segunda busca
identificar a existência de problemas de comunicação entre os projetos de
software das organizações, além de validar mecanismos para tornar possível a
iteração entre os projetos.
3.1.1. QUESTIONÁRIO (PARTE 1) – IDENTIFICANDO OS ENTREVISTADOS
Gráfico 2 - Perfil dos Entrevistados
O questionário foi aplicado em diferentes organizações, dentre elas um instituto
de inovação e duas empresas públicas de TI. O instituto possui vários projetos
de desenvolvimento de produtos, processos e serviços em diversas áreas. Os
projetos das empresas públicas estão focados no desenvolvimento dos
41
softwares do Ministério da Previdência Social (MPS), Ministério do Trabalho e
Emprego (MTE) e Receita Federal do Brasil (RFB).
Para tornar o trabalho mais próximo de um ambiente real de um projeto de
software, a maioria dos entrevistados (65%) eram Analistas e Engenheiros de
Sistemas, como mostra o Gráfico 2. Também foram entrevistados Gerentes de
Configuração, Consultores, Engenheiros de Testes, Estagiários, Gerentes de
Projetos, Líderes de Equipe, Pesquisadores, Líderes Técnicos e Engenheiros
de Qualidade.
O Gráfico 3, mostra a experiência dos entrevistados. Foram questionados
vários profissionais com bastante tempo de experiência. A grande maioria dos
entrevistados (85%), possui 3 anos ou mais de experiência profissional. A
média de experiência de todos os entrevistados é de 6 anos.
Gráfico 3 - Experiência dos Entrevistados
3.1.2. QUESTIONÁRIO (PARTE 2) – IDENTIFICANDO PROBLEMAS E SOLUÇÕES
A prim