114
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 OLIVEIRA ROBSON YTALLO SILVA DE OLIVEIRA ROBSON YTALLO SILVA DE OLIVEIRA ROBSON YTALLO SILVA DE OLIVEIRA Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE, Março/2009

ROBSON YTALLO SILVA DE OLIVEIRA - UFPE€¦ · Dado Villa-Lobos / Renato Russo / Marcelo Bonfá Recomendação de Comunidades Virtuais em uma Rede Social para Minimizar Problemas

  • 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