Upload
felipe-rezende
View
214
Download
0
Embed Size (px)
DESCRIPTION
Palestra de Continuous Delivery ministrada por mim no evento DevCamp 2014.
Citation preview
Continuous DeliveryDo zero à entrega contínua de software de valor
2 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Sócio da especificacoes.com - Consultoria de ALM - e Sócio-Diretor de
Negócios na esx - empresa focada na entrega contínua de software de valor
através de desenvolvimento de software ágil.
Teve uma carreira em TI passando pelas áreas de desenvolvimento, testes,
requisitos, operação, consultoria de TI e negócio e consultoria em ALM.
Atuou em diversos projetos de clientes de grande porte e complexidade.
Engenheiro de Software formado pela Universidade Federal de Uberlândia, é
MCP (Microsoft Certified Professional) e certificado Scrum Master pela
Scrum.org.
Felipe Rezende – Sócio da esx
@felipersb
3 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
4 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
MAINFRAME
5 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
CLIENT/SERVER
6 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
WEB
7 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
WEB 2.0 ...
8 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
EVOLUÇÃO DAS APLICAÇÕES
WEB 2.0 ...
9 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
DINAMISMO DOS NEGÓCIOS
10 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous Delivery - Business
Continuous Deployment - TI
Continuous Integration - Dev
CONTINUOUS DELIVERY
11 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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.
12 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Definição da plataforma de ALM
Estruturação dos fontes no repositório
Continuous Delivery – Nível 100
Gestão de Fontes / SCM
13 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Extreme Go HorseEGH
Continuous Delivery – Nível 100
Metodologia
14 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous Delivery – Nível 100
Geração manual de builds ( F5 )
Deployment manual
Build Deploy Operate
15 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
La Garantia Soy Yo
Continuous Delivery – Nível 100
Qualidade
16 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
17 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Processo ÁgilSCRUM
Continuous Delivery – Nível 200
Metodologia
18 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Automação de BuildBuild noturno
Continuous Delivery – Nível 200
Build Deploy Operate
19 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
20 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous IntegrationTodo mundo “comitando” na baseline todo dia
Continuous Delivery – Nível 300
Gestão de Fontes / SCM
21 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
22 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous IntegrationGatilho da automação de build
Continuous Delivery – Nível 300
Build Deploy Operate
23 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
24 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Gestão madura dos fontes
Continuous Delivery – Nível 400
Gestão de Fontes / SCM
25 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
26 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
27 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous FeedbackTDD, Pair Programming, Code Review, User Feedback
Análise de Impacto
Continuous Delivery – Nível 400
Qualidade
28 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
29 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
ShuHaRiDesapego
Continuous ImprovmentBuild-Meassure-Learn, Kaizen
FelicidadeHappiness Index, Kudobox, Moving Motivators
Continuous Delivery – Nível 500
Metodologia
30 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous DeliveryDistribuição automatizada para ambiente de produção através da
integração contínua
DevOpsMonitoramento de aplicações críticas em produção
Information RadiatorsDashboards e alertas
Continuous Delivery – Nível 500
Build Deploy Operate
31 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
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
32 | Continuous Delivery – do zero à entrega contínua de software de valor – Felipe Rezende – DevCamp 2014
Continuous Delivery – Nível 500
Qualidade
“We don’t optimize for being right. We optimize for
quickly detecting when we’re wrong.”
Kellan Elliott-McCrea, CTO Etsy.com
www.esx.com.br
Quer experimentar fazer desse jeito?