Este documento resume uma dissertação de mestrado que propõe um processo chamado FTSProc para minimizar as dificuldades em projetos que adotam a estratégia Follow-the-Sun. O FTSProc define etapas como planejamento diário, codificação, check-in e preenchimento de formulários para transferência de trabalho. Um experimento comparou projetos usando FTSProc versus uma abordagem ad-hoc, mostrando que FTSProc resultou em mais requisitos implementados corretamente.
FTSProc - Processo para Transferência de Trabalho em Projetos FTS
1. Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Programa de Pós-Graduação em Ciência da Computação
FTSProc - Um Processo para Minimizar as
Dificuldades de Projetos que
Adotam a Estratégia Follow-the-Sun
Aluno
Estevão Ricardo Hess
Defesa da Orientador
Dissertação de Mestrado Prof. Dr. Jorge Luis Nicolas Audy
Apoio
Março de 2012 Dell Computadores do Brasil
2. Agenda
• Introdução
• Objetivos
• Metodologia
• Base Teórica
• FTSProc: Processo Proposto
• Experimento
– Principais resultados
• Considerações Finais
• Publicações
2
3. Introdução
• Processo de globalização;
• Durante a implementação do DDS, surgem diversos desafios
– Diferença de fuso horário [HOL06, HER01, TRE06]
– Surge a estratégia follow-the-sun para utilizar esta diferença como uma
vantagem [CAR09, HOL06, LIN07, SET07, SOL10, KNO07, TRE06]
• Uso da estratégia FTS apresenta alguns desafios
– Transferências de trabalho (hand-off) [SET07, SOL10, CAR09]
• Dificuldades de coordenação e comunicação, principalmente
durante a transferência de trabalho [SET07, SOL10, CAR09]
• Neste sentido, esta pesquisa estará focada nesta transferência de
trabalho em projetos que utilizam a estratégia FTS em ambiente de
DDS 3
4. Questão de Pesquisa
Como transferir trabalho durante a fase de
desenvolvimento do ciclo de vida de software em um
ambiente de DDS utilizando estratégia FTS?
4
5. Objetivos
• Objetivo Geral
– Propor um processo de transferência de trabalho (hand-off) para a fase de
desenvolvimento do ciclo de vida, para projetos que utilizam a estratégia FTS.
• Objetivos Específicos
– Complementar os estudos da base teórica
– Propor um processo preliminar de transferência de trabalho durante a fase de
desenvolvimento do ciclo de vida
– Desenvolver uma ferramenta de apoio ao processo de transferência de
trabalho
– Escrever artigos científicos decorrentes da pesquisa
5
8. Base Teórica - DDS
• DDS surgiu nos anos 90, onde as empresas começaram a desenvolver
software com times distribuídos [LAN08]
• O DDS é caracterizado sempre que um ou mais recursos humanos
envolvidos no projeto estiver fisicamente distante dos demais [AUD07]
Vantagens Desafios
Redução de custos [LAN08, DAM06, PRI08, AUD07, × Legislação [KAR98];
MAR09, KNO07]; × Arquitetura de Software [BOS10, AUD07, PRI09, HER99];
Ganho de proximidade com o cliente [LAN08, × Processos de desenvolvimento [AUD07, PRI09];
KNO07]; × Telecomunicações [AUD07];
Redução do tempo de projeto / time-to-market × Gerência de configuração [MAR09];
[LAN08, DAM06, PRI08, CAR09]; × Gerenciamento de projetos [PRI09];
Recursos especializados e globais [LAN08, DAM06, × Confiança [AUD07, PRI09, OSH07];
PRI08, AUD07, MAR09]. × Conflitos [AUD07, PRI09];
× Diferenças culturais [AUD07, HOL06, LAN08, LIN07];
× Diferentes fusos horários [AUD07, HOL06, PRI09, LIN07].
8
9. Base Teórica - FTS
• FTS surge para atenuar os desafios relacionados a diferença de fuso
horário
• Utilizar o fuso horário como uma vantagem para o projeto através
da estratégia FTS [CAR09, HOL06, LIN07, SET07, SOL10, KNO07,
TRE06]
– O follow-the-sun é uma estratégia de desenvolvimento global de software;
– O objetivo é a diminuição do time-to-market, acelerando a construção do produto
final;
– Este ambiente opera com equipes distribuídas em fusos horários e países distintos;
– Cada equipe detém o trabalho por determinado período;
– A transferência pode ser para qualquer tipo de tarefa;
– Esta transferência deve acontecer diariamente e de forma padronizada.
9
10. Trabalhos Relacionados
• Fadel et al. – 2000
– Conceito chamado de 24hr Design and Development
– Reduzir o tempo necessário para o desenvolvimento de um projeto
– Experimento – distribuindo equipes através de diferentes fusos horários
– Criou-se um processo de transferência de trabalho
– Reserva 30 minutos de cada centro para preparar informações do hand-off –
trabalho simultâneo
– Equipe iniciando o trabalho realiza uma reunião de planejamento para definir
o trabalho diário
– Este ciclo encerra-se quando todas as funcionalidades estão implementadas
10
11. Trabalhos Relacionados
• Denny et al. – 2008
– Conceito de Composite Personae
– Equipes distribuídas equivalentes – capacidade
– Transição baseia-se nas reuniões de Stand-up
– Ao final do dia
• desenvolvedores devem adicionar os seus resultados no repositório de código
• preencher um formulário automatizado
– i. Quais tarefas foram realizadas desde a última reunião?
– ii. O que está planejando realizar até a próxima reunião?
– iii. Existe algum problema impedindo você de realizar seu objetivo?
– Próxima equipe continua o trabalho baseado nas informações fornecidas pelo
site anterior
11
12. Processo Proposto - FTSProc
• Este processo visa atenuar os desafios de coordenação,
sincronização e comunicação durante a transferência de trabalho
durante a fase de desenvolvimento do ciclo de vida
• Os principais objetivos deste processo são
i. Ao iniciar um dia de trabalho, uma equipe deve, de forma simples, ter a
percepção do trabalho que deve ser desenvolvido e o trabalho já realizado;
ii. Evitar a necessidade de comunicação síncrona entre equipes distribuídas;
iii. Garantir que a transferência de trabalho de um centro de desenvolvimento
para o outro ocorra sem problemas.
12
14. Processo Proposto - Requisitos
• Requisitos definidos da
forma mais clara possível.
Utilização do conceito de User
Story, deixando claro os
critérios de aceitação [GUP09,
HAU06]
14
15. Processo Proposto - Análise
• Artefatos mostrando como
os requisitos serão
implementados
• Utilização de TDD baseado
nos critérios de aceitação
15
16. Processo Proposto
• Requisitos definidos de
forma clara
• Testes unitários criados, para
utilizar a técnica de TDD
• Fase de desenvolvimento
inicia neste ponto
16
17. Processo Proposto – Inicio do Dia
• Inicio de um dia de trabalho
• Carrega-se a versão mais
recente do código fonte do
projeto
• Relatório com os testes já
cobertos
• Análise do formulário de
Hand-Off disponibilizado pelo
site anterior
• [DEN08, GUP09]
17
18. Processo Proposto – Planejamento
• Planejamento diário [FAD00]
• Distribuição das tarefas
• Distribuição utilizando como
base as informações
disponibilizadas pelos site
anterior, juntamente com o
relatório de testes
Unitários [FAD00, DEN08,
DEN09]
18
19. Processo Proposto – Codificação
• Esta etapa marca a
implementação dos requisitos,
seguindo a ordem de
prioridades definidas no passo
2
• Nesta etapa, a equipe foca
no desenvolvimento das
funcionalidades
19
20. Processo Proposto – Check-In
• Cada membro da equipe
deve reservar um tempo para
realizar o Check-In do trabalho
realizado durante o dia
20
21. Processo Proposto – Formulário de Hand-Off
• Cada membro da equipe
deve reservar um tempo para
preencher o formulário de
hand-off
• Formulário baseado nas
Stand-up Meetings
• Marca o fim do dia de
trabalho
21
22. Processo Proposto – Formulário de Hand-Off
• Cada membro da equipe
deve reservar um tempo para
preencher o formulário de
hand-off
• Formulário baseado nas
Stand-up Meetings
• Marca o fim do dia de
1. Quais tarefas foram realizadas durante este período de trabalho?
trabalho
2. Qual a melhor forma de continuar o trabalho no próximo período?
3. Existe algum problema impedindo de continuar o trabalho?
22
23. Processo Proposto – Funcionalidade Implementada
• Este processo é iterativo e
estes cinco estados serão
repetidos a cada dia de
trabalho, para cada time de
desenvolvimento distribuído
[FAD00, GUP09]
23
24. Ferramenta de Apoio
– Realiza todo o controle necessário para a
execução do FTSProc
– Definição dos seguintes papéis:
– Administrador
– Gerente Global
– Gerente de Projeto
– Desenvolvedor
– Papéis mínimos para um projeto:
– Administrador
– Gerente de Projeto
24
25. Experimento
• Principal objetivo:
– Comparar a eficiência de um projeto que utiliza o processo proposto
(FTSProc) com um projeto que não utilizam tal processo (Ad hoc).
– Quantidade de requisitos corretamente implementados
• Hipóteses definidas
– Hipótese Nula (H0):
• H0: reqImplFTSProc = reqImplAdHoc
– Hipótese Alternativa (H1):
• H1: reqImplFTSProc > reqImplAdHoc
– Hipótese Alternativa (H2):
• H2: reqImplFTSProc < reqImplAdHoc 25
26. Experimento
• Atividade para avaliar o FTSProc:
– Desenvolvimento de um software simples
– Operações matemáticas
• Alunos do PPGCC/PUC
• Profissionais oriundos de empresas do Parque Tecnológico da
PUCRS (TECNOPUC)
• Atendiam requisitos mínimos
– Java
– Test-driven Development (TDD)
– JUnit
– FTS
– DDS
26
28. Experimento
• Distribuição dos participantes
do experimentoS
• 8 participantes
• Divididos em 2 grupos
• FTSProc X Ad hoc
• Utilizando dois sites
• Fuso horário simulado
Um dia = 20 minutos
• Realizado em laboratório
Controle
28
29. Experimento – Resultados
Quantidade de requisitos implementados em cada
uma das abordagens:
Requisitos implementados FTSProc Ad hoc
Corretamente 12 4
Parcialmente 0 8
Não Implementado 0 0
Total do Projeto 12 12
29
30. Experimento – Resultados
Duração dos Shifts
FTSProc Ad hoc
Hora Hora Hora Hora
Atividade Tempo Total Atividade Tempo Total
Inicial Final Inicial Final
Análise dos Análise dos
18:05 18:10 5 Minutos 17:52 17:57 5 Minutos
requisitos requisitos
Shift 1 18:12 18:32 20 Minutos Shift 1 18:02 18:22 20 Minutos
Shift 2 18:40 19:00 20 Minutos Shift 2 18:22 18:42 20 Minutos
Shift 3 19:06 19:26 20 Minutos Shift 3 18:45 19:05 20 Minutos
Shift 4 19:27 19:34 7 Minutos Shift 4 19:06 19:26 20 Minutos
30
31. Experimento – Resultados
A transferência de trabalho de um centro ao outro ocorreu da forma adequada?
FTSProc Ad hoc
Sim 4 3
Não 0 1
Total 4 4
No inicio de cada shift, você percebia de forma direta como o trabalho deveria ser continuado?
FTSProc Ad hoc
Sim 4 0
Não 0 4
Total 4 4
Você acredita que a transferência de trabalho de um centro de desenvolvimento para o outro
acarretou um overhead significativo no trabalho?
FTSProc Ad hoc
Sim 0 1
Não 4 3
Total 4 4
31
32. Considerações Finais
• Objetivos Propostos
– Complementar os estudos da base
teórica
– Propor um processo preliminar de
transferência de trabalho durante a
fase de desenvolvimento do ciclo
de vida
– Desenvolver uma ferramenta de
apoio ao processo de transferência
de trabalho
– Escrever artigos científicos
decorrentes da pesquisa
32
33. Contribuições
• Teoria
– Criação do Processo para transferência de trabalho – FTSProc
– Experimento utilizando o FTSProc
– Lições aprendidas sobre o experimento e todas as informações
disponibilizadas para a replicação
– Definição do conceito Follow-the-Sun a partir de diversos autores
• Mercado
– Time-to-market / Ganho de produtividade
– Ferramenta de apoio ao FTSProc
• Pesquisador
– Realizar pesquisa em uma área desconhecida: FTS
– Aprofundar os conhecimentos em DDS
– Com o conhecimento adquirido será possível continuar os estudos na área
acadêmica ou, ainda, aplicar os resultados obtidos no aspecto profissional
33
34. Limitações do Trabalho
• Tempo disposto para a pesquisa
– Iniciou com SOA em Ambientes de DDS
• Apesar de atingir os objetivos inicialmente propostos, seria possível avançar ainda mais
• Utilização de Experimento como método de pesquisa
– Baixo número de participantes, impossibilitou uma análise estatística dos
resultados
– Generalização específica – escopo fictício criado pelo pesquisador
– Influência subjetiva do pesquisador e dos participantes sobre os resultados
• Ferramenta de Apoio
– Todos os requisitos planejados foram implementados
– Necessário rever aspectos de usabilidade e confiabilidade – ambiente real
34
35. Estudos Futuros
• Replicar o experimento com uma amostra maior de participantes
– Possibilitar a utilização de métodos estatísticos para a validação das hipóteses
• Estudo de Caso
– Avaliar a utilização do FTSProc em um ambiente real, utilizando um projeto e
uma equipe real
– Comprovar se os resultados oriundos do experimento são equivalentes em
um ambiente real
• Desenvolvimento de trabalhos com o objetivo de expandir este
processo para outras fases SDLC
– Outras fases podem ser contempladas com a criação de um processo para uso
da estratégia FTS
– Criar um processo composto por diversos sub-processos
– Todo o projeto de software poderia ser realizado utilizando a estratégia FTS
– Redução do tempo de construção em todas as fases de um projeto
– Objetivo de trabalho do Grupo MuNDDoS 35
36. Publicações
• Researching into Follow-the-Sun Software Development: Challenges and
Opportunities
– Local de publicação: International Conference on Global Software Engineering (ICGSE '11).
IEEE Computer Society, Finlândia;
– Nesse artigo é descrito a necessidade da criação de um processo de transferência de
trabalho para projetos que utilizam a estratégia FTS;
– Definição do conceito de FTS, com base na literatura.
• Follow-the-Sun: Um Processo para Minimizar as Dificuldades de Projetos
que Adotam esta Estratégia
– Local de publicação: V Workshop de Desenvolvimento Distribuído de Software
CBSoft – WDDS 2011, São Paulo;
– Nesse artigo é apresentado o processo preliminar proposto para a transferência de trabalho
para projetos que utilizam a estratégia FTS.
• Challenges in the Follow-the-Sun strategy: How to alleviate them.
– Artigo aceito como pôster
– Local de Publicação: AMCIS 2011 Proceedings - All Submissions, Detroit, EUA.
– Neste artigo está descrito algumas dificuldades que a estratégia FTS apresenta, e formas
para amenizar estas dificuldades, incluindo a ideia principal do processo proposto. 36
37. Submissões
• FTSProc: a Process to Alleviate the Challenges of Projects that Use
the Follow-the-Sun Strategy
– International Conference on Global Software Engineering (ICGSE '12).
– Descrição do FTSProc
– Processo experimental realizado
– Resultados do experimento
37
38. Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Programa de Pós-Graduação em Ciência da Computação
FTSProc - Um Processo para Minimizar as
Dificuldades de Projetos que
Adotam a Estratégia Follow-the-Sun
Aluno
Estevão Ricardo Hess
Defesa da Orientador
Dissertação de Mestrado Prof. Dr. Jorge Luis Nicolas Audy
Apoio
Março de 2012 Dell Computadores do Brasil