O Cost of Delay ou, em português, custo do atraso, ou ainda, custo de retardo, é uma equação que nos auxilia a priorizar demandas quando a quantidade de recursos, times ou pessoas for insuficiente para atendê-las. É importante notar que embora tenha o prenome de custo, o Cost of Delay não é um investimento ou uma despesa. Ele é um dinheiro que deixamos de ganhar quando escolhemos atrasar uma entrega.
Donald (Don) Reinertsen simplificada da seguinte forma:
Tempo é dinheiro. Um atraso no tempo é também um atraso no dinheiro.
Don Reinertsen (video, a partir de 4m00s)
Neste Artigo
Exemplo de utilização do Cost of Delay
Imagine-se na seguinte situação. Você é o Product Owner de um time. No backlog há quatro itens que seu time deve entregar. Você conversou com seu time, obteve dados sobre retorno e duração e concluiu o seguinte:
Entrega | Retorno Esperado/ semana | Duração Estimada |
A | $ 1.500 | 4 semanas |
B | $ 2.000 | 2 semanas |
C | $ 8.500 | 10 semanas |
D | $ 6.000 | 8 semanas |
A leitura que você faz dessa tabela é a seguinte: Para produzir a entrega A, esse time precisa de 4 semanas de construção. Uma vez que eles consigam fazer a entrega A, eles passam a ganhar $1.500 por semana. Já a entrega C, precisa de 10 semanas para ficar pronta, uma vez entregue, eles ganharão $8.500 por semana. Leve em conta que o resultado que estamos falando já é a subtração receita menos investimento.
Calculando o Cost of Delay (CD3)
Neste primeiro artigo introdutório, faremos o cálculo mais básico do Cost of Delay que será o retorno estimado, dividido pelo tempo de atraso linear.
CD3 = Retorno Esperado ÷ duração estimada
A sigla utilizada CD3 vem de Cost of Delay Divided by Duration (Custo do Atraso Dividido pela Duração), CDDD, simplificando CD3.
Entrega | Retorno Estimado / semana | Duração Estimada | Cálculo CD3 | CD3 |
A | $ 1.500 | 4 semanas | 1500 ÷ 4 | 375 |
B | $ 2.000 | 2 semanas | 2000 ÷ 2 | 1000 |
C | $ 8.500 | 10 semanas | 8500 ÷ 10 | 850 |
D | $ 6.000 | 8 semanas | 6000 ÷ 8 | 750 |
Priorizando as entregas no backlog
Agora temos que priorizar as entregas, lembrando que nosso objetivo é reduzir o atraso do ganho financeiro, em outras palavras, ganhar mais o quanto antes.
Tudo ao mesmo tempo em paralelo (teórico)
Não vamos priorizar nada. Sabe aquela velha máxima?
Pois é. Nunca ouvimos.
A duração para fazer todos os itens será de 24 semanas (4 + 2 + 10 + 18 semanas). Durante todo esse tempo nós deixamos de ganhar $18.000 por semana (1500 + 2000 + 8500 + 6000). O valor que deixamos de ganhar no total foi: $18.000 x 24 semanas = $432.000.
Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 18.000 | 7 | 18.000 | 13 | 18.000 | 19 | 18.000 | ||||
2 | 18.000 | 8 | 18.000 | 14 | 18.000 | 20 | 18.000 | ||||
3 | 18.000 | 9 | 18.000 | 15 | 18.000 | 21 | 18.000 | ||||
4 | 18.000 | 10 | 18.000 | 16 | 18.000 | 22 | 18.000 | ||||
5 | 18.000 | 11 | 18.000 | 17 | 18.000 | 23 | 18.000 | ||||
6 | 18.000 | 12 | 18.000 | 18 | 18.000 | 24 | 18.000 | ||||
Somatório | 432.000 |
Isso é apenas uma teoria, pois fazer tudo em paralelo provavelmente fará que levemos mais de 24 semanas para concluir as entregas e nesse período deixaremos de ganhar mais de $ 432.000.
FIFO – First In First Out
É um termo comum na gestão de filas. É o padrão quando você está na maioria delas. O primeiro a entrar é o primeiro a sair. Nesse caso a priorização se dá pela ordem de chegada. Imaginemos que as demandas chegaram na ordem: A, B, C e D. Logo o valor que deixamos de ganhar se fizermos cada uma delas em sequência será dado da seguinte forma:
Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | A | 18.000 | 7 | C | 14.500 | 13 | C | 14.500 | 19 | D | 6.000 |
2 | A | 18.000 | 8 | C | 14.500 | 14 | C | 14.500 | 20 | D | 6.000 |
3 | A | 18.000 | 9 | C | 14.500 | 15 | C | 14.500 | 21 | D | 6.000 |
4 | A | 18.000 | 10 | C | 14.500 | 16 | C | 14.500 | 22 | D | 6.000 |
5 | B | 16.500 | 11 | C | 14.500 | 17 | D | 6.000 | 23 | D | 6.000 |
6 | B | 16.500 | 12 | C | 14.500 | 18 | D | 6.000 | 24 | D | 6.000 |
Somatório | 298.000 |
Durante as 4 primeiras semanas, nós deixamos de ganhar semanalmente $18.000 até a conclusão da demanda A. Porém, da quinta em diante, nós passamos a ganhar o resultado esperado semanal desta que é igual a $1500.
Entre a 5ª e 6ª semana, na qual construímos a demanda B, deixamos de ganhar semanalmente $16.500 = $18.000 – $1.500 da demanda A que já foi entregue. No final da 6ª semana, a demanda B é entregue, logo a partir dela, passamos a ganhar os $1.500 da demanda A + $2.000 da demanda B.
A mesma ideia se aplica entre as semanas 7 e 16 que é o tempo de construção da demanda C. Para cada uma das 10 semanas deixamos de ganhar $14.500 = $18.000 – $1.500 da demanda A que nós já estamos ganhando desde a semana 5 – $2.000 da demanda B que já estamos ganhando desde a semana 7. O mesmo raciocínio se aplica às semanas 17 até 24 sendo que agora só falta concluir a demanda D. O valor que deixamos de receber para cada semana será $18.000 – $1.500 (demanda A) – $2.000 (demanda B) – $8.500 (Demanda C).
Quando somamos o dinheiro que deixaremos de ganhar utilizando como critério de priorização o FIFO, chegamos ao valor de $298.000. Pode ser que não seja o ideal, mas já é bem melhor do que fazer tudo ao mesmo tempo.
Menor Duração Primeiro
Outra forma que podemos utilizar para priorizar é utilizando a menor duração primeiro. Pode ser um método válido se precisamos fazer caixa para empresa com maior urgência possível. Neste método, quem tem a duração mais curta é mais prioritário. A ordenação seria: B, A, D, C. Vamos ver o que acontece com o dinheiro que deixamos de receber utilizando esse método de priorização.
Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | B | 18.000 | 7 | D | 14.500 | 13 | D | 14.500 | 19 | C | 8.500 |
2 | B | 18.000 | 8 | D | 14.500 | 14 | D | 14.500 | 20 | C | 8.500 |
3 | A | 16.000 | 9 | D | 14.500 | 15 | C | 8.500 | 21 | C | 8.500 |
4 | A | 16.000 | 10 | D | 14.500 | 16 | C | 8.500 | 22 | C | 8.500 |
5 | A | 16.000 | 11 | D | 14.500 | 17 | C | 8.500 | 23 | C | 8.500 |
6 | A | 16.000 | 12 | D | 14.500 | 18 | C | 8.500 | 24 | C | 8.500 |
Somatório | 301.000 |
Durante as 2 primeiras semanas deixamos de ganhar os $18.000 devido ao fato de não conseguirmos entregar nada nesse período. Da 3ª semana até a 6ª deixamos de ganhar $16.000 por semana, pois já conseguimos ter o retorno da demanda B durante esse período. Entre a 7ª e 14ª semana deixamos de ganhar $14.500 por semana, pois já temos, semanalmente, o retorno da demanda B ($2.000) e da demanda A ($1.500). Finalmente, entre as semanas 15 e 24 o único retorno semanal que ainda não temos é o da demanda C no valor de $8.500.
Somando tudo, no final, deixamos de ganhar $301.000. Melhor que o paralelismo, porém pior do que o FIFO neste caso que estamos utilizando de exemplo. Ainda assim, mesmo não sendo o mais otimizado, se a empresa precisa fazer caixa rapidamente, o modelo de Menor Duração Primeiro pode ser válido.
Maior Resultado Primeiro
Digamos que queremos maximizar os ganhos, mesmo que demore mais para entregarmos a primeira demanda. Neste caso, podemos optar pelo Maior Resultado Primeiro. Neste método priorizamos utilizando o critério de maior resultado estimado. No nosso exemplo: C, D, B, A.
Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | C | 18.000 | 7 | C | 18.000 | 13 | D | 9.500 | 19 | B | 3.500 |
2 | C | 18.000 | 8 | C | 18.000 | 14 | D | 9.500 | 20 | B | 3.500 |
3 | C | 18.000 | 9 | C | 18.000 | 15 | D | 9.500 | 21 | A | 1.500 |
4 | C | 18.000 | 10 | C | 18.000 | 16 | D | 9.500 | 22 | A | 1.500 |
5 | C | 18.000 | 11 | D | 9.500 | 17 | D | 9.500 | 23 | A | 1.500 |
6 | C | 18.000 | 12 | D | 9.500 | 18 | D | 9.500 | 24 | A | 1.500 |
Somatório | 269.000 |
Durante as 10 primeiras semanas, tempo de construção da demanda C, não ganhamos nada, ou melhor, deixamos de ganhar $18.000 por semana, porém como ela é a nossa demanda mais valiosa, assim que entregamos ela, passamos a ter um retorno semanal de $8.500. Entre as semanas 11 e 18 deixamos de ganhar $9.500 ($18.000 – $8.500), pois é a construção da demanda D. A mesma lógica se aplica entre as semanas 19 e 20 onde deixamos de ganhar $3.500 por semana e finalmente entre as semanas 21 e 24 deixamos de ganhar apenas $1.500 por semana referente ao período de construção da demanda A, a de menor resultado. No somatório, das 24 semanas, deixaríamos de ganhar $269.000. Até o momento o melhor método.
Antes de prosseguirmos para o Cost of Delay
Alguém mais desavisado poderia olhar para as priorizações que aqui colocamos e pensar que: Maior Resultado Primeiro ($269.000) é melhor do que FIFO ($298.000) que por sua vez é melhor do que Menor Duração Primeiro ($301.000). Isso não é verdade. Apenas calhou de que os números que escolhi para esse exemplo causasse esse resultado. Basta incluir uma demanda E com a duração de 1 semana e retorno de $4.000 que toda essa configuração seria alterada. Veja como ficaria na tabela abaixo.
Semana | FIFO | Menor Duração Primeiro | Maior Resultado Primeiro | |||
---|---|---|---|---|---|---|
Demanda | Receita não ganha / semana | Demanda | Receita não ganha / semana | Demanda | Receita não ganha / semana | |
1 | A | 22.000 | E | 22.000 | C | 22.000 |
2 | A | 22.000 | B | 18.000 | C | 22.000 |
3 | A | 22.000 | B | 18.000 | C | 22.000 |
4 | A | 22.000 | A | 16.000 | C | 22.000 |
5 | B | 20.500 | A | 16.000 | C | 22.000 |
6 | B | 20.500 | A | 16.000 | C | 22.000 |
7 | C | 18.500 | A | 16.000 | C | 22.000 |
8 | C | 18.500 | D | 14.500 | C | 22.000 |
9 | C | 18.500 | D | 14.500 | C | 22.000 |
10 | C | 18.500 | D | 14.500 | C | 22.000 |
11 | C | 18.500 | D | 14.500 | D | 13.500 |
12 | C | 18.500 | D | 14.500 | D | 13.500 |
13 | C | 18.500 | D | 14.500 | D | 13.500 |
14 | C | 18.500 | D | 14.500 | D | 13.500 |
15 | C | 18.500 | D | 14.500 | D | 13.500 |
16 | C | 18.500 | C | 6.000 | D | 13.500 |
17 | D | 10.000 | C | 6.000 | D | 13.500 |
18 | D | 10.000 | C | 6.000 | D | 13.500 |
19 | D | 10.000 | C | 6.000 | E | 7.500 |
20 | D | 10.000 | C | 6.000 | B | 3.500 |
21 | D | 10.000 | C | 6.000 | B | 3.500 |
22 | D | 10.000 | C | 6.000 | A | 1.500 |
23 | D | 10.000 | C | 6.000 | A | 1.500 |
24 | D | 10.000 | C | 6.000 | A | 1.500 |
25 | E | 2.000 | C | 6.000 | A | 1.500 |
Somatório | 396.000 | 298.000 | 348.500 |
Agora temos Menor Duração Primeiro ($298.000) melhor do que Maior Resultado Primeiro ($348.500) melhor do que FIFO ($396.000). Essa aleatoriedade acontece porque os três métodos consideram apenas variáveis isoladas sem se importar com as demais. O FIFO se interessa apenas pela ordem de chegada, ignora tanto a duração quanto o retorno. Menor Duração Primeiro ignora o retorno estimado e o Maior Resultado Primeiro ignora a duração.
Cost of Delay (CD3)
O Cost of Delay acrescenta na equação justamente as duas variáveis que importam: resultado esperado e duração estimada para construção. Voltemos à segunda tabela apresentada neste artigo e vamos priorizar utilizando o Cost of Delay do mais alto para o mais baixo. A ordem será: B (CD3 = 1000), C (CD3 = 850), D (CD3 = 750) e A (CD3 = 375).
Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana | Semana | Demanda | Receita não ganha / semana |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | B | 18.000 | 7 | C | 16.000 | 13 | D | 7.500 | 19 | D | 7.500 |
2 | B | 18.000 | 8 | C | 16.000 | 14 | D | 7.500 | 20 | D | 7.500 |
3 | C | 16.000 | 9 | C | 16.000 | 15 | D | 7.500 | 21 | A | 1.500 |
4 | C | 16.000 | 10 | C | 16.000 | 16 | D | 7.500 | 22 | A | 1.500 |
5 | C | 16.000 | 11 | C | 16.000 | 17 | D | 7.500 | 23 | A | 1.500 |
6 | C | 16.000 | 12 | C | 16.000 | 18 | D | 7.500 | 24 | A | 1.500 |
Somatório | 262.000 |
Passamos as duas primeiras semanas construindo a demanda B, logo deixamos de ganhar os $18.000 referente a todos os ganhos semanais possíveis. A partir da semana 3 passamos a ganhar semanalmente os $2.000 referentes à demanda B. A partir da 13ª semana passamos a ganhar semanalmente $10.500, pois já entregamos e estamos embolsando os resultados referentes às demandas B e C. Quando chegamos na 21ª semana passamos a ganhar $16.500 referentes às demandas B, C e D. Após a 24ª semana ganharemos semanalmente os $18.000 que inclui a entrega de todas as 4 demandas.
Utilizando o Cost of Delay, o dinheiro que deixamos de ganhar é igual a $262.000. É o método que mais reduz essa “não-receita” e mais rapidamente tira o dinheiro de cima da mesa para o nosso bolso. Por ser uma relação entre duração e o resultado, ele reduz o impacto causado pelo dinheiro no tempo de forma mais otimizada do que os outros métodos.
Até mesmo se incluirmos a demanda E de duração estimada de 1 semana e retorno esperado de $4.000, o Cost of Delay continua sendo o mais otimizado.
Semana | FIFO | Menor Duração Primeiro | Maior Resultado Primeiro | CD3 | ||||
---|---|---|---|---|---|---|---|---|
Demanda | Receita não ganha / semana | Demanda | Receita não ganha / semana | Demanda | Receita não ganha / semana | Demanda | Receita não ganha / semana | |
1 | A | 22.000 | E | 22.000 | C | 22.000 | E | 22.000 |
2 | A | 22.000 | B | 18.000 | C | 22.000 | B | 18.000 |
3 | A | 22.000 | B | 18.000 | C | 22.000 | B | 18.000 |
4 | A | 22.000 | A | 16.000 | C | 22.000 | C | 16.000 |
5 | B | 20.500 | A | 16.000 | C | 22.000 | C | 16.000 |
6 | B | 20.500 | A | 16.000 | C | 22.000 | C | 16.000 |
7 | C | 18.500 | A | 16.000 | C | 22.000 | C | 16.000 |
8 | C | 18.500 | D | 14.500 | C | 22.000 | C | 16.000 |
9 | C | 18.500 | D | 14.500 | C | 22.000 | C | 16.000 |
10 | C | 18.500 | D | 14.500 | C | 22.000 | C | 16.000 |
11 | C | 18.500 | D | 14.500 | D | 13.500 | C | 16.000 |
12 | C | 18.500 | D | 14.500 | D | 13.500 | C | 16.000 |
13 | C | 18.500 | D | 14.500 | D | 13.500 | C | 16.000 |
14 | C | 18.500 | D | 14.500 | D | 13.500 | D | 7.500 |
15 | C | 18.500 | D | 14.500 | D | 13.500 | D | 7.500 |
16 | C | 18.500 | C | 6.000 | D | 13.500 | D | 7.500 |
17 | D | 10.000 | C | 6.000 | D | 13.500 | D | 7.500 |
18 | D | 10.000 | C | 6.000 | D | 13.500 | D | 7.500 |
19 | D | 10.000 | C | 6.000 | E | 7.500 | D | 7.500 |
20 | D | 10.000 | C | 6.000 | B | 3.500 | D | 7.500 |
21 | D | 10.000 | C | 6.000 | B | 3.500 | D | 7.500 |
22 | D | 10.000 | C | 6.000 | A | 1.500 | A | 1.500 |
23 | D | 10.000 | C | 6.000 | A | 1.500 | A | 1.500 |
24 | D | 10.000 | C | 6.000 | A | 1.500 | A | 1.500 |
25 | E | 2.000 | C | 6.000 | A | 1.500 | A | 1.500 |
Somatório | 396.000 | 298.000 | 348.500 | 284.000 |
Visualizando o Cost of Delay graficamente
Você pode visualizar o cost of Delay comparando item a item de forma gráfica. Imagine as mesmas informaçõs da Tabela inicial e eu quero decidir se faço primeiro a Demanda B ou a Demanda C.
A leitura que fazemos desse gráfico é a seguinte. Se fizermos o item C antes do B, começamos a ganhar $8.500 a partir da semana 11. Agora, se fizer o B antes do C, só ganharemos os $8.500 da demanda C após a 13 semana. A área compreendida entre a semana 11 e 12 é justamente o nosso Cost of Delay. Um resultado que deixamos de ganhar durante um período por termos optado a sequência escolhida.
Conclusão
Este é um artigo introdutório sobre o Cost of Delay e como ele pode auxiliar o seu time a priorizar projetos, produtos, demandas, iniciativas ou até mesmo funcionalidades. Ainda há muito por explorar e espero que em breve possamos debater um pouco mais sobre esse assunto. Se você quiser aprofundar mais nele durante esse hiato, recomendo a leitura do livro The Principles of Product Development Flow do Don Reinertsen. Ou então, você pode ver esse vídeo aqui (em inglês)
Espero ver você em breve por aqui e até a próxima.