Você já ouviu falar da técnica WSJF (Weighted Shortest Job First)? Você sabia que ela também pode ser usada para ajudar a quebrar suas features, além de priorizá-las? 

Talvez alguém da sua empresa já tenha ouvido ou até usado a WSJF, mas como a sua organização costuma decidir sobre quais iniciativas devem ser priorizadas? Quem tem “voz” mais alta decide? Ou é por feeling do Product Manager ou Product Owner?

Se você já se viu em alguma situação assim e já pensou se teria uma maneira mais lógica e mais objetiva de priorização, está na hora de saber mais sobre o WSJF.

O que é a técnica WSJF?

Diferente do que muitos pensam, o Weighted Shortest Job First (WSJF) 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.

Se não estiver familiarizado com o conceito de custo do atraso, pense da seguinte maneira: sempre que atrasamos a entrega de uma feature, pagamos por um custo relacionado a este atraso. Isso quer dizer que, maximizar o valor de uma feature significa minimizar o custo do atraso.

Por exemplo: Um fabricante na época de Natal paga pelo custo do atraso a cada dia que atrasa seus lançamentos, uma vez que a concorrência está conseguindo lançar antes e aproveitar a oportunidade.

Mas como decidir qual produto, qual feature e qual iniciativa priorizar?

No livro “Principles of Product Development Flow”, Don Reinersten apresenta vários princípios relacionados à priorização de iniciativas, com suas respectivas condições de aplicabilidade. Um destes princípios está relacionado a técnica WSJF.

Num caso bem simples, em um extremo, em que todas as features têm a mesma duração, deveríamos priorizar as features que possuem maior custo do atraso, o que minimizaria o custo total. Ou seja, a feature de maior valor/benefício seria priorizada.

Em outro extremo, se todas as features têm o mesmo custo do atraso, deveríamos priorizar as features que possam ser lançadas mais rapidamente, minimizando assim o custo do atraso e maximizando o valor para a organização.

Porém, no cenário atual caracterizado pelo mundo VUCA (Volatilidade/Volatility, Incerteza/Uncertainty, Complexidade/Complexity e Ambiguidade/Ambiguity), com tanta volatilidade e incerteza, tanto o custo do atraso quanto a duração/tamanho de uma feature podem variar muito de feature para feature.

Nesses casos a técnica WSJF contribui muito na priorização visando minimizar custos e maximizar valor para a organização. 

De maneira bem simples, a técnica WSJF de uma feature é calculada como a divisão do custo do atraso pela sua duração/tamanho. Mais detalhes das variáveis que compõem o custo do atraso podem ser consultadas em um excelente artigo sobre a técnica WSJF.

Porém, não devemos apenas calcular um número e segui-lo cegamente sem levar em conta outros aspectos importantes e conhecidos, como por exemplo, a dependência entre features.

Se sabermos de antemão que para a feature A ser entregue dependemos da feature B estar feita, mesmo que pela técnica WSJF o resultado da feature A seja maior do que o resultado da feature B, a sequência de entrega seria feature B e depois feature A.

A técnica WSJF como ferramenta de apoio ao princípio #6 do SAFe®

Um outro fenômeno importantíssimo que a técnica WSJF proporciona é o estímulo a quebra de features em features menores.

Em diversos casos, ao tentarmos aplicar a técnica WSJF pela primeira vez para um conjunto de features, um grande desconforto é gerado como um consenso de que se o conjunto de features fosse priorizado pelo feeling de geração de valor ou mesmo pelo ROI de cada feature o resultado seria bem diferente.

Mas durante o desconforto alguém diz: – E se quebrarmos a feature X (que por feeling achamos ser a mais prioritária, porém ficou com o menor WSJF) em duas ou mais features?

Isso acontece porque percebermos que o peso da duração/tamanho é o que geralmente mais interfere na técnica WSJF, pois ele é o denominador no cálculo do resultado.

Assim, podemos dizer que a técnica WSJF nos ajuda a pensar em quebra de features em features menores, o que além de mudar a ordem das features priorizadas, acaba por fortalecer o princípio #6 do SAFe®, pois ao reduzir o tamanho do lote de trabalho, melhoramos a fluidez e aumentamos a utilização, além da melhoria na previsibilidade.

A técnica WSJF é só um dos muitos insights que sempre emergem nas turmas do treinamento oficial da Scaled Agile, o Leading SAFe® 6.0 – Certificação SAFe® Agilist. Conheça mais nosso treinamento e descubra como o SAFe pode te ajudar em cenários de ágil em escala!

Referências:

Roberto Baptista

Experiência em TI como desenvolvedor, DBA, gerente e diretor de TI. Mestre em Gestão e Informática em Saúde, atualmente doutorando na Escola Paulista de Medicina - UNIFESP. Chief Learning Officer na Adaptworks SAFe Program Consultant (SPC) desde 2014, participo ativamente da comunidade SAFe e sou um dos organizadores do Brazilian Official SAFe Meetup. Apoio a Scaled Agile na tradução de materiais para o português. Facilitador certificado do Lean Change Management e instrutor certificado ICAgile.

Deixe um comentário