Deploy Frequency For the primary application or service you work on, how often does your organization deploy code to production or release it to end users? https://pixabay.com/photos/moto-motorcycling-sport-motorcycles-3406328/
Lead time for changes For the primary application or service you work on, what is your lead time for changes (in production) https://pixabay.com/photos/motocycle-racing-race-track-moto-2101565/
Time to restore service For the primary application or service you work on, how long does it generally take to restore service when a service incident or a defect that impacts users occurs (unplanned outage) https://pixabay.com/photos/running-marathon-people-sports-6660186/
Change failure rate For the primary application or service you work on, what percentage of changes to production or released to users result in degraded service and subsequently require remediation? https://pixabay.com/photos/marathon-competition-sports-running-7111384/
DORA Metrics - Exemplo 1 Normal Incidente 1 Deploy Frequency 3 dias 3/dia Lead Time for Changes 2 dias 90 minutos Time to Restore Service 12 horas 1,5 dia Change Failure Rate 60% 83%
DORA Metrics - Exemplo 2 Backend Release Train Deploy Frequency 1,2/dia 1/semana Lead Time for Changes 78 minutos 8 horas Time to Restore Service 122 minutos 52 minutos Change Failure Rate 19% 12%
O que não são as 4 Keys Metrics Não são um objetivo em si Não são as únicas métricas a serem utilizadas Só implementar Kubernetes Só implementar Jenkins como CI/CD
Os desafios para obter as 4 key metrics Visibilidade do Value Stream das equipes e/ou da organização Padrão mínimo Ciclo de Desenvolvimento de Software (Systems Development Life Cycle) Padrão mínimo de Infraestrutura (Ops)
Os desafios para obter as 4 keys metrics Padrão mínimo de arquitetura de software ou componentes* Não há incentivo pela liderança de tecnologia em olhar indicadores e métricas de engenharia de software Baixa autonomia para coletar as dados para 4 Keys Metrics
AI Company - Contexto 100% dos deploys falhavam 90 horas MTTR Deploy a cada 15 dias 102 dias para o primeiro release para um cliente Alto acoplamento entre os serviços Sobrecarga de trabalho em parte da equipe
AI Company Critérios de aceitação para cada tarefa Testes automatizado para nova funcionalidade Implementação de CI/CD automatizado Roadmap de desenvolvimento dos componentes da plataforma “Framework” Migrations Implementação de observabilidade (Distributed Tracing)
AI Company Arquitetura de software baseada em Domain-Driven Design Trunk-Based Development Gerenciamento visual (Kanban) Redistribuição da carga de trabalho para toda equipe Postmortem Premissas ○ Tornar o onboading mais rápido de novos clientes ○ Diminuir o Lead Time de novas funcionalidades ○ Visibilidade de custos por cliente
AI Company - Resultado Crescimento de 500% 30 dias para um protótipo funcional 60 dias para o primeiro release para um cliente MTTR == 90 minutos Lead Time for Changes => Ondemand Deploy Frequency => + 1 por dia 25 milhões de reais na rodada de investimento De 11 para 41 itens do backlog em 30 dias com 80% de certeza
EdTech - Contexto Desenvolver uma plataforma de acompanhamento educacional Contratar uma equipe Definir a stack tecnológica Indicadores de performance Criar uma cultura de engenharia e produto do zero
EdTech Contratar uma equipe para desenvolver a plataforma Gerenciamento visual Arquitetura e stack “viável” baseado no conhecimento da equipe ○ Containers, Django, PostgreSQL, Nextjs, IaC ○ CI/CD ○ Testes unitários, testes de sistema Dojos para aumentar a cobertura de testes Trunk-Based Development
EdTech Framework e Migrations Limitação do WIP Small Batches Identificação do “trabalho estocado” Delimitação das restrições Autonomia (atos de liderança) Cadência de release a cada 15 dias
EdTech - Resultado Desenvolvimento plataforma de cadastro para + 1 milhão de usuários em 15 dias Identificado o trabalho em estoque (bloqueado) com um total de +500 dias Implementação da plataforma base de gestão e acompanhamento de performance dos estudantes
Muito tempo em trabalho operacional Falta de padronização de stack, processos, CI/CD, etc. Silos de equipes e serviços (Conway's law) Ciclos perpétuo de formas de trabalho, tecnologia e buzzwords Instituição "Regulada" - contexto
Instituição "Regulada" Reestruturação das equipes (Inverse Conway Manoeuvre) Identificação dos principais gargalos Formação de equipes de plataforma Documentação Fornecer serviços Self-service Obter métricas de Engenharia Obter métricas de uso da Plataforma
Instituição "Regulada" - Resultados Templates de Frameworks, libs e projetos Internal Developer Platform (CLI, Portais…) Implementação de guard-rails padronizados Desenvolvimento de uma Plataforma de CI/CD Padronização da observabilidade Automação (shift-left) dos processos de conformidade
Técnicas, recursos e capacidades Loosely coupled architecture Trunk-based development Continuous testing Continuous integration Use of open source technologies Monitoring and observability practices
Onde a organização está? Consegue coletar as 4 keys metrics facilmente? Consegue utilizá-las com outros indicadores? ○ Cycle Time ○ Blocked Time ○ Work Item Age ○ Percentual de trabalho não planejado ○ Bugs/Defeitos que geram incidentes em produção Qual a dívida técnica principal da organização? Tem mapeado os processos atuais?
Para onde vai? Direcionamento claro do "Futuro" Liderança está patrocinando o direcionamento para o futuro? Conceitos e fundamentos como fundação das ferramentas, serviços e plataformas adotadas ou em desenvolvimento
Está na direção certa? (A cada ciclo há) revisão dos processos, automações, e funcionalidade As hipóteses e decisões são baseadas em dados? A organização entende (evolução) que hoje está melhor que ontem?
Conway Law é “…organizações que projetam sistemas (no sentido amplo usados aqui) restringem o desenvolvimento dos projetos como cópias da estrutura de comunicação dessas organizações”
Referências DORA Research Program DevOps State Report 2021 Accelerate: The Science of Lean Software and DevOps Continuous Delivery Kanban DevOps Capabilities Conway Law The Goal PixBay