Continuous Delivery
Do zero à entrega contínua de software de valor
2 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
Márcio Sete
Diretor de negócios e alianças na especificacoes.com, empresa
focada na entrega contínua de valor, responsável pelos principais
projetos de ALM do Brasil.
marcio.sete@especificacoes.com
@marciosete
Foi reconhecido Microsoft MVP, na competência Visual Studio ALM
em 2010, 2011 e 2012.
Scrum Developer Trainer pela Scrum.org 2010/2011, agora pela
ScrumAlliance 2012/2013.
Se dedica à melhoria da indústria de software no
Brasil, disseminando práticas ágeis e processos maduros de
ALM, focados na entrega contínua de software de valor.
3 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
Somos consultores
Profissionais com vivência em propor e realizar transformações nos processos de
ALM, códigos gerados pelos times e na cultura de desenvolvimento de organizações
preocupadas em implantar uma cultura ágil que habilite seus times entregarem
continuamente software de alto valor.
Somos Times ágeis
Equipes que produzem software em colaboração com nossos clientes, aplicando
tecnologias e práticas modernas de desenvolvimento de software, melhorando a
experiência de uso e aumentando o retorno ao negócio.
O que somos
4 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
Principais clientes atendidos
5 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
FONTES
• Códigos fonte estruturados no repositório e
versionados
METODOLOGIA
• Extreme Go Horse
• Caos
AUTOMAÇÃO
• Geração manual de builds ( F5 )
• Deployment manual – Evento especial e altamente
orquestrado
QUALIDADE
• La Garantia Soy Yo
Continuous Delivery – Nível 100
6 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
FONTES
• Códigos fonte estruturados no repositório e
versionados
• Definição de politicas de checkin
• Políticas de branch definidas
• Rastreabilidade com outros artefatos
• Compliance com padrão de codificação
METODOLOGIA
• Processo Prescritivo
• Processo Ágil
AUTOMAÇÃO
• Geração manual de builds ( F5 )
• Automação de Build com integração contínua
• Deployment manual – Evento especial e altamente
orquestrado
QUALIDADE
• Descoberta das métricas de qualidade
• Início da escrita de testes unitários
• Definição do nível de cobertura de testes
• Criação dos planos e casos de testes funcionais
Continuous Delivery – Nível 200
7 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
FONTES
• Gestão madura dos fontes
• Padrões de Arquitetura
METODOLOGIA
• Processo Prescritivo
• Sistema Complexo
• Processo ágil fluido
• Mais pensamento estatístico /
probabilístico, menos pensamento determinístico
AUTOMAÇÃO
• Automação de build com integração contínua
• Distribuição automatizada para ambientes de
homologação através da integração contínua
• One Click Deploy para ambiente de produção
QUALIDADE
• Avaliação contínua das métricas de qualidade
• Acompanhamento contínuo do nível de cobertura
de testes
• Planos e casos de testes extensivos e automatizados
Continuous Delivery – Nível 300
8 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
FONTES
• Gestão madura dos fontes
• Padrões de Arquitetura
• Arquitetura Emergente
METODOLOGIA
• Processo ágil fluido
• Modelo com relações de causas e efeito
• Mais gestão de Throughput e Leadtime menos
gestão de ocupação
• Utilização de conceitos como liquidez, gargalo,
sistema puxado, classes de serviços, depreciação,
custo de atraso, LRM (last responsible moment),
MTTR (main time to repair)
AUTOMAÇÃO
• Distribuição automatizada para ambientes de
homologação através da integração contínua
• One Click Deploy para ambiente de produção
• Monitoramento de aplicações críticas em produção
• Gerenciamento automático dos ambientes de teste
QUALIDADE
• Desenvolvimento orientado a testes
• Análise de Impacto
• Code Review
• Continuous Feedback
Continuous Delivery – Nível 400
9 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
FONTES
• Gestão madura dos fontes
• Arquitetura Emergente
• Políticas de branch definidas
• Estratégia de branch: No branch
• Commit to trunk
• Feature Flags
• Users ramp-up
• Off, on, staff, user-list, 0-100%
METODOLOGIA
• ShuHaRi
• Desapego
• Hapiness KPI e Kaizen
AUTOMAÇÃO
• Monitoramento de aplicações críticas em produção
• Gerenciamento automático dos ambientes de teste
• Distribuição automatizada para ambiente de
produção através da integração contínua
• Dashboards e alertas
QUALIDADE
• Requisitos possuem “Definition of Ready”
• Só comitta com teste
unitário, funcional, regressão, code review, definition
of done, acceptance criteria
• Eventual teste de stress
FILOSOFIA
• Mais autonomia, maestria e propósito, menos
recompensas e punição
Continuous Delivery – Nível 500
10 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
Caso Etsy.com
Tks to Mike Brittain
@mikebrittain
mike@etsy.com
Mudanças pequenas e frequentes
constantemente integradas em produção
mais de 30 deployments por dia
Caramba... 30 deployments por dia???
Como você constrói funcionalidades tão rápido?
Software Deploy ≠Product Launch
Distribua continuamente
seguro pelas flags de configuração
(“dark” releases)
15 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
16 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
17 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
18 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
19 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
20 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
“We don’t optimize for being right. We optimize
for quickly detecting when we’re wrong.”
Kellan Elliott-McCrea, CTO Etsy.com
DRIVE EXPERIENCE
#DRIVE4FUN
www.especificacoes.com

Continuous Delivery - ALM Summit Brasil 2013

  • 1.
    Continuous Delivery Do zeroà entrega contínua de software de valor
  • 2.
    2 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 Márcio Sete Diretor de negócios e alianças na especificacoes.com, empresa focada na entrega contínua de valor, responsável pelos principais projetos de ALM do Brasil. marcio.sete@especificacoes.com @marciosete Foi reconhecido Microsoft MVP, na competência Visual Studio ALM em 2010, 2011 e 2012. Scrum Developer Trainer pela Scrum.org 2010/2011, agora pela ScrumAlliance 2012/2013. Se dedica à melhoria da indústria de software no Brasil, disseminando práticas ágeis e processos maduros de ALM, focados na entrega contínua de software de valor.
  • 3.
    3 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 Somos consultores Profissionais com vivência em propor e realizar transformações nos processos de ALM, códigos gerados pelos times e na cultura de desenvolvimento de organizações preocupadas em implantar uma cultura ágil que habilite seus times entregarem continuamente software de alto valor. Somos Times ágeis Equipes que produzem software em colaboração com nossos clientes, aplicando tecnologias e práticas modernas de desenvolvimento de software, melhorando a experiência de uso e aumentando o retorno ao negócio. O que somos
  • 4.
    4 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 Principais clientes atendidos
  • 5.
    5 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 FONTES • Códigos fonte estruturados no repositório e versionados METODOLOGIA • Extreme Go Horse • Caos AUTOMAÇÃO • Geração manual de builds ( F5 ) • Deployment manual – Evento especial e altamente orquestrado QUALIDADE • La Garantia Soy Yo Continuous Delivery – Nível 100
  • 6.
    6 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 FONTES • Códigos fonte estruturados no repositório e versionados • Definição de politicas de checkin • Políticas de branch definidas • Rastreabilidade com outros artefatos • Compliance com padrão de codificação METODOLOGIA • Processo Prescritivo • Processo Ágil AUTOMAÇÃO • Geração manual de builds ( F5 ) • Automação de Build com integração contínua • Deployment manual – Evento especial e altamente orquestrado QUALIDADE • Descoberta das métricas de qualidade • Início da escrita de testes unitários • Definição do nível de cobertura de testes • Criação dos planos e casos de testes funcionais Continuous Delivery – Nível 200
  • 7.
    7 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 FONTES • Gestão madura dos fontes • Padrões de Arquitetura METODOLOGIA • Processo Prescritivo • Sistema Complexo • Processo ágil fluido • Mais pensamento estatístico / probabilístico, menos pensamento determinístico AUTOMAÇÃO • Automação de build com integração contínua • Distribuição automatizada para ambientes de homologação através da integração contínua • One Click Deploy para ambiente de produção QUALIDADE • Avaliação contínua das métricas de qualidade • Acompanhamento contínuo do nível de cobertura de testes • Planos e casos de testes extensivos e automatizados Continuous Delivery – Nível 300
  • 8.
    8 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 FONTES • Gestão madura dos fontes • Padrões de Arquitetura • Arquitetura Emergente METODOLOGIA • Processo ágil fluido • Modelo com relações de causas e efeito • Mais gestão de Throughput e Leadtime menos gestão de ocupação • Utilização de conceitos como liquidez, gargalo, sistema puxado, classes de serviços, depreciação, custo de atraso, LRM (last responsible moment), MTTR (main time to repair) AUTOMAÇÃO • Distribuição automatizada para ambientes de homologação através da integração contínua • One Click Deploy para ambiente de produção • Monitoramento de aplicações críticas em produção • Gerenciamento automático dos ambientes de teste QUALIDADE • Desenvolvimento orientado a testes • Análise de Impacto • Code Review • Continuous Feedback Continuous Delivery – Nível 400
  • 9.
    9 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 FONTES • Gestão madura dos fontes • Arquitetura Emergente • Políticas de branch definidas • Estratégia de branch: No branch • Commit to trunk • Feature Flags • Users ramp-up • Off, on, staff, user-list, 0-100% METODOLOGIA • ShuHaRi • Desapego • Hapiness KPI e Kaizen AUTOMAÇÃO • Monitoramento de aplicações críticas em produção • Gerenciamento automático dos ambientes de teste • Distribuição automatizada para ambiente de produção através da integração contínua • Dashboards e alertas QUALIDADE • Requisitos possuem “Definition of Ready” • Só comitta com teste unitário, funcional, regressão, code review, definition of done, acceptance criteria • Eventual teste de stress FILOSOFIA • Mais autonomia, maestria e propósito, menos recompensas e punição Continuous Delivery – Nível 500
  • 10.
    10 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013 Caso Etsy.com Tks to Mike Brittain @mikebrittain mike@etsy.com
  • 11.
    Mudanças pequenas efrequentes constantemente integradas em produção mais de 30 deployments por dia
  • 12.
    Caramba... 30 deploymentspor dia??? Como você constrói funcionalidades tão rápido?
  • 13.
  • 14.
    Distribua continuamente seguro pelasflags de configuração (“dark” releases)
  • 15.
    15 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 16.
    16 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 17.
    17 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 18.
    18 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 19.
    19 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 20.
    20 | ContinuousDelivery – do zero à entrega contínua de software de valor – Márcio Sete – ALM Summit Brasil 2013
  • 21.
    “We don’t optimizefor being right. We optimize for quickly detecting when we’re wrong.” Kellan Elliott-McCrea, CTO Etsy.com
  • 22.
  • 26.

Notas do Editor

  • #8 Ciclo vicioso: quanto mais você era a estimativa, mais preciso vou pedir que você seja
  • #9 knowledge workingNão colocar em produção abaixa a moral do time. Pra que vou correr pra entregar? Depois isso vai ficar parado mesmoTirar gargalos. Se você faz isso, você tem mais valor pelo mesmo tanto de dinheiroCriação de um modelo de relação causal – Causas e efeitos. Se mais isso, então menos aquilo. Se mais aquilo, menos isso.Em sistemas complexos, o efeito de qualquer coisa só é conhecido no final