Até que ponto vale a pena ser ágil?

Alguns projetos priorizam demais o prazo de entrega em detrimento à qualidade do código. Se os seus desenvolvedores tem de focar em entregar mais do que em escrever bem o código-fonte, eles provavelmente vão ter de encontrar uma forma de compensar as coisas para que você fique satisfeito.

Eles podem tentar fazer isso de algumas formas:

  • estimar as tarefas para cima
  • se comprometer com mais do que podem cumprir

Superestimando tarefas

Superestimar as tarefas é a primeira coisa que os desenvolvedores tentam fazer para conseguir atingir os objetivos com mais folga, mas isso é um pouco difícil de acontecer porque automaticamente se traduz em um maior prazo e consequentemente em um maior custo para o projeto. Product Owners querem o oposto disso e tentarão diminuir o prazo estipulado o máximo possível.

Prometendo o que não se pode cumprir

Geralmente, os desenvolvedores irão ceder à pressão. Aceitam se comprometer com mais do que eles podem cumprir e acabam pulando partes importantes das tarefas como:

  • pensar sobre a arquitetura
  • escrever a documentação
  • escrever os testes
  • fazer code refactoring
  • fazer code review

Muitas dessas sub-tarefas são vistas como um componente opcional, pois não serão, à primeira vista, percebidas pelos clientes. Mas acumular débito técnico é algo perigoso e irá reduzir a qualidade do produto de maneira progressiva no decorrer do tempo. Você poderá descobrir isso no futuro e da pior forma possível, quando realmente estiver precisando corrigir e reorganizar as coisas rapidamente.

Acredite: deixar para corrigir débito técnico depois tem um custo excepcionalmente maior.

Encontrando o equilíbrio

Talvez um dos maiores problemas da Engenharia de Software esteja em encontrar o equilíbrio entre velocidade e qualidade. É preciso ter cautela para não transformar uma métrica em um objetivo e acabar colocando tudo a perder.

Não podemos demorar demais a entregar valor ao cliente, mas também não podemos perder o controle do software subestimando tarefas e encurtando prazos, criando expectativas irreais e objetivos que não poderão ser cumpridos. Precisamos entender o quanto podemos entregar para saber o quanto podemos nos comprometer.

Melhorando estimativas

As pessoas criam expectativas. Tanto Gerentes de Projeto quanto Desenvolvedores precisam ter uma ideia clara do que devem fazer e dos pontos que devem entregar a cada sprint. Podemos tomar algumas atitudes para aumentar a precisão das nossas estimativas, dentre elas:

  • descrever as tarefas antes de estimá-las
  • discutir a arquitetura com o time
  • entender os desafios técnicos envolvidos
  • identificar padrões

Tenha cuidado ao utilizar a média de pontos sozinha como parâmetro para aferir velocidade. Ela pode não dizer muita coisa e até atrapalhar a visualização do desempenho do time. Deve ser levado em consideração o desvio padrão dos resultados, além de outros fatores externos, claro, como estado emocional das pessoas envolvidas e complexidade das tarefas.

Imagine que durante quatro semanas o resultado dos sprints foram: 5, 8, 4 e 13 pontos. Ao final do mês, a média ou velocity alcançada foi de 7.5 pontos. No entanto, o desvio padrão calculado durante o período é de aproximadamente 4 pontos. Isso não significa que o total para o próximo sprint será algo próximo da média de 7.5 pontos, o resultado pode estar em qualquer lugar entre 3.5 e 11.5 pontos. É uma diferença enorme!

Isso acontece porque as tarefas executadas por um time de desenvolvimento nem sempre são homogêneas. Na verdade, quase nunca elas são. A não ser que você trabalhe com formulários muito simples (CRUD), provavelmente você terá desafios ímpares a cada dia de trabalho.

Além disso, existem diferenças na capacidade intelectual, habilidades e estado emocional de cada um, que podem interferir na quantidade e qualidade do código desenvolvido.

Cumprindo o prometido

Parece óbvio, mas para conseguir entregar o que prometemos, precisamos evitar ficar com muitas tarefas ao mesmo tempo. Precisamos evitar abraçar mais pontos do que podemos entregar.

Nem sempre estimativas estão corretas, mas é por isso que elas se chamam estimativas!

Considerando uma estimativa bem feita, para conseguir alcançá-la é preciso:

  • manter o foco
  • evitar mudanças de contexto
  • evitar violações de escopo
  • ser pragmático
Feito é melhor do que não feito…

Parece óbvio, mas essa é a importância do equilíbrio. Não adianta planejar demais e não executar as tarefas. No final das contas, triunfa o bom senso. Agilidade está ligada a eficiência e não apenas à velocidade.

Like what you read? Give Victor Torres a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.