Modelo de maturidade e auditoria
Cada prática vira um ou mais indicadores mensuráveis, cada um com critério objetivo para os níveis N1 a N5. A organização recebe um nível por domínio (D1 a D9) e um nível geral, calculados a partir de evidências coletadas das APIs do Azure DevOps e das ferramentas da plataforma.
O modelo foi desenhado para ser auditável: todo critério aponta para uma evidência que pode ser extraída e reproduzida por outra pessoa, sem depender de entrevista.
- Níveis, pesos e índice de indicadores (gerado a partir de
modelo/indicadores.yaml) - Coleta automatizada das evidências
- Modelo de relatório de auditoria
Método de pontuação
O nível geral é a média ponderada dos domínios, mas nenhum domínio pode ficar mais de um nível abaixo do resultado: o elo mais fraco limita a nota.
Escopo e janela
- População: repositórios ativos (commit nos últimos 90 dias) e pipelines com execução nos últimos 90 dias. Repos arquivados ficam fora.
- Janela de evidência: 90 dias corridos anteriores à data da auditoria.
- Percentuais são sempre calculados sobre essa população.
Regras
- Nota do indicador (s): o maior nível cujo critério é atendido por completo. Os critérios são cumulativos; sem evidência, a nota é N1.
- Indicadores críticos (marcados com ★): o domínio não passa de um nível acima do pior indicador crítico.
- Nível do domínio (L_d): média das notas dos indicadores, truncada, aplicado o teto dos críticos.
- Nível geral (L_org): média ponderada dos domínios, arredondada (0,5 para cima), com teto de um nível acima do pior domínio. Aqui se arredonda em vez de truncar porque o teto já pune o domínio mais fraco; truncar puniria duas vezes.
L_d = \min\left( \left\lfloor \frac{1}{n_d}\sum_{i=1}^{n_d} s_i \right\rfloor,\ \min_{i \in \bigstar} s_i + 1 \right)
L_{org} = \min\left( \left\lfloor \frac{\sum_d w_d \, L_d}{\sum_d w_d} + \frac{1}{2} \right\rfloor,\ \min_d L_d + 1 \right)
O cálculo está implementado em ferramentas/src/pontuacao.rs, com aritmética inteira (pesos em centésimos) e é executado com governanca pontuar. Os pesos são uma proposta inicial e podem ser calibrados, desde que fixados antes da auditoria e versionados no YAML.