Tome as rédeas da sua dívida técnica antes que ela saia do controle

Em nossas vidas pessoais, compreendemos a natureza e as consequências da dívida financeira. Pegar um empréstimo ou usar o cartão de crédito não é, por si só, um problema – desde que saibamos quando e como pagar. No mundo da tecnologia, temos um conceito similar chamado “dívida técnica”, que merece a mesma atenção cautelosa.

Mas, antes de avançarmos, um esclarecimento: no Brasil, muitos têm usado o termo “débito técnico” como tradução. Apesar de débito e dívida serem sinônimos em muitos contextos, no campo da tecnologia, “dívida técnica” é a tradução mais apropriada e alinhada ao conceito original.

O que é dívida técnica?

A dívida técnica refere-se a decisões de desenvolvimento feitas para entregar algo mais rapidamente, mesmo sabendo que essas escolhas podem requerer mais trabalho no futuro. Assim como um empréstimo financeiro, pode ser estratégico assumir essa dívida em prol de objetivos imediatos, desde que tenhamos um plano claro para “quitar” essa dívida posteriormente.

Por que “dívida”?

Imagine que você pegou um empréstimo para investir em um negócio. No início, isso lhe permite crescer mais rapidamente. No entanto, se você ignorar o pagamento dessa dívida, os juros acumularão e, eventualmente, o que era um impulso pode se tornar um fardo insustentável.

De modo similar, quando adiamos certas tarefas, como refatoração de código ou otimização de infraestrutura, o projeto pode seguir mais rápido no curto prazo. Um exemplo comum de dívida técnica é quando um desenvolvedor decide não refatorar um código antigo e complexo, optando por adicionar novas funcionalidades em cima dele. Isso pode acelerar o processo de desenvolvimento no curto prazo e, por isso mesmo, pode ser uma medida acertada.

Ao contrário do que muita gente acredita, a dívida técnica (também chamada carinhosamente de “gambiarra”) não é necessariamente uma coisa ruim e que deveria ser evitada a todo custo - desde que usada com moderação, e nos momento onde ela realmente se faz necessária. O problema é o uso indiscriminado e sem controle.

O custo da dívida técnica não gerenciada

Tal qual acontece com uma dívida no cheque especial ou no cartão de crédito, é preciso “abater” essa dívida técnica o mais rápido possível, pois ela também acumula “juros”: bugs, problemas de desempenho, dificuldades na implementação de novas funcionalidades, riscos de segurança e outros.

Sem um gerenciamento adequado, a dívida técnica pode se tornar uma bola de neve. Se ignorada, ela aumenta exponencialmente, tornando-se uma ameaça para a qualidade, desempenho e segurança do software. Além disso, o custo para resolver problemas oriundos dessa dívida aumenta com o tempo, demandando mais recursos, tempo e energia da equipe.

Gerenciando a dívida técnica

Assim como nas finanças pessoais, o primeiro passo é reconhecer a dívida. Utilize ferramentas como o Azure Boards para registrar e monitorar essa dívida.

Uma estratégia interessante, aqui, é criar work items (como, por exemplo, uma User Story) onde a pessoa descreve qual é a dívida técnica, o que ela impacta e qual é o plano para endereçá-la. Isso permite que a equipe tenha uma visão clara do que precisa ser feito e do que já foi feito. Você pode, então, aplicar uma tag específica para esses work items e, assim, filtrá-los facilmente.

De tempos em tempos, a equipe revisa essa lista de dívidas técnicas e prepara um plano estratégico para sua “liquidação”. Isto pode incluir sprints dedicados à refatoração ou alocação de uma porcentagem do tempo de desenvolvimento para endereçar esses pontos.

O mais importante aqui é:

  • Nunca deixar de registrar as dívidas técnicas. Como falamos anteriormente, elas muitas vezes são a melhor solução no curto prazo para um problema específico e por isso não há motivos para se envergonhar e/ou esconder essas dívidas. Transparência é um valor fundamental para o sucesso de qualquer projeto.
  • Sempre revisar a lista de dívidas técnicas. Estabeleça uma cadência para que vocês, como equipe, se reúnam e discutam não apenas o momento mais apropriado, mas a melhor estratégia para solucionar uma dívida técnica. Isso pode ser feito em uma reunião de planejamento de sprint, por exemplo.

Conclusão

Na CloudMotion, acreditamos que a compreensão e o gerenciamento adequado da dívida técnica são fundamentais para projetos de software bem-sucedidos. É possível, sim, coexistir com ela, desde que haja consciência e planejamento. Assim como você não deixaria uma dívida financeira sair de controle, não permita que a dívida técnica comprometa a saúde e a sustentabilidade de seus projetos.

E na sua empresa, como vocês lidam com a dívida técnica? Deixe seu comentário abaixo!

Um abraço,
Igor



09/08/2023 | Por Igor Abade V. Leite | Em Negócios | Tempo de leitura: 4 mins.

Postagens relacionadas