Gestão

Em novembro de 2021, a Zappts realizou o Mês dos Produtos Digitais, com diversas palestras e treinamentos online e gratuitos. Um dos temas abordados durante esse mês foi “Como obter previsibilidade das entregas utilizando métricas de fluxo?”, em uma palestra ministrada por Luciano Osorio, Squad Leader, aqui na empresa.

Este texto foi desenvolvido com base em tudo o que foi explorado durante o evento. Para quem quiser acompanhar o vídeo, a gravação está disponível abaixo:

https://www.youtube.com/watch?v=oFZKI9QmluI

Para começar, vamos retomar um pouquinho ao texto de nosso CEO, Rafael Tiba, sobre “Estratégias para reduzir o 'time to market' de produtos digitais em grandes corporações”. Neste conteúdo, além da redução do time to market, o Tiba também falou sobre entender o que acontece dentro do nosso fluxo de trabalho. No papo de hoje, vamos falar sobre essas métricas que ajudam a gente a enxergar este fluxo e sermos mais previsíveis em nossas promessas e entregas.

Métodos de Estimativa

Para começar a abordar essas métricas, precisamos tratar sobre métodos de estimativa para definir os prazos de desenvolvimento de projetos. 

  • Story Points

Um dos métodos mais conhecidos e utilizados no mercado são os Story Points. Estes são uma maneira de dizer qual o tamanho e a complexidade do que você está desenvolvendo, além de apontar qual o risco que está envolvido naquela atividade. Por exemplo: se uma atividade vale cinco pontos, porém você não conhece muito sobre o tema da mesma, aumentar a pontuação simboliza o risco de efetuá-la. 

Existe uma dinâmica que se faz dentro de Story Points para definir essa estimativa, chamada Planning Poker. Normalmente, o intuito dela é obter um consenso dentro do time sobre quantos pontos vale uma determinada demanda.

Quais as desvantagens dos Story Points?

  • É abstrato, pois não é algo que está diretamente relacionado com o dia a dia de quem recebe o report do projeto;
  • Não conversa bem com o negócio;
  • Não há mapeamento direto com esforço/prazo;
  • Funciona no curto prazo, mas estimativas de demandas que serão executadas no futuro distante tornam-se muito voláteis e haverá necessidade de revisões.
  • T-Shirt Sizing

O T-Shirt Sizing é uma técnica utilizada para determinar o tamanho da sua demanda, sendo eles P, M ou G. Além de ser um jeito ainda mais abstrato do que os Story Points para fazer estimativas, ele traz algumas dificuldades:

  • É confuso. Não é possível determinar, por exemplo, quantos P’s cabem em um M;
  • Não existe relação com prazo;
  • Como trabalhar com demandas que não cabem em P, M ou G?;
  • Não é possível medir quantos P, M ou G cabem na capacidade do time do projeto.
  • Horas/Dias

Também chamado horas/dias ideais, este é um método muito comum de estimativa, e tem mais proximidade com o negócio. É mais fácil de você conversar a respeito de horas e dias. Porém, assim como os métodos citados acima, tem alguns pontos fracos.

  • Qual foi a última vez que você teve um dia ideal?
  • Tenta dar uma visão determinística do futuro. Você acaba tentando fazer uma previsão de algo que ainda não aconteceu, onde muitas coisas podem acabar dando errado.
  • Exclui filas. Nesse método, você estima o tempo do trabalho que irá realizar, sem levar em consideração as filas em que o mesmo irá passar.
  • Outras técnicas

Existem inúmeras outras técnicas que podem ser utilizadas para determinar o tempo e a complexidade de uma atividade. Por exemplo:

  • Adivinhação, que acontece quando você não sabe o que vai fazer, então acaba tendo de adivinhar;
  • Pressão, que acontece quando o volume de pressão exercido sob o time faz o mesmo assumir estimativas que não são reais;
  • Quem grita mais? Essa acontece quando a alguém do time faz mais “barulho” para chamar a atenção e ter a demanda atendida com mais rapidez;
  • Determinação de prazos pelo cliente, ou pelo chefe. Aqui o time nem participa das estimativas, alguém impõe um prazo qualquer e faz o mesmo virar verdade dentro do projeto.

Sendo assim, concluímos que métodos de estimativa muitas vezes falham porque tentam determinar quanto esforço é necessário para a execução do trabalho, baseando-se frequentemente no “feeling” e adivinhações e não levam em consideração o tempo que a demanda fica em filas. O futuro ainda não existe e, portanto, é impossível determinar quando essas esperas vão acontecer.

Métricas de Fluxo

Para continuarmos, é preciso entender: o que é fluxo?

Fluxo é a movimentação e entrega de valor para o cliente através de um processo. Ocorre do momento em que você dispõe os materiais, até a hora de desfrutar o produto gerado. Por exemplo: o ato de fazer um bolo.

Separar os ingredientes, mistura-los, colocar para assar e confeita-lo são atos que fazem a sua atividade caminhar por um fluxo de tarefas até entregar o valor para o cliente, que nesse caso, seria saborear o bolo.

Existem três métricas de fluxo, extremamente importantes para representar como um processo funciona. São elas: WIP, Cycle Time e Throughput

  • Trabalho em Progresso (WIP)

Para falarmos sobre trabalho em progresso, primeiro precisamos definir o que é trabalho dentro do nosso contexto. Trabalho é qualquer unidade de valor para o cliente (referenciado como itens), como por exemplo: user story, feature, requisito, melhoria, bug, etc.

“Em progresso” significa que o trabalho foi iniciado, e está sendo executado ou aguardando para ser trabalhado, mas ainda não partiu do sistema (done).

Sendo assim, WIP é a contagem de todas as unidades de valor para o cliente que entraram num dado processo mas ainda não saíram dele.

  • Tempo de Ciclo (Cycle Time)

Cycle Time é o tempo que decorre enquanto o item permanece como WIP.

Você deve estar se perguntando: “Preciso descontar fim de semana e feriado?”, “Eu só conto as horas úteis?”
E a resposta para essas perguntas é: não. Cycle Time é o tempo corrido, como um cronômetro. Ele está diretamente relacionado com o quanto tempo leva para você ter o produto na mão no cliente final e, por isso, é muito ligado ao tema do evento sobre Time To Market.

  • Vazão (Throughput)

Quando o trabalho está na etapa “Feito” de todo o processo, podemos medir a vazão do sistema.

Sendo assim, podemos definir Throughput como a quantidade de itens que “partem” do processo por unidade de tempo.

Por exemplo: Em um dia de trabalho é possível entregar três novos cards.

Mas, por que usar essas métricas e não outras?

Porque essas métricas têm poder preditivo para a pergunta mais importante do cliente, que é: quando o trabalho ficará pronto?

Essa é uma pergunta extremamente importante e fundamental para o cliente desde o momento da negociação do projeto.

Antes de tudo, precisamos ter em mente que o futuro não existe. Porém, um futuro de curto prazo, apesar de não poder ser determinado, pode ser previsto com uma certa margem de segurança. Quanto mais de longo prazo for a previsão, mas incerta ela é. Por esse motivo, é preciso estar, constantemente, analisando essas métricas e corrigindo as previsões, para garantir que a incerteza existente no futuro não impacte as entregas de forma negativa.

A relação entre as métricas de fluxo

Chegou a hora em que vamos saber mais sobre a relação entre as métricas apresentadas acima e como elas determinam as respostas para o cliente.

Você já ouviu falar na Lei de Little?

A Lei de Little diz que quanto maior o seu WIP, mais tempo leva para você entregar uma unidade do trabalho, pois, são tantas coisas acontecendo ao mesmo tempo, que você não consegue focar em uma só. 

O Dr Little conseguiu traduzir isso em uma equação que diz:

"Cycle Time médio = WIP médio / Throughput médio"

Sendo assim, se o WIP aumenta e você mantém o mesmo Throughput, o seu Cycle Time também irá aumentar. Assim como, se a sua vazão aumentar, mas seu trabalho em progresso se mantém, o tempo de ciclo tende a diminuir.

Essa é uma relação empírica. É muito mais propícia a ser usada para estudar o passado, do que para prever o futuro. Isso vai te ajudar a entender como seu processo está correndo.

Outra coisa que precisamos levar em consideração é que esta é uma relação de médias. O valor médio de cada métrica não precisa, necessariamente, representar o valor atual de cada uma. Então, é preciso tomar muito cuidado para não cair na tentação de usar essa equação para “prever o futuro”, ou se formos fazê-lo, levar em consideração o risco assumido em tal cálculo.

A Lei de Little depende de cinco premissas, e é importante sabermos se elas estão acontecendo dentro do nosso fluxo.

  1. A Taxa de Chegada média de itens no seu sistema deve ser igual, ou muito próxima, da Taxa de Partida média dos mesmos;
  2. Todo o trabalho iniciado será completado e sairá do sistema;
  3. A quantidade de WIP deve ser, aproximadamente, a mesma ao início e final do intervalo de tempo escolhido para o cálculo;
  4. A idade média do WIP não está aumentando nem diminuindo;

Cycle Time, WIP e Throughput serão medidos utilizando unidades consistentes.

Quando as premissas são obedecidas, o Cycle Time médio aproximado é constante.

Quando as premissas são quebradas, não é possível determinar o Cycle Time médio aproximado, devido ao acúmulo de WIPs.

Ferramentas Analíticas

Abaixo, temos um gráfico de Tempo de Ciclo utilizado para medir um projeto da Zappts. Cada um desses pontinhos coloridos é uma demanda que foi entregue. As linhas horizontais que existem nesse gráfico, onde temos as porcentagens, mostram que a metade do trabalho que foi feito nesse projeto, foi entregue em até 6 dias. Já a outra metade, foi entregue em um pouco mais do que isso. Por exemplo, ao olharmos para a linha que aponta os 85%, vemos que a maioria das entregas foram feitas em até 19 dias.

O poder desse gráfico é que, com ele, você consegue prever como é o comportamento do tempo de ciclo. Quanto mais pontos temos nele, mais é possível confiar nessa previsão.

Outra maneira de acompanharmos o Cycle Time, é olharmos um histograma. Este é um gráfico que conta quantas vezes cada tempo de ciclo ocorreu.

Observando o gráfico, podemos ver que, na maior parte das vezes, o Cycle Time foi baixo. Os tempos muito altos aconteceram, mas em menor quantidade. É exatamente esse o esperado.

Agora, observe o gráfico de Throughput abaixo. Ele também é um histograma, e o conceito é o mesmo do gráfico de Cycle Time, ele demonstra a contagem da frequência em que determinadas vazões acontecem.

No caso deste projeto que usamos como exemplo, é possível ver no gráfico que podemos prever ao cliente, com 85% de chance, que entregaremos dois itens por dia.

Neste outro gráfico abaixo, organizado por semanas, é possível determinar quantas entregas foram feitas ao longo do tempo.

Pensando que suas sprints tenham duração de 2 semanas, imagine que seu cliente lhe passe 15 itens para serem entregues dentro deste tempo. Analisando o tipo de gráfico acima, é possível dizer se você consegue, ou não se comprometer com essas entregas.

Voltando a falar sobre WIP, o gráfico abaixo mostra como é possível avaliar o envelhecimento do trabalho em progresso.

As faixas coloridas correspondem aos percentuais de consumo em cada uma das fases. Se um item está próximo a faixa vermelha logo em seu começo, existem grandes chances de ele terminar a passagem pelo sistema com um tempo de ciclo muito alto. Sabendo disso com antecedência, é possível tomar ações que resolvam este problema.

Esta é uma das análises mais poderosas e importantes para se ter controle e estabilidade nas métricas de fluxo, e precisa de acompanhamento constante.

Já no gráfico abaixo, temos a visão do histórico de trabalho em progresso ao longo do tempo.

Outra ferramenta importante e poderosa que utilizamos, é o Acompanhamento do Fluxo Acumulado. Com ele, é possível fazer a análise do Cycle Time por fase do processo.

Este é um gráfico extremamente informativo, e podemos extrair diversas informações que ajudam, inclusive, a analisar as premissas de estabilidade e previsibilidade da Lei de Little.

Cada um desses espaços coloridos dentro do gráfico, representam a quantidade de itens que temos em cada momento, em cada uma das fases do processo.

Outro método de análise, demonstrado em histograma, que podemos utilizar é a Eficiência de Fluxo. É ela que vai comparar o tempo de trabalho de cada item com o tempo real que foi utilizado até a entrega do mesmo, e dizer o que de fato foi trabalho realizado e o que foi tempo de espera.

Podemos observar que, neste exemplo, temos casos onde a eficiência foi de 100%, porém também temos casos onde a eficiência foi baixa. Nessas situações precisamos entender o porquê isso aconteceu. 

Em casos onde sua eficiência de fluxo for alta (maior que 70%), vale investir tempo em melhorias no trabalho que você, de fato, está fazendo. Porém, quando o índice de eficiência for baixo, é sinal de que o tempo de espera do item ainda é grande, e é necessário trabalhar para evitar isso.

Nosso penúltimo gráfico nos mostra as Análises de Monte Carlo. Uma vez que você tenha as premissas da Lei de Little funcionando e um processo estável, é possível colocar esses dados dentro de um modelo estatístico e dar previsões. A pergunta que este modelo de análise responde é: em quanto tempo estes itens vão estar prontos?

No exemplo do gráfico observamos que os itens têm 50% de chance de estarem prontos no dia 04, e mais de 95% de chance de estarem prontos a partir do dia 14.

No gráfico abaixo, podemos ver uma outra visão da Análise de Monte Carlo. Aqui, com base em nossa informação histórica, é possível especificar a quantidade de itens que teremos entregues até determinada data, e passar uma informação certeira ao cliente.

Depois de apresentarmos todas essas ferramentas para analisar as métricas de fluxo, vem a pergunta que não quer calar:

Quanto de dados eu preciso para tudo isso funcionar?

Quanto mais dados melhor, quanto mais histórico melhor. Mas, estatisticamente falando, precisamos analisar outros fatos.

  • Regra dos 5 - A mediana (linha que separa 50% da amostra abaixo dela) de uma população estará entre o maior e o menor elemento de uma amostra de 5 (daquela população) com 97,75% de certeza. Com 5 amostras já é possível ter a visão de onde a mediana está localizada;
  • Em uma distribuição uniforme, há 90% de certeza que o 12º valor estará entre o menor e o maior dentre os 11 valores anteriores;

Esses fatos nos dizem que não precisamos ter uma infinidade de dados para fazer as análises. Parafraseando Douglas W. Hubbard, autor do livro How to Measure Anything:

“Ter alguma informação é melhor que não ter nenhuma!”

Na ferramenta que usamos aqui na Zappts atualmente, a partir de 10 itens concluídos, desde que esses respeitem as premissas da Lei de Little, já é possível realizar as análises que apresentamos.

Para finalizar, algumas considerações importantes:

  • Utilize a mesma unidade de tempo para todas as métricas (diário, semanal, quinzenal, mensal, etc…);
  • Lei de Little é uma relação de médias e não deve ser utilizada para predições;
  • O tamanho dos itens não é o mais importante!
  • Comece a medir agora!
  • Qualquer quantidade de dados é melhor que nenhum dado;
  • Esta apresentação está longe de exaurir o tema!

Sobre a Zappts

Fundada em 2014 por Rodrigo Bornholdt e Pablo Augusto, a Zappts realiza a aceleração digital de grandes marcas com times de alta performance. Com foco no desenvolvimento de software, especialmente em Front-end, UX Design, Quality Assurance e Gestão de Ambientes Cloud atua no planejamento, gestão e operação de serviços de desenvolvimento de soluções digitais corporativas, gestão de ambientes e transferência de conhecimento por meio da tecnologia da informação. Referência na criação de experiências digitais para os usuários, além de desenvolver soluções inovadoras e rápidas, a empresa atua em modelo 100% remoto, com equipes distribuídas em mais de 17 estados do Brasil.