Se você não esteve viajando pelo espaço nos últimos 10 anos, provavelmente já ouviu falar de um tal “timeboxing”, certo? Bom…se não ouviu, isso não implica necessariamente que você estava em outro planeta, mas que perdeu uma das melhores ideias que as práticas ágeis trouxeram.
Timebox na tradução literal significa “caixa de tempo”. Ou seja, é ter o tempo limitado para fazer um determinado trabalho, tentando cumprir o máximo possível dentro dessa janela de tempo.
Assim, o timeboxing nada mais é que você alocar um determinado período (timebox) à uma atividade. Isso definitivamente não é novidade nenhuma, afinal, médicos e psicólogos aplicam muito bem esse conceito. Terminado o “timebox” da sua consulta, que entre o próximo paciente, não é mesmo?
Então, por que tanto festejamos esse conceito? Porque finalmente podemos impor um limite àquelas reuniões intermináveis que tanto odiamos.
Os dois tipos
Todo evento timeboxed tem uma duração máxima pré-definida, ou seja, nunca devemos estender a duração desse evento porque não conseguimos finalizar o planejado.
Assim, devemos nos adaptar ao timebox para finalizar tudo dentro do prazo estipulado, e se isso não for possível, devemos abandonar as atividades de menor importância.
Existem dois tipos de timebox:
- Duração fixa: neste, o evento tem uma duração fixa. Se todo o trabalho previsto foi finalizado, o evento não é encerrado. O que se faz é adicionar mais trabalho até que o timebox se encerre.
- Duração máxima: já aqui, o evento tem uma duração máxima e se todo o trabalho previsto foi finalizado o evento é então encerrado.
Vantagens do uso do timeboxing
Algumas das vantagens em se utilizar esse conceito são:
- Quando sabemos que temos pouco tempo para executar uma atividade, não procrastinamos e vamos direto ao que interessa.
- Nossas reuniões serão mais focadas e objetivas, conforme o assunto a ser trabalhado, ou seja, já que tem hora para acabar, os participantes não ficam divagando ou comentando como foi o episódio do Big Brother do dia anterior.
- Temos a eliminação do desperdício de tempo, porque existe um prazo bem definido.
- Ocorre a valorização do tempo de trabalho da equipe, ou seja, não gastaremos tempo com reuniões intermináveis.
- E como o tempo é limitado, evitamos absorver atividades extra-projeto.
O timeboxing e o Scrum
O timeboxing nada mais é do que estabelecer durações para cada evento. Esse é um conceito essencial para os métodos ágeis, e em especial o Scrum, que divide o trabalho em Sprints.
Pense em Sprints como sendo curtos intervalos de tempo em que uma certa quantidade de trabalho tem de ser feito.
Cada Sprint começa com uma Reunião de Planejamento, durante a qual as Histórias de Usuário de alta prioridade são escolhidas para serem executadas.
Durante a Sprint, são realizadas Reuniões Diárias de 15 minutos altamente focadas onde os membros do time discutem o progresso diário.
Perto do final da Sprint, uma reunião de Revisão da Sprint é realizada, na qual o Dono do Produto e as Partes Interessadas recebem uma demonstração dos entregáveis.
O ciclo da Sprint termina com uma reunião de Retrospectiva da Sprint, onde o time avalia maneiras de melhorar os seus processos e o seu desempenho à medida que avançam para a próxima Sprint. E um novo ciclo se inicia.
Assim, resumidamente temos que:
Evento | Duração | Timebox do tipo |
Sprint | Até 4 semanas | Duração fixa |
Reunião de Planejamento da Sprint | até 8 horas para uma Sprint de 4 semanas | Duração máxima |
Reunião diária | 15 minutos | Duração máxima |
Reunião de Revisão da Sprint | até 4 horas para uma Sprint de 4 semanas | Duração máxima |
Reunião de Retrospectiva da Sprint | até 3 horas para uma Sprint de 4 semanas | Duração máxima |
Distribuição percentual do tempo
Embora o Scrum tente reduzir desperdícios prescrevendo os eventos que vimos anteriormente, é muito comum que times ainda novatos nesse Framework considerem que esses eventos sejam desperdício de tempo, já que ocupam grande parte da agenda da Sprint.
É por isso que fizemos um breve exercício matemático para mostrar percentualmente quanto “custa” para um time seguir o que foi prescrito. Assim, para Sprints de 4 semanas (ou 160 horas), temos a seguinte distribuição de tempo entre os eventos:
Evento | Quantidade | Duração em horas | Percentual da Sprint |
Reunião de Planejamento da Sprint | 1 | 8 | 5,0% |
Reunião diária (15 minutos ou 1/4 de hora) | 20 | 5 | 3,1% |
Reunião de Revisão da Sprint | 1 | 4 | 2,5% |
Reunião de Retrospectiva da Sprint | 1 | 3 | 1,9% |
Total de horas | 20 | 12,5% |
Então, para Sprints de 4 semanas, ou 160 horas, apenas 20 horas, ou 12,5% do tempo, são reservados para os eventos. Ou ainda, 87,5% do tempo que perfazem 140 horas são dedicadas exclusivamente para o desenvolvimento do produto.
Para uma visualização melhor, montamos o gráfico a seguir:
É por isso que muitas vezes é inconcebível que alguns times se recusem a executar os eventos previstos alegando que seriam desperdício de tempo.
Ou seja, como o Scrum usa eventos com tempo definido, todos eles têm duração máxima. Isso garante que uma quantidade adequada de tempo seja consumida nesses eventos e sem desperdício.
Aliás, eventos do Scrum são usados para criar regularidade e evitar a necessidade de outros eventos não definidos, como aquelas longas reuniões que poderiam ter sido resumidas em um e-mail.