As métricas por trás da engenharia na era da IA
Vinte e cinco sinais que separam entrega durável de movimento caro.
Seu time entrega mais com IA. A pergunta real é se esse código sobrevive. O Iris analisa o histórico do Git e dos PRs para te dizer.
As métricas tradicionais de velocidade foram feitas para um mundo onde humanos escreviam todo o código. Esse deck mostra o que construímos para substituí-las.
O que o Iris nunca faz
Dez princípios de produto guiam o que construímos. Esses quatro pesam mais no pitch.
O Iris não rankeia nem pontua pessoas. Toda métrica descreve repositórios, times e dinâmicas — nunca quem escreveu o quê mais rápido.
Sem plugin de IDE, sem telemetria proprietária, sem lock-in. Lemos seu histórico Git e dados de PR — só isso.
Toda métrica precisa caber numa explicação simples. Se uma liderança não entende por que um número existe, o número não existe.
Analytics de engenharia vira vigilância fácil. O Iris precisa ser seguro para times adotarem. Se uma feature diminui confiança, ela não existe.
Fundamentos — sinal vs ruído
Quatro métricas sempre presentes em toda análise do Iris. A linha de base.
Seu código sobrevive à primeira semana?
O número mais importante do Iris.
Dos arquivos que seu time tocou, a fração que NÃO foi modificada de novo dentro da janela de churn. Arquivos tocados uma vez contam como estabilizados.
Estabilização próxima de 1.0 significa mudanças que persistem — trabalho real. Próxima de 0.0 é retrabalho disfarçado de entrega. É sinal vs ruído em um número só.
O custo de primeiras tentativas incompletas
Contagem e peso dos arquivos que precisaram ser re-editados rapidamente.
Arquivos modificados 2+ vezes onde um par consecutivo de edições cai dentro da janela de churn. Mais o total de linhas tocadas nessas re-edições.
Churn é o imposto que seu time paga por implementações iniciais frágeis. Diferente de velocidade, ele sobe quando as coisas dão errado — e é visível por arquivo.
O sinal mais direto de que algo quebrou
Com que frequência seu time desfaz o que entregou?
Commits que batem com padrões de revert, como fração do total. A atribuição vai para a ORIGEM do código revertido — não para quem escreveu o revert.
Reverts são raros mas inequívocos. Segmentados por origem e ferramenta de IA, respondem: qual ferramenta tem código revertido? Essa comparação é difícil de contestar.
Classificação — intenção e origem
Antes de comparar, é preciso separar. Separamos pelo que cada commit foi feito, e por quem o escreveu.
Feature, fix, refactor, config
Todo commit classificado. De forma determinística. Sem ML.
Prefixos de Conventional Commits primeiro, palavras-chave depois, heurística por tipo de arquivo por último. Todo commit recebe uma intenção: FEATURE, FIX, REFACTOR, CONFIG ou UNKNOWN.
"Estamos entregando rápido" não significa nada se 60% é FIX. A distribuição de intenção transforma uma contagem de commits em um retrato do que o time está realmente fazendo.
Humano, assistido por IA ou bot
Sem chute. Lemos co-author tags e padrões de autor.
Co-author bate com Copilot, Claude, Cursor, Codeium, Tabnine, Amazon Q, Gemini ou Windsurf → AI_ASSISTED. Nomes de bot conhecidos → BOT. O resto → HUMAN.
Todas as outras métricas do Iris podem ser segmentadas por origem. Essa é a dimensão que destrava análise de impacto de IA — sem pesquisas, sem autorrelato.
Quanto do trabalho com IA já é visível
A outra metade desse número é o seu gap de atribuição.
Commits atribuídos a IA como porcentagem de todos os commits não-bot. Um proxy de quanto do uso real de IA está declarado no metadado do git.
Compliance, liderança de governança de IA e CTOs céticos fazem a mesma pergunta: quanto de IA tem no nosso código? Essa é a resposta que você consegue defender em reunião.
Qualidade e durabilidade — o código dura?
Do formato do commit à sobrevivência das linhas. Como o código realmente envelhece.
Código de IA tem um formato. Veja.
Focado, espalhado, em bloco ou cirúrgico — por origem.
Mediana de arquivos, linhas por arquivo e espalhamento por diretório por commit, agrupados por origem. O formato típico de cada origem emerge: profundo, largo, fino ou amplo.
Commits gerados por IA tendem a ser largos e rasos (spread) — scaffolding, boilerplate. Commits humanos tendem a ser cirúrgicos ou focados. O padrão é mensurável, não anedótico.
O código de IA quebra mais rápido?
Medido em horas — do primeiro commit ao retrabalho.
Mediana de tempo entre modificações consecutivas do mesmo arquivo na janela de churn. A atribuição vai para o commit ORIGINAL, não para o fix.
Faixas: rápido < 72h (bugs óbvios), médio 72–168h (pego em review/prod), lento > 168h (sutil). Compare taxas de retrabalho rápido entre IA e humano lado a lado.
Um commit ruim, três follow-ups
Raio de impacto de código que não se assenta.
Um commit gatilho seguido por 1+ commits FIX em arquivos compartilhados na janela de churn. Profundidade = número de fixes. A atribuição vai para a origem do gatilho.
Uma taxa de 30% de cascata significa que quase um terço dos commits gatilho quebra algo. Segmentado por ferramenta de IA, mostra qual ferramenta tem o maior custo de limpeza.
Quanto do código de IA sobrevive ao trimestre
Git blame no HEAD. O teste de sobrevivência definitivo.
Para cada origem e cada ferramenta de IA: linhas introduzidas vs linhas ainda presentes no HEAD. Taxa de sobrevivência. Idade mediana das linhas que sobreviveram.
Nosso benchmark interno encontrou linhas atribuídas a IA sobrevivem a 79% vs humano 64% — em repos primados. Durabilidade é a manchete contra-intuitiva: código de IA pode durar mais quando bem atribuído.
Código de IA passa no review?
PRs que passam de primeira vs rodadas de changes-requested.
Por origem e por ferramenta de IA: fração de commits que passaram por um PR; desses, fração fundida com zero CHANGES_REQUESTED; mediana de rodadas de review.
Duas ferramentas de IA podem produzir código que se comporta muito diferente no review. A taxa de aceitação quantifica isso — é o elo que falta entre promessas de "produtividade IA" e resultados revisados por pares.
A jornada completa, por origem
Commitado → Em PR → Estabilizado → Ainda vivo.
Funil de entrega de quatro estágios computado por origem, com taxas de conversão entre cada passo. Compõe distribuição de origem, aceitação, estabilização e durabilidade.
IA pode esmagar commits e passar no review — e ainda cair na estabilização. O funil mostra exatamente onde cada origem ganha e onde vaza. Um gráfico, a história toda.
Detecção — o que está escondido à vista
Padrões que você não enxerga até procurar.
O trabalho com IA que ninguém marcou
Commits marcados como humanos com velocidade em formato de IA.
Marca commits HUMAN que batem 2+ de: 3 commits em 2h, 100+ LOC, < 30min desde o anterior, 5+ arquivos. Nunca chamamos de IA — só mostramos o gap para investigação.
Se ai_detection_coverage diz 40% e o gap de atribuição marca outros 30% de commits como suspeitos, sua pegada real de IA é o dobro do que o painel de governança mostra.
Copy-paste cresceu 8× com IA
GitClear 2025. Medido. Agora confira o seu.
Commits com 5+ linhas idênticas contíguas não-triviais em múltiplos arquivos. Taxa por commit, tamanho mediano do bloco, segmentado por origem e por ferramenta de IA.
Copy-paste é o atalho para a entropia: o mesmo bug, em cinco lugares, pra sempre. Uma taxa crescente de duplicatas é o indicador antecipado de dívida que ainda não foi paga.
Refatorações de verdade parecem diferentes
E conseguimos distinguir no nível do diff.
Porcentagem das linhas mudadas que foram movidas entre arquivos no mesmo commit. Razão de refatoração = movido / (movido + duplicado) — um índice de saúde.
Código movido caiu de 24% para 9.5% após IA nos dados da indústria. Quando sua razão de refatoração sobe, o time está de fato extraindo e organizando — não só gerando mais.
Melhorando código maduro, ou retrabalhando o do mês?
A idade das linhas que seu time está reescrevendo.
O git-blame coloca a idade de cada linha modificada em faixas: < 2 semanas, 2–4 semanas, 1–12 meses, 1–2 anos, 2+ anos. Mais porcentagem mexendo em código novo vs maduro.
A GitClear encontrou que 79% das linhas revisadas em 2024 tinham menos de um mês. Se a maior parte do esforço do time é re-mexer em código novo, não está melhorando o codebase — está girando.
O canário de 14 dias
Código que é re-editado em menos de duas semanas.
Arquivos que receberam código novo e foram modificados de novo em 14 ou 28 dias. Segmentado por origem e ferramenta de IA, atribuído ao commit INTRODUTOR.
Código novo que volta a ser tocado em duas semanas normalmente significa que a primeira tentativa errou. Uma taxa de 2 semanas em alta é o alarme de qualidade mais cedo que dá para ligar.
De quem é o código que atrai bugs?
Parcela justa vs parcela desproporcional.
Para cada arquivo-alvo de um commit FIX, creditar a origem do último commit não-fix. Calcular parcela do código vs parcela dos fixes vs desproporção (fix/code).
Se a IA escreveu 30% dos commits mas atrai 50% dos fixes, a desproporção = 1.67 — o sinal mais claro de que o código de IA custa mais para manter do que parece.
Tempo e estrutura — onde e quando
Seu repo tem zonas. Seu ano tem pontos de virada. Mapeamos os dois.
Seu repo tem zonas
Umas estáveis. Outras em chamas. Nomeie-as.
Consolidado por diretório (profundidade 2 por padrão) de arquivos tocados, estabilizados, eventos de churn e taxa de estabilização. Diretórios classificados estáveis ≥ 0.80, voláteis < 0.50.
"O backend é uma bagunça" é uma sensação. O mapa de estabilidade transforma isso em `src/payments/` 0.41 vs `src/shared/` 0.92. É algo que dá para corrigir, alocar time ou documentar.
Nomeie os arquivos que estão custando caro
Top arquivos em churn com a cadeia. E os pares que se mexem juntos.
Top 10 arquivos em churn com a cadeia completa (ex.: feat → fix → fix → refactor). Mais acoplamento de arquivos: pares que co-ocorrem em commits com alta taxa de acoplamento.
Números agregados dizem que algo está errado. O churn em detalhe diz qual arquivo, qual padrão e o que mais muda junto. Agora dá para atacar a causa raiz, não o sintoma.
Cada semana conta uma história
Visão semanal + quatro detectores de padrão.
Consolidado por semana ISO: commits, LOC, mix de intenção, mix de origem, estabilização, churn, PRs. Padrões auto-detectados: burst_then_fix, quiet_period, ai_ramp, intent_shift.
Quando uma métrica mexe, você precisa saber por quê. A linha do tempo + padrões dá uma história anotada — não só números, mas os momentos que os geraram.
Quantifique a fricção no review
Antes que vire uma reclamação na retro.
Tempo mediano até o merge, tamanho mediano do PR (arquivos e linhas), mediana de rodadas de review e taxa de primeira passada — a fração de PRs fundidos sem CHANGES_REQUESTED.
A taxa de primeira passada é a métrica de PR que mais se correlaciona com a satisfação do time. Junto com o tempo até o merge, diz se o review é porta ou gargalo.
O mix de como seu time escreve
Adicionadas, removidas, atualizadas, movidas, duplicadas.
Taxonomia leve de cinco baldes para operações de linha por commit, a partir do diff mais detectores de duplicata e movimento. Visão geral mais breakdown por origem.
Um time dominado por `added` está crescendo rápido; por `updated`, iterando; por `moved`, refatorando; por `duplicated`, acumulando dívida. O formato do trabalho em um gráfico.
Movimento — velocidade sem ser cego
Quão rápido é o time — e essa velocidade está paga em durabilidade?
Velocidade não significa nada se a durabilidade cai
Commits/semana, linhas/semana e a correlação com qualidade.
Janelas de 14 dias de commits/semana e linhas/semana. Tendência classificada como acelerando, estável, desacelerando. Correlacionado com estabilização por janela — a conexão com durabilidade.
Acelerando com durabilidade estável = progresso real. Acelerando enquanto estabilização cai = você está entregando ruído mais rápido. Velocidade sozinha mente. Velocidade + durabilidade diz a verdade.
O dia em que a IA mudou suas métricas
Detectado automaticamente. Antes vs depois, lado a lado.
Encontra o ponto de inflexão onde os commits atribuídos à IA começaram. Separa o histórico em pré-adoção e pós-adoção, cada um com um snapshot completo de ReportMetrics.
Prova antes-e-depois. A estabilização foi de 0.71 para 0.84 desde o rollout do Copilot? É um número para um slide. Inverteu? É um número para olhar rápido.
Veja seus próprios números
Um comando de CLI. Sem servidores. Sem telemetria SaaS em código privado.
O Iris roda localmente contra seu histórico Git e PRs do GitHub, gera um relatório em minutos e opcionalmente envia as métricas para seu tenant para visões cross-repo.
Tudo nesse deck é aberto e auditável. Leia a metodologia, rode no seu próprio repo e decida se o sinal é real.