• Sonuç bulunamadı

2.19 DENETİM ÖRNEKLEMESİ VE TEST ETMENİN DİĞER YOLLARIYLA

2.19.1 Denetim Kanıtı Toplarken Risklerin Gözden Geçirilmesi

De acordo com Carmel [CAR99], é difícil gerenciar times de software globais. A globalização do software é como uma força centrífuga que impulsiona as coisas para fora do centro, da mesma maneira, que dispersa os desenvolvedores para todos os cantos do mundo. A força centrífuga deve ser balanceada por forças centrípetas, forças contrárias, que direcionam em direção ao centro, ou seja, aos objetivos do projeto. O autor reconhece que mesmo em projetos “normais” o desenvolvimento de software é cheio de dificuldades e apresentam muitas falhas. Entretanto, o autor não aborda todos os problemas do desenvolvimento de software e foca nas diferenças existentes entre projetos “normais” e os times globais de software. Segundo o autor, as diferenças que distinguem os times globais de software dos times normais (não global) são: distância (distância dos desenvolvedores entre si e de seus clientes e usuários), diferenças de fuso horário, e cultura nacional (incluindo idioma, tradições nacionais, costumes, e normas de comportamento).

A distância geográfica (dispersão) entre os locais de desenvolvimento tem um impacto direto em todas as formas de comunicação. A comunicação é menos frequente e mais restrita. A distância também afeta todas as maneiras de coordenação e controle. Em geral o gerenciamento de programadores e designers é mais dependente de uma coordenação informal (como na socialização) do que controles e comandos. Sendo que esse tipo de coordenação necessita de uma comunicação muito intensiva. Além disso, a distância dificulta a resolução de problemas, a socialização, a supervisão conhecida como “walking around”, e a riqueza da comunicação face a face.

O fuso horário agrava os problemas de comunicação, principalmente entre equipes que possuem horários de trabalho que não se sobrepõem. Nesse caso, o uso de tecnologias de comunicação síncronas sempre compromete um dos times a estender seu horário de trabalho. Com relação a cultura nacional, essa pode ser considerada uma das mais confusas características das equipes distribuídas. Cultura nacional envolve tradições étnicas ou nacionais, costumes, normas de comportamento, bem como, idioma. Times com diferentes culturas tem mais potencial, mais potencial para produtividade como para problemas, em relação a times que possuem grupos com culturas homogêneas.

Problemas podem resultar de desconfiança, falhas de comunicação e falta de coesão. Os gerentes globais devem manter um conflito sadio de idéias e opiniões, enquanto controlam as diferenças culturais entre os membros do time. Diversidade cultural também representa um potencial tremendo para trazer novas idéias e perspectivas. As diferenças culturais podem ser fundidas para criar uma sinergia cultural, com novas maneiras de resolver problemas, desenhar um produto, ou pensar sobre o processo de produção de software.

De acordo com Carmel [CAR99], os times de software globais têm sido vistos com grande otimismo, pois são organizações sociais em que indivíduos se comunicam e colaboram além dos limites nacionais. Esse time de desenvolvimento tem sido impulsionado, por fatores como: talentos especializados, aquisições, redução do custo de desenvolvimento, presença globalizada, redução do time-to-market, proximidade do cliente, experiência, rigor no desenvolvimento, tamanho do software, transparência da localização, e ambiente propício para organizações e times virtuais.

Para Carmel [CAR99], times de software globais são separados por limites nacionais mas que colaboram ativamente em um mesmo projeto de software ou sistema. O autor descreve que existem diferenças entre equipes distribuídas e tradicionais (colocalizadas), sendo que essas características devem ser levadas em consideração no gerenciamento de projetos. Essas características podem ser vistas na tabela 2.

Com base nas características dos times distribuídos, Carmel [CAR99] apresenta as forças centrífugas e centrípetas que impactam os projetos de DDS. As forças centrífugas exercem forças contrárias aos objetivos do projeto e que podem levá-lo ao fracasso. Por outro lado, as forças centrípetas, se bem exploradas, mantêm o time de projeto organizado e focado em seus objetivos.

Tabela 2 – Características dos times tradicionais e distribuídos [CAR99].

Times Tradicionais Times distribuídos (Virtuais)

Membros locais Membros distribuídos

Comunicações e interações face a face Comunicações e interações eletrônicas Membros da mesma organização Membros de diferentes organizações

Hierárquico Redes de trabalho

Comunicação principalmente informal Comunicação contínua estruturada

Autoridade da posição Autoridade do processo e do conhecimento Distribuição da informação Acesso a informação

Informação em papel Informação eletrônica

Compartilhamento do trabalho completo Compartilhamento contínuo do trabalho incompleto Manutenção do conhecimento Compartilhamento do conhecimento

Processos transparentes Processos informatizados

Cultura do aprendizado por osmose Cultura do aprendizado por comunicação eletrônica e artefatos

A tabela 3 apresenta as forças centrífugas e centrípetas sugeridas por Carmel [CAR99].

Tabela 3 - Forças centrífugas e centrípetas [CAR99].

Forças Centrífugas Forças Centrípetas

Comunicação ineficiente Infraestrutura de telecomunicação Tecnologia de colaboração Falta de coordenação Técnicas de gerenciamento

Metodologia de desenvolvimento Dispersão geográfica Arquitetura do produto Perda do espírito de equipe Desenvolvimento da equipe

Diferenças culturais

As forças centrífugas são problemas que fazem com que os times de software globais se afastem dos objetivos do projeto e inibam seu desempenho. A Dispersão geográfica diz respeito a dificuldade de se gerenciar algo distante. O espírito de equipe depende de um processo de coordenação, muitas vezes informal, que desmorona quanto os times estão dispersos. Tecnologias de comunicação porém são alternativas com relação a riqueza e a satisfação geradas pela comunicação face a face, que podem atenuar a perda do contato pessoal em times compostos por múltiplos sites. Diferenças culturais tratam das diversas dimensões de diferenças culturais, principalmente das diferenças culturais dos desenvolvedores de software de várias nações.

As forças centrípetas são soluções que fazem com que os times de software globais se aproximem dos objetivos do projeto e aumentam sua eficiência. Infraestrutura de telecomunicação serve com fundação para todas as outras estratégias, técnicas, e soluções utilizadas no projeto. Tecnologia de colaboração engloba desde ferramentas de trabalho em grupo, como email, até ferramentas especializadas de tecnologias de colaboração para a engenharia de software. Dispersão significa que a coordenação informal não pode ser feita da maneira usual. A coordenação deve ser canalizada através das diversas formas de tecnologias colaborativas. Metodologia de desenvolvimento aborda a necessidade de formalização do processo de desenvolvimento, pois um processo ad hoc não funciona em times globais. A organização necessita selecionar e adaptar um framework de desenvolvimento para que seja utilizado por todas as equipes. A arquitetura do produto deve ser concebida cuidadosamente, pois a mesma deve corresponder a arquitetura dos locais de dispersão das equipes. Desenvolvimento da equipe se refere aos aspectos relativos aos recursos humanos do projeto, mostrando como unir as diferentes equipes para que atinjam os mais altos níveis de desempenho. As técnicas de gerenciamento abordam a estrutura do time do projeto, o gerenciamento de

conflitos, métricas específicas para times globais, reconhecimentos, prêmios e compensações, e a seleção do gerente de desenvolvimento de software global.