Ferramentas de colaboração informal para equipes de desenvolvimento de software globais

Ferramentas que podem ajudar a ligar as lacunas geográficas e culturais

Equipes de desenvolvimento de software que envolvem engenheiros ao redor do mundo estão adotando ferramentas de colaboração informais para superar barreiras culturais e de comunicação e para aumentar a confiança e o conforto entre seus membros. Este artigo descreve os benefícios de tais ferramentas em termos fundamentais, operacionais e estratégicos.

Alan F. Broady, IT Architect, IBM  

author photoAlan Broady é Arquiteto de TI Acreditado da IBM que trabalha para o Global Business Services da IBM na Holanda. Ele tem mestrado em engenharia de software e trabalhou extensivamente em grandes projetos com equipes de desenvolvimento de software globais.



11/Mar/2010

O aumento da globalização está tendo importantes ramificações dentro da indústria de TI. A tendência tem sido mais visível na comunidade de desenvolvimento de software na forma de "offshoring", ou o desenvolvimento de todo ou parte de um projeto de software em um país distante da organização que necessita do software. O offshoring levou ao surgimento de equipes de desenvolvimento de software com membros de pelo menos duas regiões geográficas colaborando no mesmo projeto (para maiores informações sobre a tendência do offshoring, leia o artigo de B. Meyer citado nas Referências).

Na maioria dos casos, a motivação para o offshoring é reduzir os custos alavancando salários menores para desenvolvedores de software em países menos desenvolvidos. Pode haver outras motivações, tais como a convergência de sistemas em uma empresa multinacional, a tentativa de reduzir o prazo de lançamento no mercado, seguindo o sol para aumentar o dia útil, ou dificuldade de se encontrar mão de obra local qualificada.

Está claro que desenvolvedores de software recebem salários menores nas chamadas regiões "offshore", tais como Índia, China e América Latina. Entretanto, isso nem sempre se traduz no aumento do valor para as organizações que iniciam projetos de software offshore. Parece que essas equipes não são capazes de alcançar todo o seu potencial. Isso pode ser devido ao fato de tais projetos necessitarem a transferência de uma grande quantidade de informações formais e informais através dos Fusos Horários, grandes distâncias geográficas, barreiras culturais e linguísticas.

Algumas organizações relataram experiências negativas quando trabalharam com equipes de desenvolvimento de software globais (para ver um exemplo, leia o artigo de M. K. McGee citado nas Referências). Os membros das equipes falham ao colaborarem de maneira efetiva devido a barreiras diretamente relacionadas à sua separação geográfica. Essas barreiras podem ser diminuídas por meio de ferramentas de colaboração informal. Tais ferramentas são necessárias para corrigir o desequilíbrio entre os modos formal e informal de colaboração.

Uma equipe global difere de uma equipe colocalizada. As equipes co-localizadas iniciam, de maneira natural, um processo de colaboração informal. É um comportamento humano natural que, gradualmente, leva ao aumento da confiança e ao entendimento mútuo. Quando os membros da equipe estabelecem uma relação de confiança, eles farão perguntas uns aos outros e darão informações de maneira proativa. Eles também avaliarão melhor as habilidades uns dos outros, o que levará a uma divisão do trabalho mais eficiente.

Na prática, os membros da equipe obterão, de seus companheiros, as informações necessárias para executar suas tarefas, ao invés de utilizar fontes formais ou documentadas (de acordo com o artigo de F. Becker citado nas Referências). Para utilizar esse recurso social, os membros da equipe precisam construir "capital social", o que significa que eles precisam estabelecer relações de confiança com seus companheiros.

Esse processo de estabelecer relações de confiança não ocorre tão facilmente em uma equipe globalmente distribuída, o que leva a problemas no processo de colaboração. Ferramentas de colaboração informal, aliadas às práticas de gerenciamento adequadas, são uma importante parte da solução.

As equipes de desenvolvimento de software globais são muitas vezes equipes terceirizadas que trabalham para empresas diferentes. Mesmo que elas não sejam realmente terceirizadas, seus membros serão funcionários de diferentes divisões de uma empresa multinacional. As organizações têm a tendência de gerenciar as relações de terceirização e interdivisionais de uma maneira abertamente formal. É essencial ir contra essa tendência para atingir o balanço do controle formal, flexibilidade e, acima de tudo, confiança em tais relações. A confiança surge, parcialmente, através do contato informal. O contato informal pode ser estimulado por ferramentas adequadas.

As tendências tecnológicas estão aumentando a aceitação das ferramentas de colaboração informal

A última década presenciou duas tendências importantes nessa área de tecnologia de colaboração:

  • Primeiro, funcionalidades previamente fragmentadas (como mensagens instantâneas, e-mail, blogs e compartilhamento de documentos) foram unificadas em plataformas de colaboração abertas e integradas.
  • Em segundo lugar, a computação social se tornou mais predominante.

Muitas das funcionalidades que foram recentemente adicionadas às plataformas de colaboração podem ser classificadas como informal ou social por natureza. O diagrama na Figura 1 mostra como as ferramentas de colaboração informal discutidas neste artigo podem ser classificadas de acordo com as funções de percepção, comunicação, compartilhamento de conhecimento e análise dentro do abrangente processo de colaboração.

Figura 1. Os papéis de várias ferramentas no processo de colaboração
Collaboration process flow chart

Essas tendências tecnológicas estão impulsionando a aceitação de ferramentas de colaboração informal no ambiente empresarial. Os usuários estão tendo acesso às ferramentas de colaboração informal como parte de seu ciclo natural de aperfeiçoamento. A tendência da computação social na vida pessoal dos usuários (utilizando serviços gratuitos e públicos, como o Facebook, delicious, Blogger e Wikipedia) está mudando as atitudes com relação às tecnologias similares no ambiente empresarial.

As ferramentas de colaboração informal dentro das plataformas de colaboração seguem os modelos desses serviços públicos. O grupo de usuários com conhecimento tecnológico em uma equipe de desenvolvimento de software já está familiarizado com tais sistemas e sabe como aproveitar o melhor que eles oferecem. Isso está facilitando a introdução de ferramentas similares sem um alto nível de resistência. Sua introdução dentro da IBM, por exemplo, obteve grande sucesso (leia o artigo de W.M. Bulkeley citado nas Referências).

As plataformas de colaboração oferecem mais do que as funções básicas de comunicação fornecidas pelo e-mail ou telefones convencionais. Primeiramente, essas plataformas fazem com que os membros da equipe tenham consciência um dos outros. Isso pode acontecer diretamente através das funções de "presença", simplesmente se fazendo o log-in na rede, então os outros podem dizer se você está presente, ou mais indiretamente, descobrir novos contatos nas redes sociais.

Presença

Muitas ferramentas de colaboração ou comunicação em tempo real incluem uma função de "presença". Isso permite que os usuários transmitam sua capacidade e vontade de comunicar-se. O exemplo mais comum disso são as ferramentas de bate-papo. No® Lotus® Sametime® da IBM, por exemplo, os usuários podem selecionar as opções de presença tais como "Estou ativo", "Estou ausente", "Estou em um encontro" ou "Não perturbe".

Quando os membros da equipe têm consciência da presença um dos outros, eles podem se comunicar e trabalhar juntos para atingir objetivos empresariais comuns. Essa colaboração é possível com o apoio de ferramentas que permitem a comunicação, compartilhamento de conhecimento e análise. Um efeito colateral das ferramentas de compartilhamento de conhecimento, como os blogs, é que elas aumentam a percepção. Quando as pessoas leem os blogs, elas podem saber quem são os autores e suas áreas de interesse e de conhecimento.

Um exemplo de plataforma de colaboração com um forte componente informal é o LotusLive® da IBM®. Esse conjunto de ferramentas encoraja a transição de percepção de outros membros da equipe para a possibilidade de se comunicarem e, como resultado, colaborarem entre si. A plataforma de colaboração LotusLive é baseada na Web e oferecida como um serviço (veja a Figura 2). Dessa maneira, ela está hospedada fora da rede da empresa, o que permite a colaboração dos usuários de diferentes organizações. Ela é neutra, não sendo de "propriedade" de um dos parceiros na colaboração.

Figura 2. Uma reunião facilitada pelo conjunto de colaboração LotusLive
LotusLive screen capture

As ferramentas de colaboração e desenvolvimento estão se convergindo

A indústria de TI está testemunhando atualmente uma convergência de ferramentas para desenvolvimento de software e colaboração. Durante muitos anos, o conjunto de colaboração da IBM, o IBM® Lotus Notes® e os ambientes de desenvolvimento integrado da IBM (IBM® Rational® Software Architect e softwares relacionados) têm se baseado na mesma plataforma aberta fundamental, chamada Eclipse. Isso está em contraste com as arquiteturas típicas prévias, que eram de proprietários e muitas vezes fragmentada. A Figura 3 mostra algumas das tendências na convergência de recursos e arquitetura.

Figura 3. Convergência no desenvolvimento de software e ferramentas de colaboração
Diagram of previous and current generation tools

A tendência de arquitetura tanto na colaboração quanto nas ferramentas de desenvolvimento de software está voltada para produtos baseados na Web, substituindo ou melhorando a geração anterior que era simbolizada por arquiteturas cliente-servidor de propriedade. Em um contexto mais amplo, isso está relacionado à transição para "Web clients" e "aplicativos para Internet puros" na arquitetura de aplicativos. Há uma tendência para o modelo de "software como serviço".

Mesmo onde as interfaces não baseadas em navegadores não estão disponíveis ou não fornecem todos os recursos, há um claro distanciamento da arquitetura desenvolvida para a implementação LAN favorecendo o suporte a WANs globais e conectividade pública da Internet. Isso é altamente vantajoso para se trabalhar em equipes globais.

As ferramentas de desenvolvimento de software estão começando a incluir recursos anteriormente vistos apenas em ferramentas de colaboração. A IBM Rational, por exemplo, está no processo de lançamento de uma nova geração de ferramentas baseadas na plataforma Jazz (as origens da plataforma são descritas no artigo de S. Hupfer et al., citado nas Referências). O slogan da plataforma Jazz é "O Software é melhor desenvolvido por uma equipe de pessoas, reagindo e respondendo uns aos outros para alcançar o melhor resultado." O resultado é que os processos interpessoais são essenciais para o sucesso dos projetos de software.

O IBM® Rational Team Concert™ (baseado na plataforma Jazz) é descrito como conduzindo "a inovação no desenvolvimento de software através da colaboração." O produto possibilita aos desenvolvedores colaborarem em conjunto usando planejamento integrado, controle de origem, itens de trabalho, compilação, painéis, relatórios e suporte de processo.

Possuir todos esses recursos disponíveis a partir de uma interface baseada na Web é um grande benefício quando se está trabalhando em uma equipe global. O painel do projeto, em particular, permite que os participantes controlem o progresso de liberação. O painel do projeto é altamente configurável e oferece uma variedade de relatórios pré-configurados e consultas de itens de trabalho úteis.

Figura 4. O painel do projeto baseado na Web no IBM Rational Team Concert
Screen capture of a project dashboard

Um dos recursos colaborativos do Rational Team Concert é a integração da presença e bate-papo. Esse recurso permite ao desenvolvedor ver, de dentro do IDE, que um colega de outro continente está no escritório, naquele momento, e se está disponível para se comunicar.

Figura 5. Presença e bate-papo dentro do IBM Rational Team Concert
Screenshot of presence and chat in context

A colaboração informal aumenta a eficácia

Não importa qual é a tarefa, qualquer comunicação interpessoal pode ser vista de acordo com três componentes:

  • Procedimento
  • Informação
  • Relacionamento

Isso é frequentemente ilustrado por um iceberg, como mostra a Figura 6 (há um exemplo no livro Making Management Simple, citado nas Referências). O procedimento e a informação estão acima da linha de água (30 por cento). O relacionamento está abaixo da linha de água (70 por cento), pois ele não está imediatamente aparente, mas carrega a maior parte do peso. Um céptico diria que muitos projetos offshore de desenvolvimento de software são comparáveis ao Titanic se aproximando de um iceberg como esse. O processo e a informação podem estar visíveis, mas é o peso do relacionamento que pode fazer com que o projeto afunde.

Figura 6. Modelo do iceberg para a comunicação interpessoal
Photo of an iceberg, 70% below surface

A comunicação informal é essencial

Toda organização possui uma maneira não-oficial de transmitir informações. Isso pode ser considerado um tipo de rede de comunicação informal dentro de uma organização que transmite informações por meio de canais não oficiais, independente do controle da gerência. Esse tipo de comunicação é, geralmente, de improviso e ocorre frequentemente nos corredores eu outros locais neutros (como observado por F. Becker).

Apesar de esse tipo de comunicação poder, algumas vezes, enfraquecer o gerenciamento e causar distorção, na verdade, as organizações chegam a essa estratégia através da combinação de uma estratégia deliberada ("hothouse") e uma estratégia emergente ("grass roots"). Mintzberg (consulte as Referências) alega que, na verdade, menos de 10 por cento das estratégias deliberadas são executadas, então o poder da transmissão de informação por canais não-oficiais de gerar uma estratégia emergente não deve ser subestimado. (Veja a Figura 7.)

No contexto de um projeto de desenvolvimento de software, os processos informais são, muitas vezes, a maneira que um problema técnico importante tem de chegar à gerência. São também processos que a gerência pode sinalizar como planejados, mas não formalizados ainda, mudanças organizacionais para aqueles que estão tomando decisões técnicas de longo prazo. São também meios importantes pelos quais a organização chega até sua cultura.

Figure 7. Modelo de estratégia realizada de Mintzberg'
Diagram: Formal + informal = realized strategy

A associação a uma equipe de desenvolvimento de software é dinâmica, mudando com frequência. Grupos multidisciplinares de funcionários se juntam sob o comando de um gerente de projeto e concluem um projeto. Então, os membros da equipe se separam para se juntarem a novas equipes e lidar com novos projetos. Isso torna menos claro todo o conceito das hierarquias formais. Sem uma hierarquia formal, a coordenação ocorre cada vez mais através de redes de relacionamento informal, ao invés de estruturas formais de relatório (leia o artigo de R. Cross et al. citado nas Referências).

Tarefas complexas necessitam de colaboração informal

Há uma relação bem estabelecida entre o grau de segurança de uma tarefa e o grau de formalidade da comunicação da equipe que seja apropriada para essa tarefa (leia o artigo de R. Kraut et al. citado em Referência). De maneira simples, quanto menor segurança houver na tarefa, menor será a formalidade do modo de comunicação adequado. Também se pode dizer que tarefas mais complexas requerem maior comunicação (leia o artigo de R. Katz et al. citado nas Referências). Deve-se fazer a segunda pergunta: Qual o nível de "segurança" e "complexidade" da tarefa de desenvolvimento de software?

Primeiramente, vamos tratar da questão da segurança. Um sistema intensivo de software típico inclui um grande número de requisitos. Inicialmente, muitos deles serão especificados de maneira informal. Isso é inerente no processo de desenvolvimento de software, pois as partes interessadas no negócio não são treinadas para fornecerem especificações formais. Foi consistentemente provado a impraticabilidade de se especificar grandes sistemas de maneira formal. As especificações também podem mudar com frequência durante o curso do projeto, aumentando mais o grau de insegurança. Essa falta de segurança é uma das razões para o aumento do uso de processos informais e ágeis no desenvolvimento de software.

Passando para a questão da complexidade, podemos considerar o processo de desenvolvimento de software em si. Os requisitos informais devem ser traduzidos para especificações formais e, no final, para códigos de origem e componentes de software. Esse processo de tradução é uma tarefa altamente complexa que requer uma grande quantidade de comunicação informal entre os arquitetos de TI e as partes interessadas no negócio. Isso se reflete nos métodos centrados na comunicação, que são muitas vezes aplicados a esse processo, como o design participativo.

Muitos observadores sugeriram os desafios enfrentados pelas equipes de desenvolvimento de software são, muitas vezes, mais de natureza sociológica do que tecnológica (para ver um exemplo, leia o clássico de Tom DeMarco, Peopleware, citado nas Referências). Isso é uma consequência da natureza complexa e insegura do processo. A execução de tarefas complexas e inseguras requer colaboração informal.


Ferramentas podem diminuir as barreiras para a colaboração informal

Quase todas as equipes de desenvolvimento de software, co-localizadas ou não, usam ferramentas de colaboração formal. Sistemas de controle de versão, sistemas de acompanhamento de problemas e sistemas de gerenciamento de requisitos são alguns exemplos. Essas ferramentas são essenciais para o funcionamento eficiente de uma equipe de desenvolvimento de software. Geralmente, essas ferramentas são projetadas para o desenvolvimento de software e não são usadas em outros processos de negócios.

Essas ferramentas são classificadas como formais, pois elas impõem uma estrutura rígida às informações que elas armazenam e impõem um processo no modo que essas informações podem ser manipuladas. As ferramentas formais operam com informações rigidamente estruturadas, tais como código de origem, etapas de teste e modelos de engenharia. Tanto as equipes co-localizadas quanto as equipes globais necessitam de ferramentas formais.

Em contraste com as ferramentas de colaboração informais, que têm seu valor particular para as equipes globais. Tais ferramentas possibilitam aos usuários trabalharem com informações estruturadas de maneira mais solta e oferece uma grande quantidade de liberdade na maneira que podem ser usadas. As ferramentas informais operam com informações estruturadas de maneira mais livre, com conversas com formas mais livres, esboços e opiniões. As ferramentas são genéricas. Elas não são específicas para o desenvolvimento de software.

Um outro tipo importante de ferramenta são as ferramentas analíticas. As ferramentas analíticas são, muitas vezes, úteis quando informações de arquivos de informação diferentes devem ser combinados. O exemplo mais óbvio é um mecanismo de pesquisa, mas há outros, tais como painéis para informações de gerenciamento. Por isso, um critério importante para o valor de uma ferramenta de colaboração é a abertura da integração com ferramentas analíticas.

O diagrama na Figura 8 é uma classificação das ferramentas usadas por equipes de desenvolvimento de software em termos formais, informais e analíticos e de acordo com as informações que elas operam.

Figura 8. Classificação das ferramentas e informações relevantes
Diagram: Tools and the information they process

Combinando ferramentas

Este artigo tem como foco ferramentas de colaboração informal genéricas. Isso não quer dizer que seu valor é maior do que as outras classes de ferramentas. Uma equipe de desenvolvimento global pode usar melhor uma combinação de ferramentas de engenharia de software como o IBM Rational Team Concert e ferramentas de colaboração genéricas como o IBM® LotusLive®.

Em alguns casos, as ferramentas podem ser combinadas de forma integrada, tal como a integração entre o IBM Rational Team Concert e o IBM Lotus Sametime para presença e bate-papo.

Muitos estudos concluíram que há barreiras significativas para a comunicação em equipes globais (são dados exemplos de estudos nas Referências). Além das barreiras culturais e linguísticas, há as três outras áreas principais que são problemáticas:

  • percepção
  • meio
  • sincronicidade

Cada uma dessas áreas pode ser tratada utilizando várias ferramentas de colaboração informal. As ferramentas têm um valor em particular para as equipes de desenvolvimento de software globais, pois elas diminuem as barreiras encontradas pelas equipes.

  • Percepção: A separação geográfica leva à falta de percepção das qualificações e conhecimento de outros membros da equipe ou até mesmo de sua existência em um projeto de larga escala.

    A necessidade de percepção pode ser tratada utilizando as seguintes ferramentas:
    • Blogs
    • Marcadores sociais
    • Ambientes virtuais colaborativos
    • Mensagem instantâneas
    • Podcasts
    • Perfis dos membros da equipe
    • Presença
    • Threads de discussão on-line
    • VoIP
    • Wikis
  • Meio: Não é possível se comunicar face a face ou utilizar comunicação visual (escrever em quadros brancos, por exemplo).

    O problema do meio de comunicação pode ser tratado utilizando as seguintes ferramentas:
    • Visualizadores de desktop remotos
    • Ligações telefônicas
    • Quadros brancos compartilhados
    • Videoconferência
    • Ambientes virtuais colaborativos
  • Sincronicidade: As diferenças de Fusos Horários e os diferentes padrões de trabalho (feriados nacionais, por exemplo) fazem com que haja um tempo limitado para que os membros da equipe possam se comunicar de maneira sincronizada.

    O problema da sincronicidade pode ser tratado utilizando as seguintes ferramentas:
    • Blogs
    • Marcadores sociais
    • E-mail
    • Ambientes virtuais colaborativos
    • Feeds de notícias (RSS)
    • Podcasts
    • Threads de discussão on-line
    • Wikis

A relação entre as três áreas de problema e as ferramentas que podem ajudar a superá-los estão ilustradas na Figura 9.

Figure 9. Maneiras que as ferramentas de colaboração informal podem ajudar a superar barreiras
Overlapping spheres for three obstacles described

Como mostrado no diagrama da Figura 9, uma abordagem básica usando a telefonia convencional e e-mails é limitada. Tal abordagem facilitará a comunicação a distância mas não fornecerá uma solução para o problema de percepção e fornecerá uma solução limitada para as outras áreas. Ferramentas mais avançadas são necessárias.

Percepção: Os membros da equipe devem estar atentos uns aos outros

Ferramentas Principais:

  • Presença
  • Perfis dos membros da equipe

O membro de um time global não sabe, de maneira inerente, quem são os outros membros da equipe. Compare isso a uma equipe co-localizada, onde os colegas são as pessoas que estão sentadas perto de você no escritório.

Em outras palavras, um membro de uma equipe global não sabe, de maneira inerente, nada a respeito das experiências, qualificações e padrões de trabalho dos outros membros da equipe. Em comparação com uma equipe co-localizada, os colegas são conhecidos, pois se pode ver o que eles estão fazendo e porque se travam interações informais com a equipe para averiguar seu histórico.

Esse problema de percepção pode ser tratado usando sistemas baseados na Web para os perfis dos membros da equipe. Ao utilizar esses sistemas, os membros da equipe podem encontrar uns aos outros com base em suas qualificações, localização e outros parâmetros. Geralmente, tais sistemas fornecem recursos adicionais, tais como a indicação do horário no Fuso Horário do local onde a pessoa normalmente trabalha. (Veja o exemplo do sistema interno da IBM na Figura 10.)

Figura 10. BluePages: Sistema de perfil do usuário da intranet da IBM
Screen capture of author's BluePages profile

É mais fácil para um membro da equipe entrar em contato com um colega quando se sabe se ele está disponível no momento. Diferentemente dos membros de uma equipe co-localizada, não se há evidência imediata de que um colega está em uma reunião, em uma ligação telefônica ou se ele está ocupado no momento. Os sistemas de colaboração informal permitem que os membros da equipe indiquem sua disponibilidade atual utilizando o conceito de presença. Este indicador é adicionado aos produtos para comunicação em tempo real. As versões atuais de tais produtos oferecem presença integrada, mensagens instantâneas, VoIP, videoconferência, compartilhamento de arquivos e visualização remota do desktop.

Há outras tecnologias que podem ser exploradas nessa área. Foi sugerido que um dos problemas enfrentados por equipes globais é que os encontros oportunistas entre os membros da equipe são reduzidos (veja uma apresentação em vídeo de C. Gutwin, citada em Referências). F. Becker também observou que, quando as equipes trabalham juntas em um local, tais encontros úteis muitas vezes ocorrem em zonas neutras, tais como corredores ou elevadores. Tais zonas neutras poderiam ser criadas para uma equipe global instalando-se sistemas de videoconferência ligados o tempo todo ao lado de bebedouros ou máquinas de café onde vários membros da equipe trabalham.

Meio: As equipes necessitam de um substituto para a comunicação face a face

Ferramenta principal: Videoconferência

A comunicação face a face é considerada a forma mais eficaz de comunicação humana, com o valor psicológico mais alto. Ela também é muito importante para se criar confiança. A maioria das pessoas confirmaria isso com base em suas experiências diárias. Por isso as equipes globais devem participar, de vez quando, de comunicações reais face a face, especialmente nos estágios iniciais de um projeto (consulte os livros Global Software Teams e Global Project Management Handbook, ambos citados nas Referências).

Entretanto, viagens internacionais são inconvenientes, caras, gastam tempo, afetam o meio ambiente e aumentam os riscos de doenças. Assim, precisamos de um substituto. O uso de tecnologias de comunicação em tempo real com multimídia, como a videoconferência, é uma alternativa. A figura 11 mostra um exemplo do sistema de videoconferência Cisco TelePresence que pode ser usado com esse objetivo.

Figura 11. Demonstração de um sistema de videoconferência Cisco TelePresence
Conference room with audio and videoconferencing

Exemplo real da eficiência das videoconferências

O autor trabalhou em um projeto de desenvolvimento de software de larga escala que foi iniciado por um banco na Holanda e implementado na Índia por um grande provedor de TI. Nas etapas iniciais do projeto, a equipe não utilizou a videoconferência. Mais tarde foram instalados os sistemas de videoconferência de alta qualidade. Além de usar a funcionalidade principal da videoconferência, esse sistema tornou possível ver apresentações e documentos de maneira remota.

A experiência de usar esse sistema, comparado ao sistema inicial de teleconferência convencional, resultou em reuniões mais eficientes. Era imediatamente óbvio quem estava presente e quem estava falando em qualquer momento determinado. Também era possível fazer algum julgamento das relações interpessoais envolvidas. O recurso de se ver apresentações simultâneas era também muito útil.

Fazer parte de uma sessão de videoconferência é a segunda melhor coisa a se fazer depois da comunicação face a face. Ela ajuda a criar confiança e entendimento mútuo. Isso, por sua vez, faz com que os membros da equipe estejam mais abertos a explorar idéias inovadoras e "loucas" que envolvam informações de maneiras não obvias. Muitas vezes isso ocorre através de processos deliberados para estimular a criatividade, tais como tempestades de idéias.

Tais processos são particularmente úteis quando no desenvolvimento de novas tecnologias ou durante a fase de análise dos requisitos com as partes interessadas no negócio. É provável que esses processos sejam verdadeiramente eficazes somente quando os participantes possam ver uns aos outros devido à importância da comunicação não-verbal. Os membros da equipe estarão mais dispostos a discutir soluções criativas uns com os outros se eles puderem avaliar melhor as personalidades de seus colegas.

As equipes que estão considerando a introdução da videoconferência devem ter em mente que os sistemas de alta qualidade para comunicação em grupo são considerados de maior valor. Sistemas de baixa qualidade tendem a ter uma qualidade de imagem baixa e uma baixa taxa de atualização de quadros, o que pode ser muito distrativo.

Meio: Os desenvolvedores de software precisam ser capazes de colaborar visualmente

Ferramentas Principais:

  • Visualização remota de desktops
  • Quadros brancos compartilhados

A engenharia requer a criação de modelos dos produtos em questão. Os modelos são melhor representados de maneira visual, utilizando diagramas. Isso é óbvio para os gerentes trabalhando na engenharia mecânica ou civil, devido à natureza tangível do produto. Isso fica menos claro no contexto de engenharia de software. Entretanto, é igualmente verdadeiro.

Entre em qualquer reunião técnica de um projeto de desenvolvimento de software e você encontrará um quadro branco cheio de retângulos, linhas, nuvens e setas. Abra qualquer livro didático sobre método de engenharia de software e você descobrirá que diagramas formais têm um papel central. Isso é verdade, de Jackson Structured Programming até uma abordagem contemporânea baseada na Unified Modeling Language. A UML é, fundamentalmente, uma linguagem de diagramas e não de palavras.

Um projeto de desenvolvimento de software pode ser um sucesso somente com os meios de comunicação eficientes e por meio de conversas e o desenho de diagramas simultaneamente. Por mais de uma década, isso tem sido possível de se realizar remotamente usando um quadro branco compartilhado. Ele fornece uma maneira de compartilhar texto e desenhos eletronicamente exatamente como os quadros brancos usados nas salas de conferência. Os quadros brancos eletrônicos existem em dois formatos: uma tela grande (geralmente um projetor de vídeo) com "canetas" especiais ou um monitor de computador convencional que é usado com um mouse ou uma mesa digitalizadora. O quadro branco compartilhado é integrado a muitos produtos de comunicação em tempo real, tais como o Lotus Sametime.

Além da necessidade do trabalho colaborativo e sincronizado quando se usa diagramas, os desenvolvedores de software e as partes interessadas no projeto necessitam discutir sobre GUIs. Isso se torna difícil se os participantes da discussão não estiverem olhando para a mesma tela simultaneamente. Esse problema pode ser tratado usando ferramentas para a visualização remota do desktop ou para o compartilhamento do desktop (onde a parte remota pode controlar o mouse e o teclado). Essa é uma tecnologia madura que está integrada aos produtos de comunicação em voga, tais como o Sametime.

É importante observar que o compartilhamento do desktop também pode ser usado como uma forma grosseira de quadro branco compartilhado simplesmente compartilhando uma ferramenta de desenho, como o IBM® Lotus® Symphony® Presentations.

Sincronicidade: O conhecimento dos membros da equipe deve estar disponível sob demanda

Ferramentas Principais:

  • Marcadores sociais (compartilhamento de links utilizando sites sociais, como o digg, o delicious)
  • Wikis
  • Feeds de notícias
  • E-mail
  • Podcasts
  • Blogs
  • Threads de discussão
  • Mecanismo de pesquisa

Geralmente, uma equipe global possui problemas de sincronicidade. Com diferenças de Fusos Horários e outros padrões de trabalho, os membros da equipe não serão capazes de se comunicar diretamente sempre. Uma possível solução é encorajá-los a registrar seus conhecimentos utilizando ferramentas de colaboração informal. Sistemas atuais nessa área possuem baixas barreiras para entrada, então os membros da equipe podem facilmente registrar seus conhecimentos. Dois importantes exemplos são as ferramentas wiki e de marcadores sociais. Podcasts e blogs também podem ser usados. A discussão de problemas técnicos online, usando sistemas de threads de discussão (quadros de avisos eletrônicos ou fóruns) faz com que o resultado seja visível e possa ser procurado por todos. Tais recursos são incorporados em softwares de computação social atuais, como o IBM® Lotus® Connections.

Figura 12. Software de computação social Lotus Connections
Screenshot of Lotus Connections

Marcadores sociais

As ferramentas que usam marcadores sociais podem ser usadas para armazenar, organizar, pesquisar e gerenciar marcadores de páginas da Web. As ferramentas são baseadas na Web e permitem que o usuário visualize os marcadores uns dos outros. Criticamente, os marcadores podem ser associados aos "tags" e a outros metadados. Os usuários podem localizar recursos da Web por meio de buscas por esses metadados.

Os marcadores sociais se originaram na World Wide Web, mas agora estão começando a penetrar a intranet corporativa (para maiores informações sobre esse tópico, leia o artigo de D. Millen et al. citado nas Referências).

O e-mail é uma ferramenta de colaboração informal útil que também trata do problema de sincronicidade. Ele permite que os participantes iniciem conversas sem estarem necessariamente presente ao mesmo tempo. Sua natureza privada o torna mais adequado para certas informações. É claro que o uso do e-mail já é muito difundido. O uso de sistemas de perfis dos membros da equipe, que ajudam as pessoas a encontrar endereços de e-mail mais rapidamente, são menos difundidos.

Além da barreira da sincronicidade, a organização livre de muitas equipes globais pode ser problemática. Os membros novatos de um projeto não podem ser facilmente designados a mentores que estão localizados em um continente diferente. Eles podem ter acesso ao histórico do projeto por meio de ferramentas colaborativas para compartilhamento de conhecimento.

Uma abordagem mais experimental para o problema da sincronicidade poderia ser o uso de ambientes virtuais colaborativos. Nessa solução, a equipe tem acesso a um modelo em 3D de um escritório virtual baseado em uma tecnologia como o Second Life, OpenSim, ou Virtual Collaboration para o Lotus Sametime. Os documentos são acessados de gabinetes de arquivos virtuais e documentos de estruturas virtuais são anexados a paredes virtuais.

Há muitas barreiras na adoção de ambientes virtuais colaborativos, entre elas está o fato de as pessoas os considerarem frívolos. Contudo, novos serviços, como o Virtual Collaboration para Lotus Sametime, podem começar a mudar essa percepção e a popularizar essa tecnologia.


Ferramentas de colaboração informal oferecem benefícios às equipes globais

Além dos objetivos diretos e operacionais, as ferramentas de colaboração informal podem ter valor estratégico e de longo-prazo. Essa é uma área na qual as equipes globais têm a possibilidade de superar as equipes co-localizadas. Devido ao fato de uma equipe global ter que trocar informações utilizando ferramentas, há mais maneiras de alavancar e reutilizar essas informações. Isso traz benefícios que não estarão sempre disponíveis para as equipes co-localizadas que colaboram sem o uso de ferramentas eletrônicas.

As ferramentas de colaboração ajudam as organizações a alavancarem seus ativos de conhecimento

Ferramentas Principais:

  • Wikis
  • Marcadores sociais
  • Feeds de notícias
  • Podcasts
  • Blogs
  • Threads de discussões
  • Mecanismos de pesquisa

Uma grande variedade de ferramentas de colaboração informal está disponível para facilitar o armazenamento e a recuperação de ativos de conhecimento. Wikis e blogs são exemplos bem conhecidos. A informação contida nessas ferramentas é diretamente útil ao projeto em progresso. Elas também podem ser retidas, combinadas e reutilizadas em outros projetos. Elas formam um tipo de memória sobre a execução de projetos anteriores. Essas informações acrescentam à documentação do projeto. Elas podem ser até mesmo mais exatas e acessíveis do que a documentação formal.

No contexto dos projetos de desenvolvimento de software globais, esse recurso de se acessar conhecimento sobre outros projetos é particularmente importante. Equipes offshore são, muitas vezes, equipes terceirizadas. Uma empresa pode trabalhar com fornecedores terceirizados múltiplos, assim há a necessidade de dar a eles acesso ao conhecimento sobre seus sistemas. A natureza fracamente acoplada da organização significa que, provavelmente, os membros de sua equipe terão conhecimento de projetos anteriores.

O conhecimento armazenado em um sistema de informações é útil somente se ele puder ser encontrado. Isso pode parecer não estar de acordo com o conceito de utilização de arquivos de informação grandes e livremente estruturados. Entretanto, a tecnologia de pesquisa moderna (os mecanismos de pesquisa da Web, por exemplo) é claramente capaz de indexar, de maneira eficaz, grandes coleções de informações livremente estruturadas. Esse tipo de tecnologia de pesquisa está começando a ser usado em empresas. Sua aplicação às informações livremente estruturadas foi provada (leia o artigo de Broder e Ciccolo citado nas Referências).

A natureza baseada na Web de muitas ferramentas de colaboração informal resulta em um tipo de ecossistema que possui um valor maior do que componentes isolados. Os sistemas baseados na web podem, de maneira inerente, fazer referência uns aos outros por meio de hyperlinks. Isso é particularmente verdadeiro no caso de marcadores sociais. Por sua vez, os marcadores e outros hyperlinks melhoram a eficácia dos mecanismos de pesquisa. Eles ajudam os mecanismos de pesquisa no processo de classificação de conteúdo de acordo com as referências daquele conteúdo e não somente o conteúdo.

A colaboração informal sustenta alianças estratégicas

Ferramentas Principais:

  • Presença
  • Videoconferência
  • VoIP
  • Mensagens instantâneas
  • Perfis de usuários
  • E-mail

Interações informais contrariam a tendência para a comunicação remota de se tornar excessivamente formal direcionada às tarefas (leia o artigo de S. Bharadwaj et al. citado nas Referências). Por meio da colaboração informal, membros de equipes se conhecem e isso resulta no que é chamado de capital social (veja o livro Creating Value with Knowledge citado nas Referências). Esse capital social que permite que a parceria floreie.

De acordo com o Modelo de Troca de Recursos dos Parceiros, proposto por Parise e Henderson (veja as Referências) é possível categorizar as parcerias de acordo com a complexidade de contribuição de ambos os parceiros. A parceria de maior valor ocorre quando o envolvimento de ambos os parceiros envolve um alto grau de complexidade. Nesse caso, uma aliança estratégica pode ser formada. O desenvolvimento de software é uma atividade através da qual há a possibilidade de ambos os parceiros contribuírem altamente para a parceria.

Figura 13. Modelo de Troca de Recursos dos Parceiros
Diagram of Partner Resource Exchange model

É comum, no caso do offshoring, envolver uma aliança estratégica entre um provedor de serviço de TI e um cliente cujos negócios principais se encontram em outro setor, como o setor de serviços financeiros. Para que tal aliança floreie, as pessoas envolvidas devem criar confiança e capital social. Isso pode ser promovido por meio de ferramentas de colaboração informal.

As ferramentas de colaboração informal facilitam a métrica e a análise

Ferramentas Principais:

  • Painéis
  • Web analytics
  • Organizational network analysis

Quando as ferramentas de colaboração já estiverem em funcionamento, as ferramentas analíticas podem ser usadas para medir a colaboração e, assim, fornecer informações de gerenciamento úteis. Elas podem dar insights valiosos aos executivos sobre estrutura informal de uma organização, algo que é difícil de ser conseguido por outros meios.

Uma abordagem particularmente interessante é a da Organizational network analysis (às vezes chamada de análise de rede social) (leia mais a respeito desse tópico nas Referências). Essa forma de análise produz uma representação visual de clusters dos indivíduos. Isso tem a intenção de mostrar os caminhos de comunicação dentro da organização.

Esses clusters fornecem meios para se entender melhor como a equipe realmente trabalha junto. Tais clusters podem constituir a base para "comunidade de prática" ou facilitar a identificação de membros da equipe que são importantes para a troca de informações entre os grupos (chamados de "indivíduos boundary-spanning" por Katz), assim como para a identificação de especialistas no assunto em questão (leia o artigo de M. E. Johnson-Cramer et al. citado nas Referências).

Organizational network analysis (ONA) somente é possível se a comunicação e a colaboração entre membros da equipe puderem ser registradas. Se essa comunicação ocorrer por meios eletrônicos, em particular por e-mail ou mensagens instantâneas, então esse registro e a análise subsequente é relativamente simples. Se o VoIP for usado ao invés da telefonia convencional, então a comunicação em voz também está suscetível a essa forma de análise.

Além do ONA baseado em ferramentas de comunicação, as ferramentas de compartilhamento de conhecimento estão abertas para análise. Exemplos simples são wikis, blogs e ferramentas de marcadores sociais. Essas ferramentas permitem, de maneira inerente, que o gerente veja qual membro da equipe está contribuindo com conteúdo e, talvez mais importante, com que frequência esse conteúdo é visto por outros membros da equipe. Isso ajuda a gerência a avaliar algumas formas de contribuição dos funcionários para o projeto.

Além da avaliação dos indivíduos, também é possível a análise do projeto como um todo. Por exemplo, é possível definir indicadores-chave de desempenho, tais como a quantidade de visitas que a página teve para o projeto wiki em um certo mês ou a quantidade de conversas por mensagens instantâneas houve. Se as ferramentas forem baseadas na Web, então esses dados podem ser coletados usando ferramentas padrão para Web analytics. Organizações onde há uma preocupação com a privacidade podem preferir tais dados agregados.

A abordagem analítica pode ser levada mais adiante juntando todos os dados relevantes em um armazém de dados. Dessa maneira, a gerência pode ver o grau de colaboração do projeto usando um painel.

Como observado por S. Thevenin (veja nas Referências), os executivos podem agir de acordo com os resultados coletados. A análise revelará onde há falhas de colaboração, onde os funcionários são subutilizados e onde os processos administrativos estão prevenindo a eficiência das operações. Isso facilita ações corretivas. Tais ações poderiam incluir a modificação de papéis e responsabilidades para promover a comunicação além-fronteiras.


Resumo

As tendências geográficas e econômicas estão aumentando o predomínio de equipes de desenvolvimento de software globais. As tendências tecnológicas estão aumentando a aceitação das ferramentas de colaboração informal.

O uso de ferramentas de colaboração informal é um fator que influencia o sucesso dos projetos de desenvolvimento de software globais. O valor das ferramentas de colaboração informal para as equipes de desenvolvimento de software pode ser visto em três níveis:

  • Em um nível fundamental, todas as equipes se comunicam usando um equilíbrio de comunicação formal e informal. As equipes globais possuem a tendência de confiar muito na comunicação formal. A implementação de ferramentas que facilitam a comunicação informal pode ajudar a reparar esse desequilíbrio.
  • Em um nível operacional, o uso de ferramentas de colaboração informal aumenta a percepção de outros membros da equipe, fornece canais de comunicação eficazes e compensa a falta de sincronicidade.
  • Em um nível estratégico, as ferramentas de colaboração informal ajudam os gerentes a analisarem suas organizações. As ferramentas também facilitam a retenção de conhecimento.

Talvez o mais importante seja que um aumento da comunicação informal está relacionado com um aumento da confiança. A utilização desses tipos de ferramentas fortalece a aprofunda as relações entre os indivíduos envolvidos, resultando na formação de alianças estratégicas.


Agradecimentos

Esse artigo surgiu como uma tese do Programa de Mestrado em Arquitetura de TI organizado pela IBM Benelux. O autor agradece as seguintes pessoas que serviram como mentoras durante seu período no programa:

  • Wiljo van Beek
  • Eric Michiels
  • Arjan de Mes
  • Nico Baten
  • Hans Neecke
  • Rob van der Mei

Referências desse artigo

Livros

E. Carmel, P. Tjia. Offshoring Information Technology (ISBN 978-0-521-84355-3). Cambridge University Press, 2005.

E. Carmel, Global Software Teams (ISBN 0-13-924218-X). Prentice Hall, 1999.

D. I. Cleland, R. Gareis. Global Project Management Handbook: Planning, Organizing, and Controlling International Projects (ISBN 978-0-071-46045-3). McGraw-Hill, 2006.

T. DeMarco, T. Lister, Peopleware: Productive Projects and Teams (ISBN 0-93-263343-9). Dorset House Publishers, 1987.

E. Lesser, L. Prusak, Creating Value with Knowledge: Insights from the IBM Institute for Business Value (ISBN 97-8019-5165128). Oxford University Press, 2004.

F.Kay, H.Guiness, N.Stevens, Making Management Simple (ISBN 978-1857038118). How To Books Ltd., 2003.

H. Mintzberg. The Rise and Fall of Strategic Planning (ISBN 978-0029216057). The Free Press, 1994.

Artigos

S. S. Bharadwaj, K. Bhushan, C. Saxena. "Impacting the Processes of Global Software Teams: A Communication Technology Perspective." VISION - The Journal of Business Perspective, Vol. 10, No. 4, outubro-dezembro de 2006.

A. Z. Broder, A. C. Ciccolo. "Towards the next generation of enterprise search technology." IBM Systems Journal, Vol 43, No. 3, 2004.

F. Becker. "Organizational Ecology and Knowledge Networks." California Management Review Vol. 49, No. 2, Inverno de 2007.

W. M. Bulkeley. "Playing Well With Others." Wall Street Journal, 18 de junho de 2007.

R. Cross. "What is ONA? Introduction to Organizational Network Analysis."

R. Cross, S. P. Borgatti, A. Parker. "Making Invisible Work Visible: Using Social Network Analysis to Support Strategic Collaboration." California Management Review, 1º de janeiro de 2002.

G. A. Dafoulas et al. "Global Teams: Futuristic Models of Collaborative Work for Today's Software Development Industry." Proceedings of the 42nd Hawaii International Conference on System Sciences 2009, IEEE.

C. Gutwin. "Supporting Informal Collaboration in Groupware." Research Channel, maio de 2005.

S. Hupfer, L-T Cheng, S. Ross, J. Patterson. "Introducing Collaboration into an Application Development Environment." CSCW '04, ACM 1-58113-810-5/04/0011.

M. E. Johnson-Cramer, S. Parise, R. L. Cross. "Managing Change through Networks and Values." California Management Review, Vol. 49, No. 3, primavera de 2007.

R. Katz, M. Tushman. "Communication Patterns, Project Performance and Task Characteristics: An Empirical Evaluation and Integration in an R&D Setting." Organisational Behavior and Human Performance, Vol. 23 p.139-62.

R. Kraut, R. Fish, R. Root, B. Chalfonte. "Informal Communication in Organizations: Form, Function, and Technology", Human Reactions to Technology: The Claremont Symposium on Applies Social Psychology, Sage Publications, 1990.

B. Meyer. "The Unspoken Revolution in Software Engineering." IEEE Computer, janeiro de 2006.

D. Millen, J. Feinberg, B. Kerr. "Social Bookmarking in the Enterprise." ACM Queue, novembro de 2005.

M. K. McGee. "Vast Majority Of U.S. Companies Don't Offshore IT Work." InformationWeek, 23 de janeiro de 2008.

S. Parise, J. C. Henderson. "Knowledge Resource Exchange in Strategic Alliances." IBM Systems Journal, Vol. 40, Número 4, 2001.

S. Thevenin. "Collaboration in Action: An IBM Collaboration Framework to enable Performance, Innovation and Growth." IBM On Demand Learning, IBM Press, setembro de 2005, v.04a.

J. J. Treinen, S. L. Miller-Frost. "Following the Sun: Case Studies in Global Software Development." IBM Systems Journal, Volume 45, No. 4, 2006.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Lotus, Rational
ArticleID=474015
ArticleTitle=Ferramentas de colaboração informal para equipes de desenvolvimento de software globais
publish-date=03112010