Diferente do que muitos pensam, o WSJF (Weighted Shortest Job First) não foi criada pela Scaled Agile. A técnica para auxiliar na priorização de features foi criada por Don Reinertsen e muito popularizada pelo Scaled Agile Framework® (SAFe®).
A técnica WSJF leva em consideração não apenas o custo do atraso (cost of delay, COD), mas também a duração do trabalho, em que pode ser usado como proxy o tamanho do trabalho como veremos mais adiante.
Custo do atraso (cost of delay)
Considere o seguinte exemplo. Insatisfeito com as entregas atrasadas, o gerente de projetos decide que pode reduzir a variabilidade inserindo uma margem ou buffer de segurança em seu cronograma. Ele reduz a incerteza no cronograma comprometendo-se com um cronograma de 80% de confiança
Mas, qual é o custo desse buffer? O gerente do projeto está realmente trocando o tempo do ciclo pela variabilidade.
Só podemos saber se esse é um bom compromisso se quantificarmos o valor do tempo do ciclo e o benefício econômico da variabilidade reduzida.
De acordo com nossa experiência, nenhuma sensibilidade isolada é mais reveladora que o Custo do Atraso.
Se não podemos quantificar o benefício, não podemos gerar suporte para grandes decisões.
Precisamos do Custo do Atraso para avaliar a eficiência com o menor desperdício no fluxo de desenvolvimento do produto, o benefício de tamanhos de lotes menores e o valor da redução da variabilidade.
Devemos também salientar que o Custo do Atraso e outras variáveis podem ser computadas a qualquer momento, não apenas no final do projeto.
A técnica do WSJF
Quando as durações dos projetos e os custos de atraso são diferentes, temos a situação mais complexa e a mais comum.
Nesses casos, Reinertsen sugere que a melhor estratégia é calcular o Weighted Shortest Job First (WSJF).
Para isso, define-se a prioridade com base na duração de um trabalho e seu custo de atraso.
A imagem a seguir demonstra a utilidade dessa métrica para priorização em um contexto onde a duração do trabalho e o custo do atraso são diferentes para os três projetos do portfólio.
Reinertsen descreve um modelo abrangente para priorizar trabalhos com base na economia do fluxo de desenvolvimento de produtos, onde os trabalhos que podem oferecer o maior valor (ou custo do atraso) e a menor duração são selecionados primeiro para implementação. Esse modelo suporta alguns princípios adicionais do fluxo de desenvolvimento do produto, que incluem:
- Ter uma visão econômica
- Ignorar custos irrecuperáveis
- Fazer escolhas financeiras continuamente
- Usar regras de decisão para descentralizar a tomada de decisão e o controle
- Se você puder quantificar apenas uma coisa, quantifique o Custo do Atraso
A busca por valores absolutos tanto para custo de atraso, quanto para a duração do trabalho em cada projeto ou iniciativa pode ser bastante onerosa
Por isso, o Scaled Agile Framework® (SAFe®) entende que três elementos contribuem para o custo de atraso:
- Valor para Usuário de Negócio – Nossos usuários preferem isso a isso? Qual é o impacto da receita em nossos negócios? Existe uma penalidade potencial ou outras consequências adversas se atrasarmos?
- Criticidade de Tempo – Como o valor do usuário / negócio diminui com o tempo? Existe um prazo fixo? Eles vão esperar por nós ou mudar para outra solução? Existem marcos no caminho crítico impactado por isso?
- Valor de Ativação da Oportunidade ou Redução de Risco – O que mais isso faz nos nossos negócios? Reduz o risco desta ou de uma entrega futura? Existe valor nas informações que receberemos? Esse recurso abrirá novas oportunidades de negócios?
Além disso, considerando que a ideia é manter um fluxo contínuo, deve-se ter um portfólio de projetos com quantidade suficiente para escolher.
WSJF no SAFe
O SAFe sugere comparar os itens da lista de projetos uns com os outros, usando a sequência de Fibonacci modificada – a mesma recomendada para o evento de planejamento de iteração do Scrum.
Desta maneira, o custo do atraso relativo pode ser calculado da seguinte maneira:
Em seguida, é preciso entender a duração do trabalho.
Isso pode ser bastante difícil de determinar, especialmente no início, quando talvez não se saiba quem fará o trabalho ou a alocação de capacidade para as equipes.
O SAFe, mais uma vez, indica um representante que pode ser utilizado para esse fim: Tamanho do trabalho.
Em sistemas com recursos fixos, o tamanho do trabalho é um bom representante para a duração.
Além disso, também sabemos como estimar o tamanho do item aplicando a sequência de Fibonacci modificada.
Assim sendo, ao combinar a definição de WSJF proposta por Reinertsen com as proposições do SAFe para custo de atraso e duração de trabalho, chegamos a seguinte fórmula:
Aplicando essa fórmula a cada projeto do portfólio, encontraremos uma ordem sugerida de priorização onde o maior WSJF terá prioridade sobre aqueles com menor WSJF.
Conclusão
Contudo, não devemos apenas calcular um número e segui-lo sem levar em conta outros aspectos importantes e conhecidos, como por exemplo, a dependência entre projetos.
Outro fenômeno importante que a técnica WSJF proporciona, é o estímulo a quebra de projetos em projetos menores.
Em diversos casos onde a aplicação da técnica WSJF ocorre pela primeira vez para priorização do portfólio, um grande desconforto é gerado pela percepção de que um projeto importante perde prioridade a outros itens do portfólio por conta de projetar uma duração que resulte em valor baixo para seu WSJF, conforme explica Roberto Baptista em outro artigo do nosso Blog sobre a quebra de Features com o WSJF.
A reflexão sobre este fator promove um caminho natural para que haja diminuição das durações dos projetos, para possibilitar maior valor (custo do atraso) na menor duração.
O ganho indireto passa a ser a constituição de um Portfólio Lean, com coleta de feedbacks mais rápidos do mercado, aumentando a frequência de entregas de valor da empresa.
E então, gostou do artigo? Compartilhe em suas Redes Sociais e nos ajude a divulgar mais este conhecimento para a Comunidade Ágil brasileira.
É isso aí! Até a próxima.
Esse artigo foi publicado na íntegra na Revista Mundo Project Management na Edição 90 (Dez/19 e Jan/20). Para acessar a Revista e o artigo completo clique aqui.