Definição de Timebox
Timebox – parece algo extraordinário, não é? Se você estivesse lendo um romance de ficção científica, talvez esse seja outro nome para Fonte da Juventude? Não é nada extraordinário, mas é uma regra importante e valiosa na prática de desenvolvimento de software Agile. O desenvolvimento ágil se concentra em quebrar requisitos complexos em tarefas ou atividades menores que podem ser concluídas em um curto período de tempo. Isso também é conhecido como desenvolvimento de software iterativo.
Embora seja eficaz em muitos métodos Agile diferentes, o conceito de timeboxing pode ser aplicado a qualquer tipo de atividade. Na verdade, você já experimentou muitas atividades em caixa na sua vida, mas não estava ciente do termo formal.
Uma caixa de tempo é semelhante a colocar o tempo em uma caixa, se isso fosse possível! Um timebox é um limite de tempo colocado em torno de uma atividade ou tarefa. Nas práticas ágeis, existe uma caixa de tempo ou limite de tempo para cada atividade e uma das principais razões é que nas práticas ágeis, o tempo e a qualidade são variáveis fixas. O escopo não é fixo, o que contrasta com as metodologias tradicionais de gerenciamento de projetos, nas quais o tempo e o escopo são geralmente fixos.
O estabelecimento da duração do timebox é determinado antes da atividade, durante o planejamento, desenvolvimento ou estimativa. Uma vez que a duração do tempo termina, a atividade termina.
Timeboxes eficazes são aqueles limitados a uma curta duração ou período de tempo, mas longos o suficiente para concluir a atividade dentro de um período de tempo razoável. Depois que um intervalo de tempo razoável é determinado, ele deve permanecer consistente. Timeboxing é uma ferramenta que pode ser aplicada a qualquer tipo de atividade e é um bom primeiro passo se você deseja incorporar práticas Agile.
Exemplos de Timeboxes
Este termo ainda parece estranho? Aqui estão alguns exemplos de timeboxes dos quais você provavelmente já participou.
Verificação de pulso
Esta atividade requer apenas 30 segundos de tempo, portanto, é limitada no tempo para 30 segundos. O médico ou enfermeira coloca os dedos em seu pulso, liga o cronômetro e começa a contar o número de batidas do seu coração. Após 30 segundos, eles param de contar.
Teste cronometrado
Muitos de nós fizemos um teste cronometrado e a maioria de nós não gosta deles! Os testes cronometrados podem durar de uma hora a mais, mas nunca parece haver tempo suficiente. Enquanto pensa profundamente na tentativa de solucionar uma solução, você é interrompido por uma voz que diz: ‘Corta o lápis, acabou o tempo!’ Não é uma caixa de tempo divertida!
Período de férias
Férias são um ótimo exemplo de atividade com prazo limitado e muito mais divertida do que fazer um teste cronometrado. Seja uma semana ou mais, você sabe quanto tempo está de férias. Embora você possa não ter exatamente todas as suas atividades planejadas ainda, você sabe a data de sua partida e de retorno. A duração é fixa, a menos que você decida passar mais alguns dias em Aruba.
Exemplos de caixas de tempo de planejamento ágil
Existem muitos frameworks diferentes que se enquadram na metodologia Agile e a maioria deles limitam o tempo de pelo menos uma atividade.
A seguir estão alguns exemplos de como eles se aplicam no Scrum:
Cerimônia de Levantamento Diário
Uma cerimônia diária em pé é uma prática Scrum onde um Time Scrum se levanta, como o nome indica, em um círculo e responde a três perguntas básicas sobre seu trabalho diário. A reunião está limitada a 15 minutos.
Uma Sprint ou Iteração
Além disso, um timebox do framework Scrum, um sprint , às vezes referido como uma iteração, é limitado ao tempo normalmente para duas semanas, mas pode variar dependendo da equipe. Um sprint é o ciclo de tempo em que o produto é projetado, codificado e testado e potencialmente enviado ou entregue. O desenvolvimento começa no primeiro dia da Sprint e termina no último dia e, esperançosamente, todo o trabalho foi concluído. Caso contrário, o trabalho inacabado é priorizado novamente para um sprint futuro.
Refinamento do Backlog
Um refinamento do backlog ou cerimônia de preparação é o momento para o product owner apresentar um requisito e para a equipe discutir e estimar. A cerimônia de refinamento não é apenas limitada em 1 a 4 horas, mas também o tempo que os desenvolvedores levam para discutir os requisitos, que geralmente é de 1 a 3 minutos.
Por que Timebox?
Agora que você entende o que é um timebox, aqui estão alguns motivos pelos quais o timebox é uma boa prática.
Priorização de forças
Já lhe foi feita a pergunta: ‘Se você tivesse apenas mais um dia de vida, o que você faria?’ Sim, esta é uma pergunta mórbida, mas na realidade, se você tivesse apenas mais um dia de vida, provavelmente se preocuparia em gastar tempo com coisas de valor e isso pode ser escrito na forma de uma lista de desejos. Você pode não necessariamente obter todas as coisas de sua lista de desejos em uma vida, mas provavelmente a priorizaria imediatamente se soubesse que só teria mais um dia na Terra.
O mesmo se aplica ao cronograma de uma atividade. Se você sabe que tem apenas uma certa quantidade de tempo para trabalhar em uma atividade ou conjunto de atividades, gastará mais tempo nas mais valiosas. Isso garante que as coisas mais importantes sejam feitas primeiro, o que força a priorização.
Reduz o risco
Ao manter os prazos curtos e razoáveis, os problemas são expostos no início do processo. Considere o exemplo do sprint quando, ao final de um sprint de 2 semanas, o cliente tem a chance de revisar o recurso desenvolvido e fornecer feedback. Isso permite que o feedback seja incorporado mais cedo no processo de desenvolvimento e que possíveis problemas sejam resolvidos rapidamente, o que ajuda a reduzir o risco.
Resumo das aulas
Timeboxing é uma ótima ferramenta ágil que pode ser aplicada a qualquer tipo de atividade, seja na sua vida pessoal ou profissional. Ao aplicar um determinado período de tempo a uma atividade, você se concentrará nas coisas mais importantes e reduzirá o risco.