Impulsionar a excelência DevOps: Como tirar partido das métricas DORA para obter melhores resultados
6 min de leitura

Sobre o Nosso Modelo de Produto e Entrega

Visão Geral do Produto/Projeto

O Freya Fusion é uma plataforma avançada de tecnologia regulatória que tira partido de soluções de IA e Cloud-based para otimizar os processos de conformidade. As suas principais características incluem uma Cloud Regulatória com foco em IA para uma supervisão inteligente, componibilidade entre dados, conteúdos, submissões e interfaces de utilizador para maior flexibilidade, e processos regulatórios alinhados com planeamento transversal. A plataforma também disponibiliza soluções de automação integradas, um Grafo de Conhecimento para obter informações estruturadas e uma Interface de Utilizador Conversacional para melhorar a interação do utilizador. Concebido para garantir a eficiência, o Freya Fusion combina tecnologia de ponta com conhecimentos regulatórios para simplificar os fluxos de trabalho de conformidade complexos.

Ecossistema Atual de Processos e Entrega

Metodologia Ágil e Ferramentas

No Freya Fusion, aplicamos a metodologia Ágil integrada com práticas de DevSecOps para garantir segurança, conformidade e eficiência, desde o código até à implementação. No nosso enquadramento Ágil, as funcionalidades servem como os principais itens de trabalho de lançamento. Várias funcionalidades são agrupadas e validadas em conjunto para formar um candidato a lançamento (RC), garantindo uma entrega de valor incremental e controlada.

Azure DevOps (ADO) e Integrações de Plugins

Visão Geral do Pipeline CI/CD

Os pipelines de Integração Contínua e Entrega Contínua (CI/CD) automatizam o processo de entrega de software, desde o desenvolvimento até à produção, garantindo lançamentos mais rápidos, qualidade consistente e menos erros manuais.

Integração Contínua (CI) – A Fase de Compilação e Teste utilizada pela equipa de Sprint

  • Submissão de Código: Os programadores enviam alterações para um repositório partilhado (por exemplo, Azure Repos, GitHub).
  • Compilação Automática: O pipeline compila o código, resolve dependências e empacota artefactos.
  • Testes Automáticos: São executados testes unitários, de integração e análises de segurança (SAST/DAST) para detetar problemas numa fase inicial.
  • Armazenamento de Artefactos: As compilações validadas são armazenadas em repositórios

Entrega Contínua (CD) – A Fase de Lançamento utilizada pela equipa de implementação

  • Ambientes Faseados: O código progride através de DevSecOps → SQA → PreProd → Produção com pontos de aprovação.
  • Implementações Automáticas: A implementação ocorre através de pipelines de lançamento com o mínimo de interrupções
  • Verificações Pós-Implementação: Testes de fumo automáticos, monitorização de desempenho e mecanismos de reversão implementados e regidos por SOP.

Tipos de Lançamentos: Principal (Major), Secundário (Minor), Correção (Patch), Hotfix

Os lançamentos são categorizados em principal, secundário, correção ou hotfix, dependendo do objetivo e das funcionalidades disponibilizadas nessa versão.

  • Principal – Significa o lançamento inicial ou um lançamento em que as funcionalidades afetam a funcionalidade sem retrocompatibilidade
  • Menor – Significa o lançamento de novas funcionalidades com retrocompatibilidade e melhorias nas funcionalidades existentes.
  • Patch – Significa o lançamento de correções de erros agrupadas, atualizações de segurança e pequenas melhorias com retrocompatibilidade.
  • Hotfix – Significa um lançamento de emergência para resolver problemas críticos relatados em Produção na versão implementada.

Métricas Chave Que Importam

As Quatro Métricas DORA Explicadas:

De acordo com os padrões da indústria, existem 4 métricas principais que precisam de ser monitorizadas e otimizadas para organizações de sucesso.

  1. Tempo de Espera (a rapidez com que lançamos software em produção)
  2. Frequência de Implementação (a frequência com que lança novos softwares).
  3. Taxa de Falha de Alteração (a frequência com que as implementações falham).
  4. Tempo Médio de Recuperação (MTTR) (a rapidez com que corrige falhas).

O Tempo de Espera é uma das quatro principais métricas da investigação e avaliação DevOps (DORA). Mede o tempo que as alterações de código demoram desde a submissão até à implementação em produção, refletindo a eficiência do seu processo de entrega de software. Esta métrica indica a duração média entre o momento em que uma alteração de código é submetida e o momento em que é com sucesso implementada em produção.

O Tempo de Espera indica:

  • velocidade de entrega e eficiência do processo.
  • Tempos de espera mais curtos correlacionam-se com ciclos de feedback mais rápidos e maior agilidade.

A Frequência de Implementação monitoriza a frequência com que as alterações de código são implementadas com sucesso em produção. Reflete a velocidade e a consistência da sua entrega de software

A Frequência de Implementação indica:

  • Agilidade da equipa e maturidade do processo.
  • Implementações frequentes reduzem o risco ao permitir alterações mais pequenas e incrementais (em vez de lançamentos grandes e infrequentes).
  • Correlaciona-se com ciclos de feedback mais rápidos e maior satisfação do cliente.

O Tempo Médio de Recuperação (MTTR) mede o tempo médio necessário para restaurar o serviço após uma falha (por exemplo, interrupção, degradação do desempenho ou erro). Reflete a resiliência e a eficiência de resposta a incidentes da sua equipa.

O MTTR indica:

  • Minimiza o tempo de inatividade e o impacto nos utilizadores.
  • Um MTTR elevado indica depuração lenta, monitorização deficiente ou processos de reversão ineficientes.
  • Correlaciona-se com a confiança do cliente, os custos operacionais e o stress da equipa.

A Taxa de Falha de Alteração (CFR) mede a percentagem de implementações que causam falhas em produção, exigindo correção (por exemplo, reversões, hotfixes ou patches). Reflete a estabilidade e a fiabilidade do seu processo de lançamento.

O CFR indica:

  • Indica com que frequência as implementações introduzem defeitos (erros, falhas, problemas de desempenho).
  • Um CFR elevado sugere testes deficientes, monitorização inadequada ou práticas de lançamento arriscadas.
  • Correlaciona-se com o esgotamento da equipa, a confiança do cliente e os custos operacionais.
MétricaDefiniçãoFórmula
Tempo de ExecuçãoTempo médio para concluir uma funcionalidadeSoma do tempo de execução ÷ Número de funcionalidades
Frequência de ImplementaçãoCom que frequência o código é implementado em produção.Total de implementações ÷ Nº de meses
Taxa de Falha de Alterações (CFR)Percentagem de implementações que causam uma falha.Número de alterações com falha ÷ Número total de alterações × 100.
Tempo Médio de Recuperação (MTTR)Tempo médio para restabelecer o serviço após uma falha.Soma dos tempos de recuperação ÷ Número de falhas (problema operacional / erro / problema de dados)

Métricas de Suporte Adicionais:

  1. Trabalho em Curso (WIP): Mede o número de tarefas por concluir (por exemplo, alterações de código, funcionalidades, erros) atualmente no pipeline. Esta métrica ajuda a avaliar gargalos e a necessidade de dividir a funcionalidade, user story
  2. Tempo de Ciclo: Tempo decorrido desde o início do trabalho (por exemplo, criação do ticket) até à conclusão
  3. Número de Pull Requests: métrica que acompanha o número de PRs criados, unidos ou rejeitados num determinado período (por exemplo, diariamente, semanalmente ou mensamente). Ajuda as equipas a avaliar a produtividade dos programadores, a eficiência da colaboração e os gargalos no fluxo de trabalho.
  4. Incidentes de Clientes: Número de incidentes de produção relatados por clientes, indicando a qualidade dos testes internos
  5. Erros Abertos: Esta métrica acompanha o número de defeitos por resolver (erros) no seu sistema num determinado momento. Ajuda a medir a qualidade do software, a dívida técnica e a eficiência da equipa na resolução de problemas.
  6. Erros Abertos de Longa Duração: Os erros abertos de longa duração são defeitos que permanecem por resolver durante um período prolongado (tipicamente 30+ dias). O seu acompanhamento ajuda a identificar ineficiências de processos, lacunas de priorização e dívida técnica
  7. Erros diferidos: São defeitos que foram reconhecidos, mas deliberadamente adiados para resolução posterior. Embora o adiamento possa ser uma estratégia legítima, adiamentos excessivos podem indicar acumulação de dívida técnica, problemas de priorização ou ineficiências nos processos.
  8. Estado do Build de CI: Esta métrica monitoriza a estabilidade e a fiabilidade do seu pipeline de Integração Contínua (CI) ao acompanhar a taxa de sucesso/falha de compilações e testes automatizados. Um sistema de CI saudável é fundamental para um feedback rápido, lançamentos de alta qualidade e a produtividade dos programadores.
  9. Estado do Release de CD: Esta métrica monitoriza a estabilidade, a velocidade e a taxa de sucesso do seu deployment automatizado. Um sistema de CD saudável garante lançamentos fiáveis, frequentes e de baixo risco.
  10. Testes de Integração: Os testes de integração validam se módulos, serviços ou sistemas desenvolvidos de forma independente funcionam corretamente quando combinados. É uma fase essencial no DevOps para detetar problemas antes de chegarem à produção.
  11. Conjunto de Monitorização de Produção: Conjunto de ferramentas e práticas para acompanhar a saúde do sistema, detetar anomalias e resolver problemas em tempo real para aplicações em produção. É fundamental para as equipas de SRE, DevOps e Operações manterem o tempo de atividade, o desempenho e a satisfação do utilizador.

Porque é que as métricas importam numa organização de sucesso

O acompanhamento de métricas de DevOps e operacionais (como DORA, Lead Time, Frequência de Deployment, MTTR, CFR, Alertas de Monitorização, etc.) fornece dados acionáveis que impulsionam o sucesso empresarial, a excelência técnica e a vantagem competitiva.

  1. Acelerar a introdução no mercado
    • Métricas: Lead Time, Frequência de Deployment, Cycle Time
    • Impacto:
      • Lançamentos mais rápidos → Responder mais rapidamente às exigências do mercado.
      • Ciclos de feedback mais curtos → Inovar mais rapidamente do que os concorrentes.
  2. Melhorar a qualidade e a fiabilidade do software
    • Métricas: Taxa de falhas de alteração (CFR), tempo médio de recuperação (MTTR), erros abertos
    • Impacto:
      • Menor número de falhas de produção → Maior satisfação do cliente.
      • Resolução de incidentes mais rápida → Minimizar a perda de receitas
  3. Reduzir Custos e Desperdícios
    • Métricas: Estado de compilação da CI, falhas em testes de integração, testes instáveis
    • Impacto:
      • Deteção precoce de erros → Mais económico de corrigir em desenvolvimento do que em produção
      • Pipelines eficientes → Poupança em custos de nuvem/computação
  4. Melhorar a Produtividade e o Moral da Equipa
    • Métricas: Tempo do ciclo de PR, limites de WIP, taxa de sucesso de implementação
    • Impacto:
      • Menos estrangulamentos → Os programadores passam mais tempo a programar e menos tempo à espera.
      • Verificações automatizadas → Reduzem o esgotamento devido a tarefas manuais.
  5. Alinhar o DevOps com os Objetivos de Negócio
    • Métricas: Entrega de unidades comercializáveis, taxa de incidentes de clientes, compromissos de tempo de atividade
    • Impacto:
      • Liga os esforços de engenharia  à receita, ao crescimento de utilizadores e à retenção.
  6. Tomada de Decisão Baseada em Dados
    • Métricas: Tendências no MTTR, envelhecimento de erros, frequência de implementação
    • Impacto:
      • Priorizar melhorias de alto impacto
      • Justificar investimentos em automação, formação ou ferramentas com provas de ROI.

Resumo:

Ao automatizar o acompanhamento e a otimização destas métricas-chave, as organizações podem desbloquear benefícios significativos, incluindo:

  • Decisões Baseadas em Dados – Tire partido de análises acionáveis para orientar a estratégia e os investimentos.
  • Excelência em Engenharia – Promova a melhoria contínua nas práticas de desenvolvimento e operacionais.
  • Competitividade no Setor – Alinhe-se com (ou supere) as melhores referências da classe.
  • Sucesso do Cliente – Entregue soluções fiáveis e de alta qualidade que cumprem as expectativas dos utilizadores.
  • Governança e Liderança – Garanta transparência e responsabilização a todos os níveis.

Esta abordagem estruturada assegura processos mais inteligentes, um desempenho mais sólido e um crescimento empresarial sustentado.

Referências

  • Accelerate por Forsgren, Humble & Kim
  • Documentação do Azure DevOps
  • Relatórios de Investigação e Avaliação de DevOps (DORA)

Subscrever o blogue da Freyr

Política de Privacidade