Tópico 65 de 91· Engenharia de software e entrega digital

WSJF e CD3

O CD3 (Custo de Atraso Dividido pela Duração) e o WSJF (Weighted Shortest Job First) são regras de priorização que agendam trabalho pela densidade de valor: quanto custo de atraso é removido por unidade de capacidade escassa consumida. Sob uma capacidade partilhada e fixa, o CD3-mais-alto-primeiro é a sequência matematicamente ótima para minimizar o custo total de atraso.

Porque é importante

Todo o atraso é um problema de racionamento: muitos itens dignos, um pipeline. A economia da saúde resolveu o mesmo problema para orçamentos de saúde com tabelas de liga de custo-efetividade — classificar intervenções por saúde ganha por libra, financiar a lista abaixo até o orçamento se esgotar. O CD3 é a lógica idêntica para a capacidade de entrega: benefício por unidade do recurso restrito, financiado por ordem de classificação. Acertar a sequenciação é dinheiro grátis — o mesmo trabalho, a mesma capacidade, menos custo total de atraso.

O cálculo

CD3  = Custo de Atraso (£/semana) / Duração (semanas)      — unidades reais (Black Swan Farming)

WSJF = (valor utilizador-negócio + criticidade temporal + redução de risco/
        possibilitação de oportunidade) / tamanho do trabalho    — proxy de escala relativa
                                                        do SAFe, pontuações de Fibonacci modificado

O CD3 com moeda genuína (custo de atraso) é estritamente mais forte do que os pontos sem unidade do WSJF — o WSJF está para o CD3 como a pontuação multicritério está para a análise custo-utilidade completa: utilizável quando a monetização é impraticável, manipulável quando as pontuações não têm âncora.

Exemplo resolvido

Três funcionalidades, uma equipa:

Funcionalidade  CoD (£/sem)   Duração    CD3
A               30.000        10 sem     3.000
B               12.000        2 sem      6.000
C               5.000         1 sem      5.000

Ordem CD3: B, C, A. Compare o custo total de atraso face a "maior CoD primeiro" (A, B, C):

Ordem CD3  (B,C,A): A espera 3 sem, C espera 2 → 30mil×3 + 5mil×2  = £100mil de custo de atraso
Ordem CoD  (A,B,C): B espera 10, C espera 12   → 12mil×10 + 5mil×12 = £180mil

Mesmas funcionalidades, mesma equipa — a sequenciação sozinha poupa £80.000. A intuição: os itens pequenos e urgentes vão primeiro porque libertam o seu custo de atraso barato; o item grande perde pouco ao esperar brevemente.

Ligação à engenharia de software

Para portefólios de software de saúde, expresse o CoD nas unidades que este repositório ensina: QALYs/semana × limiar + £/semana operacional, e o atraso torna-se diretamente comensurável com o resto que o sistema de saúde compra. Duas notas práticas: (1) duração significa tempo de calendário a ocupar a restrição, não esforço — um item de 2 semanas decorridas que precisa de 2 dias da equipa de gargalo é mais barato do que parece (ver otimização de recursos a jusante); (2) os hospitais executam a mesma regra implicitamente quando ordenam listas de bloco operatório por rendimento ponderado pela urgência — as categorias de priorização clínica são CD3 ponderado por severidade (ver défice de QALY e modificadores de severidade).

Armadilhas

  • Teatro de pontuação WSJF: os debates de Fibonacci sem unidades convergem para quem argumenta mais alto; ancore pelo menos os itens do topo do atraso em CoD real.
  • Manipulação de duração: dividir itens para inflacionar a classificação CD3 — bem quando as divisões entregam valor independentemente, fraude quando não entregam.
  • Ignorar perfis de urgência: o CoD em forma de prazo (datas regulamentares) quebra a suposição de taxa constante; agende esses por viabilidade de data, depois CD3 o resto.
  • Hesitação de reclassificação: o CD3 é para decisões de sequenciação no momento do compromisso, não para reorganização diária do trabalho em curso (ver métricas de fluxo sobre WIP).

Fontes