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

Avatar for Marco Valtas

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