Biografia
• Mestre em Engenharia de Computação pelo IPTComputação pelo IPT
• Formado em Licenciatura e Bacharelado em Matemática
• Gerente de Projetos Ágil – Abril
www.agiletour.com25/10/10
Meta #1
É possível aplicarmos Agile em Outsourcing?
Meta #2
Como podemos adotar Agile em Outsourcing?
OutsourcingOutsourcing
??
www.agiletour.com25/10/10
AgileAgile
??
A sua empresa já está preparada em desenvolvimento de software e
www.agiletour.com25/10/10
desenvolvimento de software e gestão de projetos ágeis?
Se não está, os desafios são grandes!
www.agiletour.com25/10/10
www.agiletour.com05/05/09
PARCERIA e não ADVERSÁRIOS!
www.agiletour.com25/10/10
Parceria Ágil?
• Nem todos estão dispostos, assim como na adoção de Agile em equipes internas
www.agiletour.com25/10/10
Contratos Tradicionais
• Inflexíveis e não permitem mudança de escopo
www.agiletour.com25/10/10
Triângulação Perversa
Tempo
www.agiletour.com25/10/10
Tempo
EscopoCusto
Contrato Ágil
www.agiletour.com05/05/09
Ao invés de escopo fixo…
www.agiletour.com25/10/10
…custo fixo
www.agiletour.com25/10/10
- Time-boxing é uma prática ágil comum.
- Limitar o custo faz com que o time-boxing trabalhe até melhor!
www.agiletour.com25/10/10
Portanto:
• User stories, ao invés de uma Especificação de Requisitos detalhada (elas são orientadas a features, podem ser criadas e destruídas features, podem ser criadas e destruídas facilmente, provém uma boa visão do escopo e podem ser comparadas pelo tamanho ou esforço).
• Pontos, ao invés de horas, pois são relativos e não expressam necessariamente o esforço.
• DONE: confiança e entendimento comum.www.agiletour.com25/10/10
Desta forma, fixando o escopo em termos de pontos, conseguimos, no decorrer do
projeto, abraçar mudanças, pois conseguimos trocar histórias por outras
de mesmo valor.
www.agiletour.com25/10/10
de mesmo valor.
Assim, temos a tríplice: custo, prazo e escopo fixos, da forma ágil!
Como?
EstimativaInicial
EstimativaInicial
Obterhistórias
Pontuarhistórias
www.agiletour.com25/10/10
Business Value“Uma abordagem de melhoria de aprendizado e incremental, com a
finalidade de oferecer aos
www.agiletour.com25/10/10
finalidade de oferecer aos clientes mais do que eles
realmente querem, observando o processo como um todo.”
www.agiletour.com25/10/10
Como?
EstimativaInicial
EstimativaInicial
Obterhistórias
Pontuarhistórias
TempoTempo VelocidadeTime
QuantidadePontos
www.agiletour.com25/10/10
Como?
EstimativaInicial
EstimativaInicial
Obterhistórias
Pontuarhistórias
TempoTempo VelocidadeTime
QuantidadePontos
CustoCusto QuantidadeHoras
QuantidadePessoas
www.agiletour.com25/10/10
Velocidade do Time
Total de Pontos 100
Velocidade Baixa 5Velocidade Baixa 5
Velocidade Alta 15
www.agiletour.com25/10/10
100 ÷ 5 =
100 ÷ 15 =
TEMPO
f = (total de pontos ÷ velocidade) ×f = (total de pontos ÷ velocidade) ×tamanho do sprint
(100 ÷ 10) × 2 semanas = 20 semanas
www.agiletour.com25/10/10
CUSTO
f = horas sprint × qtde. sprints × qtde. f = horas sprint × qtde. sprints × qtde. pessoas × valor/hora
80h × 10 sprints × 4 pessoas × R$ 100,00 = R$ 320.000,00
www.agiletour.com25/10/10
Flexibilidade
• Número de pontos a serem entregues já sabemos!
• Abrace mudanças, levando em consideração a • Abrace mudanças, levando em consideração a quantidade de pontos!
• Se cliente quiser mais 1 sprint, sem problema! Faça um aditivo ao contrato com esse sprint adicional.
www.agiletour.com25/10/10
MAS…
www.agiletour.com25/10/10
Acompanhe a cada sprint!!!
www.agiletour.com25/10/10
www.agiletour.com25/10/10
noop.nl
Confiança!
www.agiletour.com25/10/10
ESTUDO DE CASO
www.agiletour.com25/10/10
ANTES DE TUDO…
www.agiletour.com25/10/10
www.agiletour.com25/10/10
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA• QA
• Time
• Arquiteto de Software
• Sysadmin
www.agiletour.com25/10/10
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA
• Define uma visão clara do produto• Define as características • QA
• Time
• Arquiteto de Software
• Sysadmin
www.agiletour.com25/10/10
• Define as características do produto• Planeja e organiza o backlog• Pontua o valor de negócio das histórias • Responsável pelo ROI
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA
• Remove os impedimentos• Responsável pelo processo• QA
• Time
• Arquiteto de Software
• Sysadmin
www.agiletour.com25/10/10
processo• Facilita a colaboração entre todos• Garante que o time esteja sempre funcionando e produzindo
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA
• Planeja e executa os testes de aceitação do usuário• QA
• Time
• Arquiteto de Software
• Sysadmin
www.agiletour.com25/10/10
usuário• Apóia time• Trabalha com todos para garantir a qualidade do software a ser lançado
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA
• Desenvolve as features planejadas pelo PO• Define como será • QA
• Time
• Arquiteto de Software
• Sysadmin
www.agiletour.com25/10/10
• Define como será realizado o trabalho• Auto-gerenciado e auto-organizado• Apresenta o que foi feito ao PO
Definir as responsabilidades com clareza
• Product Owner
• ScrumMaster
• QA
• Programa em par remotamente• Revisa o código• QA
• Time
• Arquiteto de Software
www.agiletour.com25/10/10
• Revisa o código• Integra continuamente • Realiza provas de conceito• Alinhamento conceitual e arquitetural entre os principais projetos da área
Sessão de Levantamento de Features
www.agiletour.com25/10/10
Coaching do PO
• Como escrever histórias, aplicando o conceito de INVEST conceito de INVEST (Independent, Negotiable, Valuable, Estimable, Sized right and Testable)
• Responsabilidades
www.agiletour.com25/10/10
Escrever histórias
www.agiletour.com25/10/10
www.agiletour.com25/10/10
- Jeff Patton -
Planning Poker
www.agiletour.com25/10/10
Business Value
www.agiletour.com25/10/10
Pontos
www.agiletour.com25/10/10
Contrato Ágil
www.agiletour.com05/05/09
www.agiletour.com25/10/10
www.agiletour.com25/10/10
Reuniões
• Daily
• Planning• Planning
• Review
• Retrospective
www.agiletour.com25/10/10
Reuniões
• Daily
• Planning
Perguntas:
• O que foi feito?
• O que será feito?• Planning
• Review
• Retrospective
• O que será feito?
• Algum impedimento?
Regras:
• 15’
• PO liga para todos
www.agiletour.com25/10/10
Reuniões
• Daily
• Planning
• Meta do Sprint
• Apresentação das histórias• Planning
• Review
• Retrospective
histórias
• Estimativa (user stories < 13)
• Definição do Sprint
www.agiletour.com25/10/10
Reuniões
• Daily
• Planning
• Apresentação das histórias DONE para stakeholders• Planning
• Review
• Retrospective
stakeholders
• Aceitação
++ Reviews constantes, quase diários
www.agiletour.com25/10/10
Reuniões
• Daily
• Planning
• O que foi bom e devemos continuar?
• O que precisa ser • Planning
• Review
• Retrospective
• O que precisa ser melhorado?
++ Retrospectiva geral presencial no final do Release
www.agiletour.com25/10/10
Acompanhe a Evolução
www.agiletour.com25/10/10
Acompanhe a Evolução
www.agiletour.com05/05/09
Boas Práticas de Desenvolvimento de Software
• Pair programming (Team Viewer, Pair Eclipse Programming, etc.)
• Code review• Code review
• Desenvolvimento orientado a testes
• Padronização de código
• Integração regular do código
• Incentivo à refatoração
www.agiletour.com25/10/10
www.agiletour.com05/05/09
“Quem não se comunica, se estrumbica” (Velho Guerreiro)
www.agiletour.com25/10/10
@phfrebelo
www.agiletour.com25/10/10
www.agiletour.com25/10/10