33
Dezembro 2013 Seminário Online: Implementando Entrega Contínua Marco Valtas [email protected] twitter: @mavcunha

Implementando Entrega Contínua

Embed Size (px)

DESCRIPTION

Seminário Online em 05/12/2013

Citation preview

Page 1: Implementando Entrega Contínua

Dezembro 2013

Seminário Online: Implementando Entrega Contínua

Marco Valtas [email protected] twitter: @mavcunha

Page 2: Implementando Entrega Contínua

© 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

Page 3: Implementando Entrega Contínua

© 2013 !3

Instalação de Entrega Contínua - CD

Page 4: Implementando Entrega Contínua

© 2013 !4

Pessoas

Page 5: Implementando Entrega Contínua

© 2013 !5

Papéis na entrega de software

Desenvolvimento

TestesOperações

UsuáriosProduto

Page 6: Implementando Entrega Contínua

© 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?

Page 7: Implementando Entrega Contínua

© 2013 !7

A liderança deve estar a bordo

já comprometido

aplicar em melhoriaste

mpo

& p

esso

as

Page 8: Implementando Entrega Contínua

© 2013 !8

Defina suas métricas

YouTube♫

Page 9: Implementando Entrega Contínua

© 2013 !9

Mudanças

Page 10: Implementando Entrega Contínua

© 2013 !10

Introdução de mudanças

Tempo

Mudanças

Page 11: Implementando Entrega Contínua

© 2013 !11

Time

Changes Changes to production

}long time

} lots of change

Mudanças pelo tempo

Page 12: Implementando Entrega Contínua

© 2013 !12

Mudanças pelo tempo

Time

Changes Changes to production

}short time

} SMALL changeS

Page 13: Implementando Entrega Contínua

© 2013 !13

Times

Page 14: Implementando Entrega Contínua

© 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?

Page 15: Implementando Entrega Contínua

© 2013 !15

DevOps

Devs e Ops DevOps

Page 16: Implementando Entrega Contínua

© 2013 !16

Aquecedores e Congeladores

versus

Page 17: Implementando Entrega Contínua

© 2013 !17

Práticas

Page 18: Implementando Entrega Contínua

© 2013 !18

Integração Contínua

Page 19: Implementando Entrega Contínua

© 2013 !19

O que está pronto?

Pronto! Pronto! Pronto! Pronto?

?

Page 20: Implementando Entrega Contínua

© 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

Page 21: Implementando Entrega Contínua

© 2013 !21

Sempre pronto para produção

Page 22: Implementando Entrega Contínua

© 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.

Page 23: Implementando Entrega Contínua

© 2013 !23

O impacto da arquitetura

Page 24: Implementando Entrega Contínua

© 2013 !24

Flexibilizando a arquitetura

Estratégias

• micro-serviços

• feature toggles

• branch by abstraction

Considere o que pode ser implantado separadamente.

Page 25: Implementando Entrega Contínua

© 2013 !25

Melhoria Contínua

Page 26: Implementando Entrega Contínua

© 2013 !26

Força G - O que muda?

Page 27: Implementando Entrega Contínua

© 2013 !27

Tempo e Processo

Mais rápido

tempo para implantação

implantaçõesprocessos

Page 28: Implementando Entrega Contínua

© 2013 !28

Emergências - O que muda?

• Todos os processos são os mesmos?

• Quais são maleáveis?

Page 29: Implementando Entrega Contínua

© 2013 !29

Estamos fazendo Entrega Contínua

Hoje tem implantação em

produção.

Page 30: Implementando Entrega Contínua

© 2013 !30

Etsy - 6.149 implantações

final 2009 final 2012aplicação configuração

Page 31: Implementando Entrega Contínua

© 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

Page 32: Implementando Entrega Contínua

© 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

Page 33: Implementando Entrega Contínua

Dezembro 2013Obrigado, perguntas?

Contatos [email protected] twitter: @mavcunha

���33

www.thoughtworks.com

?? ?

???