Os desafios da entrega contínua
@JulianoRibeiro
Quem é esse cara aí???
• Desenvolvedor de software desde 1994
– Clipper, Delphi, Java, iOS, Android…
• “Agilista” desde 20...
Do que falaremos?
História
Estórias
Mais histórias
Como eu fiz Continuos Deployment
Como se deve fazer Continuos Deploymen...
Era uma vez,
uma
empresa em
Maringá…
Enfim, eu era mais um horse
Programação “estruturada”
Desespero
Era hora de evoluir…
Subversion
Hudson
Entregas com mais frequencia
Testes? Ainda não
Investimento muito pesado
Timebox
A saída da empresa
E então nasceu a…
HappinessApp
O que adotamos no início?
Scrum
Entregas parciais
Necessidade de criar rede de testes
TestFlight
Era hora de evoluir…
Sprint 12
Sprint 14
Legal, ótimas
histórias,
mas qual o
ponto?
Uma boa estória
Backlog Refinement
Sprint Planning
Product Owner
Product Champion
Cliente
PO Fênix
Quais sao minhas ferramentas?
Então, como eu fiz?
• Tecnologia é suporte
– Controle de Versão: SVN, GIT, Mercurial…
– Build Contínuo: Jenkins, Hudson, G...
Segundo Martin Fowler
• Mantenha um repositório de código
• Automatize o build
• Faça o build auto-testável
• Todos (desen...
Sim, tem
tecnologia
mas o ponto é
FEEDBACK!
Agile Manifesto
Colaboração com
o cliente
Negociação de
Contratos
Software em
funcionamento
Indivíduos e interações
Docume...
Obrigado
@JulianoRibeiro
juliano@massimus.com
www.julianoribeiro.com
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?
Próximos SlideShares
Carregando em…5
×

Os desafios da entrega contínua - Está preparado?

1.462 visualizações

Publicada em

Muito interessantemente (isso existe?) todo mundo pensa que continuous delivery tem muito de tecnologia. É verdade que até tem, mas o grande problema está em todo o resto que não pode ser automatizado e que precisa ser disciplinado na intenção de permitir a automação funcionar.

Publicada em: Negócios
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.462
No SlideShare
0
A partir de incorporações
0
Número de incorporações
524
Ações
Compartilhamentos
0
Downloads
14
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Carreira: programador.
    Revista, gorila banana.
    Naquele tempo, boas práticas, código
    "das antigas". Code like a horse.
    Não me preocupava com a qualidade do que eu produzia, simplesmente produzia.
  • E com esse background iniciei carreira.
    Aprendizado.
    Ambiente zuado e me identifiquei. Shame on ME.
    Melhor prática: controle de versionamento dos arquivos, lock durante o mês liberados e reintegrados só no build.
    Nem preciso falar dos problemas e do tempo que se tomava do momento do início da liberação até ela finalmente ser entregue ao cliente.
  • Temos o processo estabelecido
  • Temos a arquitetura estabelecida
  • Free VCS, falar dos locks, da integração complexa, propriedade coletiva do código.
  • E então começamos a fazer integração contínua. E só, não pudemos avançar mais.
  • Haviam muitos bugs, a empresa queria
  • Timebox gera pressão. As vezes gera pressão demais. Além disso times podem se sentir desmotivados quando falham sucessivos sprints.
  • Uma nova esperança, uma nova carreira
  • A proposta era que pudéssemos fazer as coisas que acreditávamos, sem barreiras. Só aceitaríamos projetos que coincidissem com nossas crenças.
  • Foco
    Vantagens
    Desvantagens
  • Então nós começamos a enviar os apps para o TF. E nesse momento, começamos a ter beta tester funcionando.
  • Reuniões, overhead e demora no feedback.
  • Sai twitter e facebook
    Entra e-mail
  • Vídeo demonstrativo
  • Uma boa história de usuário é aonde as coisas começam. Se você vai começar a entregar histórias uma a uma essas histórias devem estar na granularidade adequada para tanto.
  • Scrum tem uma cerimônia perfeita para isso, o Backlog Refinement. Nessa cerimonia, o Product Owner tem a oportunidade de revisar junto ao time as historias futuras, debatendo-as com quem realmente ira faze-las. Isso pode ocorrerem qualquer momento, sempre que o PO precisar e o time estiver disponível. Para esse momento devem estar presentes o PO, o Scrum Master e o time. O Scrum Master sempre está presente, pois é de sua responsabilidade facilitar as cerimonias.
  • Ou seja, mesmo havendo valor os itens à direita, valorizamos mais os itens à esquerda.
    Entendam cada uma dessas etapas como um nível de maturidade.
    A cada etapa dessa aprendida, a empresa se torna mais madura.
  • Os desafios da entrega contínua - Está preparado?

    1. 1. Os desafios da entrega contínua @JulianoRibeiro
    2. 2. Quem é esse cara aí??? • Desenvolvedor de software desde 1994 – Clipper, Delphi, Java, iOS, Android… • “Agilista” desde 2009 • Graduado em Sistemas para Internet • Pós-graduado em POO com Java • CSM, CSPO e CSP pela Scrum Alliance • Certified Delphi Developer pela Embarcadero • Organizador do AgileTour desde 2011 – Maringá, Curitiba e São Paulo • Professor de Métodos Ágeis – FCV - Maringá • Agile Coach & Trainer pela Massimus C&T
    3. 3. Do que falaremos? História Estórias Mais histórias Como eu fiz Continuos Deployment Como se deve fazer Continuos Deployment Do que eu preciso? Questionamentos?
    4. 4. Era uma vez, uma empresa em Maringá…
    5. 5. Enfim, eu era mais um horse
    6. 6. Programação “estruturada”
    7. 7. Desespero
    8. 8. Era hora de evoluir…
    9. 9. Subversion
    10. 10. Hudson
    11. 11. Entregas com mais frequencia
    12. 12. Testes? Ainda não
    13. 13. Investimento muito pesado
    14. 14. Timebox
    15. 15. A saída da empresa
    16. 16. E então nasceu a…
    17. 17. HappinessApp
    18. 18. O que adotamos no início?
    19. 19. Scrum
    20. 20. Entregas parciais
    21. 21. Necessidade de criar rede de testes
    22. 22. TestFlight
    23. 23. Era hora de evoluir…
    24. 24. Sprint 12
    25. 25. Sprint 14
    26. 26. Legal, ótimas histórias, mas qual o ponto?
    27. 27. Uma boa estória
    28. 28. Backlog Refinement
    29. 29. Sprint Planning
    30. 30. Product Owner Product Champion Cliente
    31. 31. PO Fênix
    32. 32. Quais sao minhas ferramentas?
    33. 33. Então, como eu fiz? • Tecnologia é suporte – Controle de Versão: SVN, GIT, Mercurial… – Build Contínuo: Jenkins, Hudson, Go, CruiseControl… – Ferramentas de Teste: JUnit, OCUnit, xUnit… • Workshop de escrita de histórias • Use as cerimônias Scrum sabiamente • Ferramentas de distribuição: TestFlight (iOS)
    34. 34. Segundo Martin Fowler • Mantenha um repositório de código • Automatize o build • Faça o build auto-testável • Todos (desenvolvedores) comitam na baseline diariamente • Cada commit deve ser construído • Mantenha o build rápido • Teste seu build numa cópia do ambiente de produção • Deixe fácil pegar os últimos entregáveis • Todos podem ver os resultados do build • Automatize o deploy para produção
    35. 35. Sim, tem tecnologia mas o ponto é FEEDBACK!
    36. 36. Agile Manifesto Colaboração com o cliente Negociação de Contratos Software em funcionamento Indivíduos e interações Documentação Abrangente Processos e Ferramentas Responder a mudanças Seguir um plano
    37. 37. Obrigado @JulianoRibeiro juliano@massimus.com www.julianoribeiro.com

    ×