Metodologias e Técnicas

Fornece suporte não apenas à “ponte”
de comunicação, mas:

Alocação de trabalho


Minimizar a complexidade de coordenação e
integração entre os “sites”.
Gerência do Projeto

Técnicas especiais de gerenciamento de
projetos para DSD.
Metodologias e Técnicas

Infra-estrutura


Internet, Intranet’s, E-mail, Faxes,
Videoconferência.
Estrutura dos times de desenvolvimento

Outras variáveis aparecem em comparação
ao desenvolvimento não distribuído, como:
diferenças culturais, organização interna,
processos administrativos, motivação,
comunicação, práticas de trabalho, coesão.
Particionamento

Diz respeito a como o trabalho é
alocado entre os times remotos;


Conceito do “dividir para conquistar”;
Todos os projetos podem ser
particionados?

Depende do tipo de projeto. Ex.: Vídeogame (requer alta interação entre seus
desenvolvedores).
Particionamento

Existem algumas formas de se particionar
um projeto distribuído:






Funcionalidades;
Subsistemas;
Fases de desenvolvimento;
Experiência e habilidades dos times;
Versões de produto;
Pela combinação de mais de uma das técnicas
citadas acima.
Particionamento

Funcionalidades




A cada site é designada uma ou mais
tarefas atômicas do projeto;
Recomenda-se observar o nível de
acoplamento entre as funcionalidades;
Abordagem recomendada para DSD.
Semelhante ao que conhecemos no
desenvolvimento convencional.
Particionamento

Subsistemas



Baseia-se na arquitetura do sistema;
Apresenta similaridade com o
particionamento por funcionalidades;
Já era conhecida como uma forma
natural de desenvolvimento, sobretudo
em grandes sistemas.
Particionamento

Fases de desenvolvimento



A cada site é designada uma fase do
projeto: análise, manutenção, ...
Abordagem pouco recomendada (a
complexidade de se criar uma interface
adequada entre as fases e
comunicação);
Entretanto, US Departament of Defense
possui diferentes contratos há anos;
Particionamento

Experiência e habilidades



Abordagem pobre no particionamento.
No entanto, é muito utilizada;
Desenvolvimento de elementos críticos
ocorre apenas onde os experts estão
localizados;
Recomenda-se utilizar a experiência do
time como uma espécie de guia no
particionamento por funcionalidades;
Particionamento

Versão de produto



Abordagem recomendada em projetos
distribuídos;
Ex.: Versão principal do Video-game
pode ser desenvolvida em paralelo com
a versão para outra plataforma;
Similaridade com particionamento por
funcionalidades;
Gerenciamento do Projeto



Devido a distância, somos levados a
pensar que o processo de
gerenciamento reflete um caos total;
Times remotos podem adotar
processos distintos;
Processos padrões e específicos bem
estabelecidos e uso de ferramentas
especiais são cruciais;
Gerenciamento do Projeto

Um único processo versus diferentes
processos de desenvolvimento

Como tratar diferentes organizações,
estruturas, planejamentos, formalismos,
processos administrativos,terminologias?

Não há uma receita de bolo. Recomenda-se
observar a natureza das organizações.
(homogêneas e heterogêneas)


Alcatel versus Motorola;
Imposição gera custos, tempo e desconforto.
Gerenciamento do Projeto

Evolução das ferramentas

Ferramentas que auxiliem sobretudo no
processo de tomada de decisão

Planejamento do projeto


Gerenciamento / supervisão do projeto


Escalonamento de atividades;
Regras-padrão no gerenciamento;
Identificação de riscos;

Análise em todo o ciclo de vida do projeto;
Gerenciamento do Projeto

Exemplos de ferramentas

Comunicação entre times



Planejamento DSD


TeamPortal;
Microsoft NetMeeting;
Microsoft Project;
Identificação de Riscos/Problemas

Rational’s ClearQuest Multisite;
Gerenciamento do Projeto

Exemplos de ferramentas

Gerenciamento de Projeto


Controle de Mudanças


DSPMTool;
Rational’s ClearQuest Multisite;
Gerenciamento de Configuração

Concurrent Versions System;
Gerenciamento do Projeto

Erran Carmel cita seis esferas de
ação:





Conduta colaborativa;
Formação dos times;
Arquitetura e alocação de tarefas;
Metodologias de desenvolvimento;
Infra-estrutura de comunicação;
Gerenciamento do Projeto

Passos específicos para um plano de
gerenciamento em DSD:


Criar um planejamento preliminar (IEEE
Std. 1058);
Analisar as particularidades de cada um
dos times remotos participantes;

Não é dada tanta importância no
desenvolvimento convencional;
Gerenciamento do Projeto


Identificar outros parâmetros como:
comunicação, cultura, processos
administrativos, regulamentos
governamentais, experiência e recursos
disponíveis;
Utilizar o plano como ponto de partida
para endereçar os desafios (esferas de
ação);
Times de Desenvolvimento



Em primeiro lugar, deve-se cultivar o
“espírito” de equipe;
Lado a lado com o estabelecimento da
infra-estrutura de comunicação, com o
particionamento e com o
gerenciamento do projeto distribuído;
Aspectos como motivação, cultura e
confiança devem ser observados;
Times de Desenvolvimento

Estrutura dos Times


Vimos que a estrutura do sistema pode
determinar como o mesmo deve ser
particionado;
Da mesma forma, pode ser feito um
mapeamento da estrutura do sistema
para a estrutura das equipes de
desenvolvimento;
Times de Desenvolvimento

Estrutura dos Times

Outras considerações





Presença de um nível razoável de coesão no
tocante ao objetivo do projeto;
Competição entre os times;
Qualidade dos resultados;
Cooperação;
Troca de informações;
Times de Desenvolvimento

Estrutura dos Times



Adicional overhead no “time-líder” em
comparação ao desenvolvimento não
distribuído;
Regras e especificidades dever ser objetivas
e claras a todos;
Não deve haver falhas nestes pontos;
Times de Desenvolvimento

Que fazer?



Viagem;
Em algumas situações, o uso de e-mail’s,
telefones, faxes ou mesmo
videoconferências ainda não é o
bastante;
Desvantagem

Custos elevados;
Times de Desenvolvimento

Cultura

Cultura organizacional


Cultura nacional


Refere-se ao uso de metodologias e práticas
no desenvolvimento de projetos;
Língua nativa, normas, valores...
Deve-se levar em conta a “distância
cultural” entre os times no DSD;
Times de Desenvolvimento

Motivação



Baixa motivação implica em perdas na
produtividade de uma equipe;
Aspecto comum entre DSD e o
desenvolvimento de projetos não
distribuídos;
Viagens podem reforçar os laços de
dedicação e de perseverança;
Times de Desenvolvimento

Conclusão

Várias empresas têm adotado DSD como
uma estratégia de melhores soluções;


Mercado, Parcerias, Avanço Tecnológico;
Existem aspectos que devem ser
observados em relação ao
desenvolvimento não distribuído;
Times de Desenvolvimento

Relações de Confiança



Contato pessoal face-a-face é um
importante catalisador para promover a
confiança entre pessoas;
Veja que a distância no DSD reduz as
oportunidades de contato pessoal;
Aumento do risco na tomada de decisões
críticas inerentes ao projeto;
Download

Artigo I - parteII