O documento discute os níveis de maturidade para a entrega contínua de software, desde o nível 100 com pouca automação e qualidade até o nível 400 com gestão madura dos códigos-fonte, distribuição automatizada para produção e foco em qualidade. Também apresenta o caso da empresa Etsy que realiza mais de 30 deployments por dia usando flags de configuração.
2. 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.
Se dedica à melhoria da industria de software no Brasil,
disseminando práticas ágeis e processos maduros de
ALM, focados na entrega contínua de software de valor.
Foi reconhecido Microsoft MVP, na competência Visual
Studio ALM em 2010, 2011 e 2012.
Scrum Developer Trainer pela Scrum.org 2010/2011,
marcio.sete@especificacoes.com agora pela ScrumAlliance 2012/2013.
@marciosete
2 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
3. Principais clientes
3 | Continuous Deployment – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
4. Continuous Delivery – Nível 100
FONTES AUTOMAÇÃO
• Fontes estruturados no repositório • Geração manual de builds
• Políticas de branch definidas
• Versionamento de código
METODOLOGIA QUALIDADE
• Caos • La Garantia soy yo
4 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
5. Continuous Delivery – Nível 200
FONTES AUTOMAÇÃO
• Fontes estruturados no repositório • Geração manual de builds
• Políticas de branch definidas • Automação de Build com integração contínua
• Versionamento de código
• Definição de politicas de Checkin
• Rastreabilidade com outros artefatos
• Compliance com padrão de codificação
• Padrões de Arquitetura QUALIDADE
• Avaliação das métricas de qualidade
• Início da escrita de testes unitários
METODOLOGIA • Definição do nível de cobertura de testes
• Processo Prescritivo • Criação dos planos e casos de testes
• Processo Ágil
5 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
6. Continuous Delivery – Nível 300
FONTES AUTOMAÇÃO
• Gestão madura dos fontes • Distribuição automatizada para ambientes de
• Padrões de Arquitetura homologação e pré-produção através da integração
• Arquitetura Emergente contínua
• Distribuição automatizada para ambiente de
METODOLOGIA produção através de gatilho manual
• Processo Prescritivo
• Processo ágil fluido QUALIDADE
• Alta maturidade em estimativa e planejamento ágil, • Acompanhamento contínuo da cobertura de testes
com priorização baseada em ROI • Avaliação contínua das métricas de qualidade
• Gerenciamento de Work in Process • Desenvolvimento orientado a testes
• Utilização de conceitos como custo do atraso, LRM • Planos e casos de testes extensivos e automatizados
(last responsible moment), MTTR (main time to • Code Review
repair), ATDD
• Análise de Impacto
• Continuous Feedback
6 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
7. Continuous Delivery – Nível 400
FONTES AUTOMAÇÃO
• Gestão madura dos fontes • Distribuição automatizada para ambiente de
• Arquitetura Emergente produção através da integração contínua
• Políticas de branch definidas • Monitoramento de aplicações críticas em produção
• Estratégia de branch: No branch ou branch por • Gerenciamento automático dos ambientes de teste
abstração • Dashboards e altertas
• Commit to trunk
• Config Flags, conhecido como Feature Flags QUALIDADE
• Users ramp-up • Só comitta com teste unitário, funcional, regreção,
• Off, on, staff, user-list, 0-100% code review, definition of done, acceptance criteria
• Eventual teste de stress
METODOLOGIA
• Desapego
• ShuHaRi
7 | Continuous Delivery – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
8. Caso Etsy.com
8 | Continuous Deployment – do zero à entrega contínua de software de valor – Márcio Sete – 3o Agile Talk BH
9. Mudanças pequenas e frequentes
Constantemente integradas em produção
Mais de 30 deployments por dia