Primeira publicação em 2022-12-19
Na discussão abaixo assumo que o leitor já está familiarizado com os conceitos básicos ágeis / XP. Para recapitular, o trabalho é dividido em sprints, geralmente de 2-wk comprimento. Cada dia há um standup (você não precisa realmente ficar de pé), algumas empresas implementam duas: uma de manhã, uma antes do fim do dia. O standup consiste em cada membro da equipe dizer o que eles trabalharam ontem, no que eles estão trabalhando hoje, e se eles estão bloqueados. O diário de trabalho consiste em ingressos (um monte de ingressos é chamado de épico - a menos que seja chamado de sprint), um bilhete descrevendo quem vai fazer o quê, e quando. Os bilhetes passam por "lanes", as típicas pistas para mim são: afazer, fazer feito. Mas em toda a indústria, as pistas são: no planejamento, no convés, no progresso, pronto-para-teste, no teste, pronto-para-lançamento, fechado (feito), fechado (will-no-do).
Só quero dizer que o sprint de duas semanas não faz sentido para mim. Os meus sprints duram 1 dia. No início do dia, eu olho para o diário de trabalho e pego o que eu acho que posso realizar no dia. É isso!
E para fins de planeamento, fico com o mês confortável. Todo mundo sabe o que é um mês, o calendário já está dividido em estes, e é um tempo suficiente no sentido de que no final dele você deve ser capaz de ver progresso notável para o mês. (Não vejo necessariamente progresso visível após um dia de trabalho. Se algo não for lançado, no fim do dia poderá continuar a ser lançado. Em um mês, no entanto, você deve ver progresso significativo.)
Se o argumento é que duas semanas é apenas a quantidade certa de tempo para manter todos focados, isso também não é verdade. Ou pelo menos não o vi. Todos e tudo estão sempre atrasados. As coisas levam em média dois meses (que coisas?). Os lançamentos são semanais e não quinzenais! Em seguida, para argumentar que você diz, oh mas você pode começar seu sprint na semana 1 e colocar o trabalho no lançamento na semana 3, você pessoalmente não precisa empurrar o código toda semana. E então eu digo, ok, mas então fazer o sprint semanal, não bi-semanal, uma vez que reflete o que estamos realizando em uma semana. E então você diz, não o que acontece é que você gasta uma semana em implementação, e o QA gasta uma semana em testes. É por isso que é um sprint de duas semanas: Dev e QA. E depois digo que sim, mas isso significa que o horário é semanal, não quinzenalmente. Se eu enviar alguma funcionalidade para QA no final da semana 1, então eu tenho que trabalhar em algo na semana 2, enquanto QA está verificando meu trabalho. E então você diz oh então apenas fazer duas tarefas para um sprint, se só leva uma semana. E então eu digo, de qualquer forma, a duração do sprint de duas semanas não faz sentido. Os meus sprints são diários. E os resumos analíticos são mensais.
E eu concordo com alguns padrões da indústria. O consenso é que não há destacamentos às sextas-feiras. Porque se alguma coisa se partir, ninguém estará lá no sábado para o consertar. O melhor dia para o destacamento é quinta-feira. Desta forma, pode ser feito confortavelmente sem se preocupar com o início do dia; se demorar muito tempo você tem sexta-feira para terminar / rollback; se algo der errado sexta-feira é o dia para voltar; e ainda é uma espécie de fim de semana, então o conceito da semana é preservado. Trabalhei numa equipa onde as mentes brilhantes decidiam lançar às terças-feiras.
Suponho que a gerência decidiu que se eles podem empurrar o dia de lançamento com dois dias de antecedência, seria como poupar dois dias para eles. Não fazia sentido. Mas ninguém levantou objecções, eu não tinha antiguidade suficiente, e isto foi implementado.
Em poucas semanas, deixei de saber o que era uma semana. Acho que toda a equipa perdeu esta intuição básica. Se estou a trabalhar em alguma coisa na 1a semana e é Perguntas e Respostas na 2a semana, quando é que vai ser? Supostamente na terça-feira da semana 3, mas de alguma forma nunca resultou dessa forma. O QA terá de assinar até segunda-feira. Claro, a QA estava na Ásia um dia e meio à nossa frente. Cada comunicação com eles levou um dia inteiro. Para lhes dar um dia inteiro de testes, tive de dar o código ao QA até quinta-feira. Tudo isto parece razoável, mas na prática não funcionou. Perdi o conceito de algo "ser lançado esta semana", só na próxima semana. Algo que foi lançado esta semana já estava obsoleto.
