Weitere ähnliche Inhalte Ähnlich wie Implementando Entrega Contínua - Marco Valtas (20) Mehr von Thoughtworks (20) Implementando Entrega Contínua - Marco Valtas2. © 2013 !2
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
5. © 2013 !5
Papéis na entrega de software
Desenvolvimento
Testes
Operações
UsuáriosProduto
6. © 2013 !6
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?
7. © 2013 !7
A liderança deve estar a bordo
já comprometido
aplicar em melhorias
tempo&pessoas
12. © 2013 !12
Mudanças pelo tempo
Time
Changes
Changes to production
}
short time
}
SMALL changeS
14. © 2013 !14
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?
19. © 2013 !19
O que está pronto?
Pronto! Pronto! Pronto! Pronto?
?
20. © 2013 !20
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
22. © 2013 !22
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.
24. © 2013 !24
Flexibilizando a arquitetura
Estratégias
• micro-serviços
• feature toggles
• branch by abstraction
Considere o que pode ser
implantado separadamente.
27. © 2013 !27
Tempo e Processo
Mais rápido
tempo para implantação
implantações
processos
30. © 2013 !30
Etsy - 6.149 implantações
final 2009 final 2012
aplicação configuração
31. © 2013 !31
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
32. © 2013 !32
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