Continuous delivery - Agile Trends 2013

24
Continuous Delivery Do zero à entrega contínua de software de valor

description

Palestra sobre Continuous Delivery apresentada no evento Agile Trends 2013 em São Paulo.

Transcript of Continuous delivery - Agile Trends 2013

Page 1: Continuous delivery - Agile Trends 2013

Continuous DeliveryDo zero à entrega contínua de software de valor

Page 2: Continuous delivery - Agile Trends 2013

2 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Vou contar a história de um time.

Um time normal, de pessoas normais, sem super-heróis!

Um time que só estava afim de fazer algo diferente.

Vou contar o percurso que este time percorreu para sair

do zero até alcançar o estado de entrega contínua de

software de valor.

Vou contar para vocês a história do time SPEED.

Page 3: Continuous delivery - Agile Trends 2013

3 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Definição da plataforma de ALM

Estruturação dos fontes no repositório

Continuous Delivery – Nível 100

Gestão de Fontes / SCM

Page 4: Continuous delivery - Agile Trends 2013

4 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Extreme Go HorseEGH

Continuous Delivery – Nível 100

Metodologia

Page 5: Continuous delivery - Agile Trends 2013

5 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous Delivery – Nível 100

Geração manual de builds ( F5 )

Deployment manual

Build Deploy Operate

Page 6: Continuous delivery - Agile Trends 2013

6 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

La Garantia Soy Yo

Continuous Delivery – Nível 100

Qualidade

Page 7: Continuous delivery - Agile Trends 2013

7 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Definidação da estratégia de branchRelease Branch

Definição de políticas de checkinCode Analysis, Code Metrics, Rastreabilidade, Comentários

Continuous Delivery – Nível 200

Gestão de Fontes / SCM

Page 8: Continuous delivery - Agile Trends 2013

8 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Processo ÁgilSCRUM

Continuous Delivery – Nível 200

Metodologia

Page 9: Continuous delivery - Agile Trends 2013

9 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Automação de BuildBuild noturno

Continuous Delivery – Nível 200

Build Deploy Operate

Page 10: Continuous delivery - Agile Trends 2013

10 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Descoberta das métricas de qualidadeNível de cobertura por testes automatizados, análise estática de código, complexidade

ciclomática, profundidade de herança, acoplamento de classes, linhas de código

Início da escrita de testes unitáriosDefinição da 1ª meta do nível de cobertura de testes

Criação de planos e casos de testes funcionaisCobertura dos principais cenários de negócio

Continuous Delivery – Nível 200

Qualidade

Page 11: Continuous delivery - Agile Trends 2013

11 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous IntegrationTodo mundo “comitando” na baseline todo dia

Continuous Delivery – Nível 300

Gestão de Fontes / SCM

Page 12: Continuous delivery - Agile Trends 2013

12 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Processo ágil fluido

Sistemas Complexos AdaptativosMúltiplas causas por efeito, efeitos opostos, atraso entre causa e efeito Mais pensamento estatístico / probabilístico, menos pensamento determinístico

Continuous Delivery – Nível 300

Metodologia

Page 13: Continuous delivery - Agile Trends 2013

13 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous IntegrationGatilho da automação de build

Continuous Delivery – Nível 300

Build Deploy Operate

Page 14: Continuous delivery - Agile Trends 2013

14 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Avaliação contínua das métricas de qualidadeMaintainability Index, nível de cobertura de testes automatizados

Automação dos casos de testesTestes de interface automatizados

Continuous Delivery – Nível 300

Qualidade

Page 15: Continuous delivery - Agile Trends 2013

15 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Gestão madura dos fontes

Continuous Delivery – Nível 400

Gestão de Fontes / SCM

Page 16: Continuous delivery - Agile Trends 2013

16 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

KanbanMais 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)

Management 3.0energize, empower, align constraints, develop competences, grow, improve

Continuous Delivery – Nível 400

Metodologia

Page 17: Continuous delivery - Agile Trends 2013

17 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous DeploymentDistribuição automatizada para ambientes de homologação através

da integração contínua

Build Test DeployGerenciamento automático dos ambientes de teste

One-click Deploypara ambiente de produção

Continuous Delivery – Nível 400

Build Deploy Operate

Page 18: Continuous delivery - Agile Trends 2013

18 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous FeedbackTDD, Pair Programming, Code Review, User Feedback

Análise de Impacto

Continuous Delivery – Nível 400

Qualidade

Page 19: Continuous delivery - Agile Trends 2013

19 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Políticas de branch definidas

Estratégia de branch: No Branch

Feature FlagsOff, on, staff, user-list

Users ramp-up0-100%, A/B Test

Continuous Delivery – Nível 500

Gestão de Fontes / SCM

Page 20: Continuous delivery - Agile Trends 2013

20 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

ShuHaRiDesapego

Continuous ImprovmentBuild-Meassure-Learn, Kaizen

FelicidadeHappiness Index, Kudobox, Moving Motivators

Continuous Delivery – Nível 500

Metodologia

Page 21: Continuous delivery - Agile Trends 2013

21 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Continuous DeliveryDistribuição automatizada para ambiente de produção através da

integração contínua (canary release)

DevOpsMonitoramento de aplicações críticas em produção

Information RadiatorsDashboards e alertas

Continuous Delivery – Nível 500

Build Deploy Operate

Page 22: Continuous delivery - Agile Trends 2013

22 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013

Definition of Ready + Definition of Done

Quality EnablementSó comitta com teste unitário, funcional, regressão, code review,

definition of done, acceptance criteria

Eventual teste de carga

Continuous Delivery – Nível 500

Qualidade

Page 23: Continuous delivery - Agile Trends 2013

“We don’t optimize for being right. We optimize for

quickly detecting when we’re wrong.”

Kellan Elliott-McCrea, CTO Etsy.com

Page 24: Continuous delivery - Agile Trends 2013

www.especificacoes.com

Se você fosse desafiado a aumentar a velocidade de entrega de um time, o que você faria?