2. 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.
2 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
3. Continuous Delivery – Nível 100
Definição da plataforma de ALM
Estruturação dos fontes no repositório
3 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Gestão de Fontes / SCM
4. Continuous Delivery – Nível 100
Extreme Go Horse
EGH
4 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Metodologia
5. Continuous Delivery – Nível 100
Geração manual de builds ( F5 )
Deployment manual
5 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Build Deploy Operate
6. Continuous Delivery – Nível 100
La Garantia Soy Yo
6 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Qualidade
7. Continuous Delivery – Nível 200
Definidação da estratégia de branch
Release Branch
Definição de políticas de checkin
Code Analysis, Code Metrics, Rastreabilidade, Comentários
7 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Gestão de Fontes / SCM
8. Continuous Delivery – Nível 200
Processo Ágil
SCRUM
8 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Metodologia
9. Continuous Delivery – Nível 200
Automação de Build
Build noturno
9 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Build Deploy Operate
10. Continuous Delivery – Nível 200
Descoberta das métricas de qualidade
Ní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ários
Definição da 1ª meta do nível de cobertura de testes
Criação de planos e casos de testes funcionais
Cobertura dos principais cenários de negócio
10 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Qualidade
11. Continuous Delivery – Nível 300
Continuous Integration
Todo mundo “comitando” na baseline todo dia
11 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Gestão de Fontes / SCM
12. Continuous Delivery – Nível 300
Processo ágil fluido
Sistemas Complexos Adaptativos
Múltiplas causas por efeito, efeitos opostos, atraso entre causa e efeito
Mais pensamento estatístico / probabilístico, menos pensamento determinístico
12 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Metodologia
13. Continuous Delivery – Nível 300
Continuous Integration
Gatilho da automação de build
13 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Build Deploy Operate
14. Continuous Delivery – Nível 300
Avaliação contínua das métricas de qualidade
Maintainability Index, nível de cobertura de testes automatizados
Automação dos casos de testes
Testes de interface automatizados
14 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Qualidade
15. Continuous Delivery – Nível 400
Gestão madura dos fontes
15 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Gestão de Fontes / SCM
16. Continuous Delivery – Nível 400
Kanban
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)
Management 3.0
energize, empower, align constraints, develop competences, grow, improve
16 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Metodologia
17. Continuous Delivery – Nível 400
Continuous Deployment
Distribuição automatizada para ambientes de homologação através
da integração contínua
Build Test Deploy
Gerenciamento automático dos ambientes de teste
One-click Deploy
para ambiente de produção
17 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Build Deploy Operate
18. Continuous Delivery – Nível 400
Continuous Feedback
TDD, Pair Programming, Code Review, User Feedback
Análise de Impacto
18 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Qualidade
19. Continuous Delivery – Nível 500
Políticas de branch definidas
Estratégia de branch: No Branch
Feature Flags
Off, on, staff, user-list
Users ramp-up
0-100%, A/B Test
19 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Gestão de Fontes / SCM
20. Continuous Delivery – Nível 500
ShuHaRi
Desapego
Continuous Improvment
Build-Meassure-Learn, Kaizen
Felicidade
Happiness Index, Kudobox, Moving Motivators
20 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Metodologia
21. Continuous Delivery – Nível 500
Continuous Delivery
Distribuição automatizada para ambiente de produção através da
integração contínua (canary release)
DevOps
Monitoramento de aplicações críticas em produção
Information Radiators
Dashboards e alertas
21 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Build Deploy Operate
22. Continuous Delivery – Nível 500
Definition of Ready + Definition of Done
Quality Enablement
Só comitta com teste unitário, funcional, regressão, code review,
definition of done, acceptance criteria
Eventual teste de carga
22 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – Agile Trends 2013
Qualidade
23. “We don’t optimize for being right. We optimize for
quickly detecting when we’re wrong.”
Kellan Elliott-McCrea, CTO Etsy.com
24. Se você fosse desafiado a aumentar a velocidade de entrega de um time, o que você faria?
www.especificacoes.com