Pular para o conteúdo

PRs abandonados e parados

Padrões em PRs fechados sem merge e parados — sinais de ambiguidade de decisão não resolvida.

PRs mergeados contam apenas parte da história do atrito. PRs que são fechados sem merge ou deixados abertos por semanas representam consenso fracassado — discussão não resolvida que consumiu tempo de revisão sem produzir uma entrega.

MétricaValor
PRs fechados sem merge amostrados500
Abandonados com muita discussão (≥10 eventos de revisão)12 (2,4%)

Embora 2,4% pareça pouco, esses 12 PRs representam esforço de revisão concentrado e desperdiçado.

PREventos de revisãoTTM até fechar (h)ArquivosChurn
#10915042477907
#10952623170221.269
#10911219214353
#1110801791379
#11111216124201.979
#11014516430253.236
#110442141374285
#110859123398118

Padrões notáveis:

  • #109150 teve 42 eventos de revisão antes de ser fechado — mais do que qualquer PR mergeado na lista dos principais da nossa amostra.
  • #110145 ficou aberto por 430 horas (18 dias) com 25 arquivos alterados e 3.236 linhas de churn antes do abandono.
  • #109112 é interessante: apenas 3 arquivos e 53 linhas de churn, mas 19 eventos de revisão e 214 horas. PRs pequenos com muita discussão geralmente indicam discordância sobre a abordagem e não sobre o detalhe de implementação.
MétricaMergeados de alto atrito (top 25%)Fechados com muita discussão (≥10 revisões)
Contagem12512
Mediana de TTM (horas)65,62130,58
Mediana de eventos de revisão6,015,0
Mediana de churn156,0214,5
Mediana de arquivos4,04,0

Observações principais:

  • PRs abandonados levam 2x mais tempo para chegar ao fechamento do que PRs mergeados de alto atrito levam para mergear (130,58h contra 65,62h)
  • PRs abandonados têm 2,5x mais eventos de revisão (mediana de 15,0 contra 6,0) — o volume de discussão é substancialmente maior
  • O churn é cerca de 40% maior em PRs abandonados (214,5 contra 156,0)
  • A contagem de arquivos é a mesma (mediana de 4,0 para ambos), sugerindo que a diferença não é sobre o tamanho do PR, mas sobre a complexidade ou a controvérsia das mudanças

A paridade na contagem de arquivos é o achado mais revelador: PRs abandonados de muita discussão não são necessariamente maiores — eles são mais controversos. O mesmo PR de 4 arquivos pode tanto ser mergeado com 6 eventos de revisão quanto ser abandonado após 15, dependendo de haver ou não consenso sobre a abordagem.

MétricaValor
PRs abertos amostrados251
Parados há 14+ dias92 (36,7%)
Parados há 30+ dias33 (13,1%)

Mais de um terço dos PRs abertos está parado na marca dos 14 dias — uma parcela significativa de trabalho em andamento que pode nunca chegar a ser mergeado.

PREventos de revisãoHoras aberto
#10981955760
#108533401.050
#108409131.091
#11082011443
#11080811445

#109819 tem 55 eventos de revisão e está aberto há mais de 31 dias — o PR mais discutido de todo o nosso conjunto de dados (mergeado, fechado ou aberto). #108533 está aberto há 43 dias com 40 eventos de revisão.

Eles representam um investimento contínuo significativo de revisão sem resolução.

Três padrões emergem dos dados de PRs abandonados e parados:

1. Discordância sobre a abordagem, não sobre o tamanho

Seção intitulada “1. Discordância sobre a abordagem, não sobre o tamanho”

PRs abandonados de muita discussão têm a mesma mediana de contagem de arquivos que os mergeados (4 arquivos), mas 2,5x os eventos de revisão. Isso sugere fortemente que o atrito vem de discordância sobre a abordagem e não do volume de mudanças. Um ADR que pré-decide a abordagem para cenários comuns curto-circuitaria esses debates.

Os dados de PRs parados mostram PRs com 40-55 eventos de revisão ainda abertos após 30+ dias. Sem políticas explícitas sobre quando fechar ou escalar, os PRs podem acumular discussão ilimitada sem resolução. Um ADR de “SLA de revisão de PR” poderia estabelecer gatilhos de escalonamento.

Os 12 PRs abandonados com ≥10 revisões representam no mínimo cerca de 120 eventos de revisão que não produziram nenhum resultado mergeado. Se assumirmos 10 minutos por evento de revisão em média, isso são cerca de 20 horas de tempo de revisores com zero entrega. A validação de abordagem em estágio inicial (documentos de design, RFC ou uma verificação rápida de ADR) poderia detectar o desalinhamento de abordagem antes de um investimento significativo de revisão.

Esses padrões informam propostas de ADRs específicas:

  • ADR de escopo e fatiamento de PRs: pré-decidir a abordagem para padrões comuns de mudança para reduzir a discordância sobre a abordagem
  • ADR de escalonamento de revisão: definir gatilhos baseados em tempo para escalonamento quando os PRs estancam
  • ADR de validação antecipada: exigir acordo sobre a abordagem para mudanças acima de um limiar de complexidade antes de abrir um PR