SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Dezembro 2013
Seminário Online:
Implementando
Entrega Contínua
Marco Valtas
mvaltas@thoughtworks.com
twitter: @mavcunha
© 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
© 2013 !3
Instalação de Entrega Contínua - CD
© 2013 !4
Pessoas
© 2013 !5
Papéis na entrega de software
Desenvolvimento
Testes
Operações
UsuáriosProduto
© 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?
© 2013 !7
A liderança deve estar a bordo
já comprometido
aplicar em melhorias
tempo&pessoas
© 2013 !8
Defina suas métricas
YouTube
© 2013 !9
Mudanças
© 2013 !10
Introdução de mudanças
Tempo
Mudanças
© 2013 !11
Time
Changes
Changes to production
}
long time
}
lots of change
Mudanças pelo tempo
© 2013 !12
Mudanças pelo tempo
Time
Changes
Changes to production
}
short time
}
SMALL changeS
© 2013 !13
Times
© 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?
© 2013 !15
DevOps
Devs e Ops DevOps
© 2013 !16
Aquecedores e Congeladores
versus
© 2013 !17
Práticas
© 2013 !18
Integração Contínua
© 2013 !19
O que está pronto?
Pronto! Pronto! Pronto! Pronto?
?
© 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
© 2013 !21
Sempre pronto para produção
© 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.
© 2013 !23
O impacto da arquitetura
© 2013 !24
Flexibilizando a arquitetura
Estratégias
• micro-serviços
• feature toggles
• branch by abstraction
Considere o que pode ser
implantado separadamente.
© 2013 !25
Melhoria
Contínua
© 2013 !26
Força G - O que muda?
© 2013 !27
Tempo e Processo
Mais rápido
tempo para implantação
implantações
processos
© 2013 !28
Emergências - O que muda?
• Todos os
processos são os
mesmos?
• Quais são
maleáveis?
© 2013 !29
Estamos fazendo Entrega Contínua
Hoje tem
implantação em
produção.
© 2013 !30
Etsy - 6.149 implantações
final 2009 final 2012
aplicação configuração
© 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
© 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
Dezembro 2013
Obrigado, perguntas?
Contatos
mvaltas@thoughtworks.com
twitter: @mavcunha
33
www.thoughtworks.com
?
? ?
??
?

Más contenido relacionado

La actualidad más candente

Anti-Padrões de Integração Contínua
Anti-Padrões de Integração ContínuaAnti-Padrões de Integração Contínua
Anti-Padrões de Integração ContínuaThoughtworks
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começarAdriano Tavares
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaFernando Celarino
 
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Denis Santos
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaGrupo de Testes Carioca
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A OrigemAndré Dias
 
Escalando Agilidade e além: DevOps e o novo ciclo do software
Escalando Agilidade e além: DevOps e o novo ciclo do softwareEscalando Agilidade e além: DevOps e o novo ciclo do software
Escalando Agilidade e além: DevOps e o novo ciclo do softwareGustavo Grillo
 
DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014Leo Lorieri
 
QA Ninja Conf - Scrum uma Introdução a Agilidade
QA Ninja Conf - Scrum uma Introdução a AgilidadeQA Ninja Conf - Scrum uma Introdução a Agilidade
QA Ninja Conf - Scrum uma Introdução a AgilidadeThiago Boschese
 
Modelos de Processo de Software - INCREMENTAL
Modelos de Processo de Software - INCREMENTALModelos de Processo de Software - INCREMENTAL
Modelos de Processo de Software - INCREMENTALVitória Pavan
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesMisael Santos
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 

La actualidad más candente (20)

04 Unified process
04 Unified process04 Unified process
04 Unified process
 
Anti-Padrões de Integração Contínua
Anti-Padrões de Integração ContínuaAnti-Padrões de Integração Contínua
Anti-Padrões de Integração Contínua
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começar
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estrutura
 
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação Contínua
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A Origem
 
Escalando Agilidade e além: DevOps e o novo ciclo do software
Escalando Agilidade e além: DevOps e o novo ciclo do softwareEscalando Agilidade e além: DevOps e o novo ciclo do software
Escalando Agilidade e além: DevOps e o novo ciclo do software
 
DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014
 
QA Ninja Conf - Scrum uma Introdução a Agilidade
QA Ninja Conf - Scrum uma Introdução a AgilidadeQA Ninja Conf - Scrum uma Introdução a Agilidade
QA Ninja Conf - Scrum uma Introdução a Agilidade
 
Modelos de Processo de Software - INCREMENTAL
Modelos de Processo de Software - INCREMENTALModelos de Processo de Software - INCREMENTAL
Modelos de Processo de Software - INCREMENTAL
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de Versões
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 

Destacado

ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFSALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFSJose Luis Soria
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaLeonardo Kobus
 
Case Simpress
Case SimpressCase Simpress
Case SimpressSensedia
 
Case Cnova-en
Case Cnova-enCase Cnova-en
Case Cnova-enSensedia
 
Case Cnova Page
Case Cnova PageCase Cnova Page
Case Cnova PageSensedia
 
Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?Sensedia
 
2o workshop governanca soa na pratica
2o workshop governanca soa na pratica2o workshop governanca soa na pratica
2o workshop governanca soa na praticaSensedia
 
Arquitetura para entrega continua
Arquitetura para entrega continuaArquitetura para entrega continua
Arquitetura para entrega continuaLeonardo Kobus
 
Webinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOAWebinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOASensedia
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Caso de Estudo CNova
Caso de Estudo CNovaCaso de Estudo CNova
Caso de Estudo CNovaSensedia
 
Case Sensedia Cielo
Case Sensedia CieloCase Sensedia Cielo
Case Sensedia CieloSensedia
 
Construção de APIs para apps móveis
Construção de APIs para apps móveisConstrução de APIs para apps móveis
Construção de APIs para apps móveisSensedia
 
Open Banking Platform - Intro
Open Banking Platform - IntroOpen Banking Platform - Intro
Open Banking Platform - IntroSensedia
 
O caml2014 leroy-slides
O caml2014 leroy-slidesO caml2014 leroy-slides
O caml2014 leroy-slidesOCaml
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Patrick McDonnell
 

Destacado (17)

ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFSALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuida
 
Case Simpress
Case SimpressCase Simpress
Case Simpress
 
Case Cnova-en
Case Cnova-enCase Cnova-en
Case Cnova-en
 
Case Cnova Page
Case Cnova PageCase Cnova Page
Case Cnova Page
 
Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?
 
2o workshop governanca soa na pratica
2o workshop governanca soa na pratica2o workshop governanca soa na pratica
2o workshop governanca soa na pratica
 
Arquitetura para entrega continua
Arquitetura para entrega continuaArquitetura para entrega continua
Arquitetura para entrega continua
 
Webinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOAWebinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOA
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Caso de Estudo CNova
Caso de Estudo CNovaCaso de Estudo CNova
Caso de Estudo CNova
 
Case Sensedia Cielo
Case Sensedia CieloCase Sensedia Cielo
Case Sensedia Cielo
 
Construção de APIs para apps móveis
Construção de APIs para apps móveisConstrução de APIs para apps móveis
Construção de APIs para apps móveis
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Open Banking Platform - Intro
Open Banking Platform - IntroOpen Banking Platform - Intro
Open Banking Platform - Intro
 
O caml2014 leroy-slides
O caml2014 leroy-slidesO caml2014 leroy-slides
O caml2014 leroy-slides
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 

Similar a Implementando Entrega Contínua - Marco Valtas

Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoMétodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoClaudia Hofart Guzzo
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareThiago Reis da Silva
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelAlan Braz
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
[Uff]qualidade agilidade
[Uff]qualidade agilidade[Uff]qualidade agilidade
[Uff]qualidade agilidadeSti Uff
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMLucas Vinícius
 
Aula05 - Metodologias Ágeis
Aula05 - Metodologias ÁgeisAula05 - Metodologias Ágeis
Aula05 - Metodologias ÁgeisDaniela Brauner
 

Similar a Implementando Entrega Contínua - Marco Valtas (20)

Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do ConhecimentoMétodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
Métodos Ágeis de Gestão de Projetos aplicados à Gestão do Conhecimento
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiável
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Metodologias de desenvolvimento
Metodologias de desenvolvimentoMetodologias de desenvolvimento
Metodologias de desenvolvimento
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
[Uff]qualidade agilidade
[Uff]qualidade agilidade[Uff]qualidade agilidade
[Uff]qualidade agilidade
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUM
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Startups e DevOps
Startups e DevOpsStartups e DevOps
Startups e DevOps
 
Aula05 - Metodologias Ágeis
Aula05 - Metodologias ÁgeisAula05 - Metodologias Ágeis
Aula05 - Metodologias Ágeis
 

Más de Thoughtworks

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a ProductThoughtworks
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & DogsThoughtworks
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovationThoughtworks
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teamsThoughtworks
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of InnovationThoughtworks
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer ExperienceThoughtworks
 
When we design together
When we design togetherWhen we design together
When we design togetherThoughtworks
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)Thoughtworks
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloudThoughtworks
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of InnovationThoughtworks
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go liveThoughtworks
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the RubiconThoughtworks
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!Thoughtworks
 
Docker container security
Docker container securityDocker container security
Docker container securityThoughtworks
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unitThoughtworks
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to TuringThoughtworks
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked outThoughtworks
 

Más de Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Implementando Entrega Contínua - Marco Valtas

  • 1. Dezembro 2013 Seminário Online: Implementando Entrega Contínua Marco Valtas mvaltas@thoughtworks.com twitter: @mavcunha
  • 2. © 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
  • 3. © 2013 !3 Instalação de Entrega Contínua - CD
  • 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
  • 8. © 2013 !8 Defina suas métricas YouTube
  • 10. © 2013 !10 Introdução de mudanças Tempo Mudanças
  • 11. © 2013 !11 Time Changes Changes to production } long time } lots of change Mudanças pelo tempo
  • 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?
  • 15. © 2013 !15 DevOps Devs e Ops DevOps
  • 16. © 2013 !16 Aquecedores e Congeladores versus
  • 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
  • 21. © 2013 !21 Sempre pronto para produção
  • 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.
  • 23. © 2013 !23 O impacto da arquitetura
  • 24. © 2013 !24 Flexibilizando a arquitetura Estratégias • micro-serviços • feature toggles • branch by abstraction Considere o que pode ser implantado separadamente.
  • 26. © 2013 !26 Força G - O que muda?
  • 27. © 2013 !27 Tempo e Processo Mais rápido tempo para implantação implantações processos
  • 28. © 2013 !28 Emergências - O que muda? • Todos os processos são os mesmos? • Quais são maleáveis?
  • 29. © 2013 !29 Estamos fazendo Entrega Contínua Hoje tem implantação em produção.
  • 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