Este artigo introduz a técnica de priorização com WSJF (weighted shortest job first) e detalha como a adaptamos para diferentes cenários dentro da Datarisk.
1 Motivação
A Datarisk é uma startup e, como tal, está à procura de entender o mercado. Para isso, realizamos vários experimentos para que possamos continuar crescendo alimentados por respostas às perguntas corretas.
Foi pensando nisso que decidi dedicar meus esforços no começo de 2021 à resposta de duas importantes questões, dadas como prioritárias graças à WSJF: como escolher o próximo produto a ser testado? Uma vez escolhido, como decidir quais funcionalidades incluir no protótipo?
2 A métrica WSJF
2.1 Para que serve?
- Para priorizar listas;
- Para alinhar entendimento de prioridades dentro de um time.
2.2 Exemplo
Entrada
Uma lista desordenada de tarefas como esta:

Saída
Uma tabela onde:
- Cada item da lista foi avaliado em 4 critérios: valor, criticalidade, oportunidade, e esforço;
- As linhas estão ordenadas em ordem decrescente pelo índice WSJF.
Exemplo:

3 Passo a passo
- Avaliar cada item da lista em relação aos 4 critérios;
- Utilizar uma escala adequada às incertezas do projeto e à capacidade de estimação;
- Calcular o índice WSJF;
- Ordenar a lista pelo índice WSJF em ordem decrescente;
- Rever a priorização com o seu time (existe algo indo contra a intuição da equipe?);
- Se sim, discutir os 4 critérios daquele item em grupo.
3.1 Quais são as métricas?
Valor para Usuário ou Negócio (BV)
- Qual o valor relativo para o usuário ou negócio?
- Há penalidade ou outro efeito negativo caso posterguemos?
Criticalidade Temporal (TC)
- Os clientes vão esperar a nossa solução ou migrarão para outro fornecedor?
- Há milestones no caminho crítico impactado por esse item?
Redução de Risco ou Criação de Oportunidades (RR-OE)
- O item reduz risco da entrega?
- O item vai habilitar novas oportunidades de negócio?
Custo (EF)
- Estimativa do custo do item
4 Sugestão de escala: números da sequência de Fibonacci
- É muito mais fácil acertar a ordem de grandeza de uma estimativa do que o valor exato.
- Para mensuração, utilizamos a sequência de Fibonacci modificada (1,2,3,5,8,13,20)
- Em nossa prática, mostrou-se útil criar uma tabela mapeando o significado dos números da sequência.

5 Como calcular o índice WSJF?
O índice WSJF para cada item da lista pode ser calculado pelas equações a seguir:
CostOfDelay = UserValue + TimeCriticality + RROE
WSJF = CoCstOfDelay / JobDuration
6 De volta às perguntas iniciais
6.1 Como escolher o próximo produto a ser testado?
- Os diferentes produtos sendo considerados para construção são ranqueados de acordo com o WSJF;
- O ranqueamento é feito com os diretores da empresa;
- Muitas vezes, os diretores insistem que uma nova ideia seja priorizada em relação às demais, apesar do resultado inicial do ranqueamento com WSJF;
- Nessas horas, o time de Produto pode inquerir o diretor sobre as 4 dimensões do WSJF;
- “Se isso é tão importante para você, me explique melhor os motivos: será que é porque esse produto abre muitas novas oportunidades? Ou será que sua intuição aponta para essa direção porque vamos estar diminuindo riscos?”;
- No final do dia são as intenções dos diretores que prevalecem, mas a metodologia WSJF ajuda o restante do time a entender melhor as motivações por trás do novo teste de produto.
6.2 Como escolher quais funcionalidades incluir no protótipo?
- As funcionalidades em consideração são ranqueadas de acordo com o WSJF;
- Um plano de trabalho é proposto de forma a implementar, primeiramente, as principais features e as dependências das principais features.
7 Referências
- Weighted Shortest Job First
- 9 product prioritization frameworks for product managers
- Por que o Gitlab decidiu utilizar WSJF?
- The Principles of Product Development Flow: Second Generation Lean Product Development

Head de Tecnologia