Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Implementando Entrega Contínua

Implementando Entrega Contínua

Seminário Online dado sobre Implementando Entrega Contínua

Marco Valtas

December 05, 2013
Tweet

More Decks by Marco Valtas

Other Decks in Technology

Transcript

  1. © 2013 9 Entrega Contínua "Entrega Contínua é uma disciplina

    de desenvolvimento de software que reduz o custo, tempo, e o risco da entrega de mudanças incrementais aos usuários." "Entrega Contínua é uma disciplina de desenvolvimento na qual software é construído de tal maneira que o mesmo pode ser colocado em produção a qualquer momento." Martin Fowler, Jez Humble Definição desenvolvida pelo grupo de Entrega Contínua da ThoughtWorks
  2. © 2013 12 Por quê? • Reduzir os custos? •

    Colocar funcionalidades em produção mais rapidamente? • Menos defeitos em produção? • Ser mais rápido que meus competidores? • Dormir em paz em dia de implantação?
  3. © 2013 13 A liderança deve estar a bordo já

    comprometido aplicar em melhorias tempo & pessoas
  4. © 2013 17 Mudanças pelo tempo Time Changes Changes to

    production } long time } lots of change
  5. © 2013 18 Mudanças pelo tempo Time Changes Changes to

    production } short time } SMALL changeS
  6. © 2013 20 Nokia Test • Iterações duram menos que

    4 semanas • Funcionalidades testadas e prontas ao final da iteração • A iteração inicia antes do final da especificação Primeira Parte - Desenvolvimento Iterativo?
  7. © 2013 26 O que está pronto? "Aquela grande funcionalidade

    que você trabalhou nas últimas duas iterações não tem qualquer valor.” ! Tim Brown - AgileTrends SP/2013
  8. © 2013 28 Arquitetura “Existem dois elementos comuns [nas definições]:

    um é a decomposição em alto nível de um sistema em suas partes; o outro são decisões difíceis de alterar. …existem diversas arquiteturas em um sistema, e a visão do que é significativo em termos de arquitetura pode mudar durante o ciclo de vida de um sistema." Martin Fowler - Padrões de Arquitetura de Aplicações Corporativas.
  9. © 2013 30 Flexibilizando a arquitetura Estratégias • micro-serviços •

    feature toggles • branch by abstraction Considere o que pode ser implantado separadamente.
  10. © 2013 32 Tempo e Processo Mais rápido tempo para

    implantação implantações processos
  11. © 2013 32 Tempo e Processo Mais rápido tempo para

    implantação implantações processos
  12. © 2013 32 Tempo e Processo Mais rápido tempo para

    implantação implantações processos
  13. © 2013 32 Tempo e Processo Mais rápido tempo para

    implantação implantações processos
  14. © 2013 33 Emergências - O que muda? • Todos

    os processos são os mesmos? • Quais são maleáveis?
  15. © 2013 36 Etsy - Números • mais 800 mil

    vendedores cadastrados • mais de 22 milhões de usuários • mais de 18 milhões de itens a venda • aprox 900 milhões USD em faturamento • em torno de 400 funcionários
  16. © 2013 39 Etsy - Scroll Infinito - Resultados -22,5%

    vendas -8,38% favoritos -10,87% cliques
  17. © 2013 40 Resumo • Saiba o por quê. •

    Defina métricas • Encontre suporte da liderança • Escolha um time • Inicie pela integração contínua • Desacople a arquitetura • Melhore continuamente
  18. © 2013 41 Referências • Livro - Entrega Contínua -

    http://bit.ly/18vbEG9 • Gráficos Estilo XKCD - http://bl.ocks.org/dfm/3914862 • Continuous Delivery by Martin Fowler - http://bit.ly/16snS5s • Ops Meta-Metrics: The Currency You Pay For Change - http:// slidesha.re/9NfNrA • “Ok, now what?” cartoon licensed from http:// www.cartoonstock.com/ • Software G forces - Kent Beck - http://youtu.be/KIkUWG5ACFY • Livro - Padrões de Arquitetura de Aplicações Corporativas - http://bit.ly/IupBwA • Continuous Deployment Culture at Esty - http://slidesha.re/ PYR6xp • Feature Toggles - Martin Fowler - http://martinfowler.com/bliki/ FeatureToggle.html • Branch by Abstraction - http://paulhammant.com/blog/ branch_by_abstraction.html • Rescue Time - https://www.rescuetime.com