173 views 6 mins

Já pensou na dívida técnica da sua organização?

em Artigos
segunda-feira, 03 de agosto de 2020

Franzvitor Fiorim (*)

Alguma vez você já procrastinou para lavar a roupa e viu a pilha de roupas sujas continuar crescendo, apenas esperando você lidar com ela?

Você está sempre ocupado, cansado e continua dizendo que vai fazer isso amanhã. Então, de repente, você percebe que já se passaram três semanas e agora você está correndo freneticamente, atrasado para o trabalho porque você não tem meias limpas! Essas pequenas coisas que você adia podem passar de um pequeno inconveniente para uma emergência quando são ignoradas por tempo suficiente.

Quantas vezes um problema de um cliente surgiu de algo que você já sabia e pretendia corrigir, mas “não teve tempo”? Quantas vezes você esteve trabalhando em algo e pensou, “uau, isso seria muito mais fácil se eu tivesse tempo para…”? – Isso é a dívida técnica. No mundo da tecnologia, onde um buraco aparentemente pequeno – uma pequena vulnerabilidade – pode derrubar todo o seu sistema, gerenciar a dívida técnica é fundamental.

Resolver problemas antes que eles se tornem situações emergentes é necessário para ter sucesso. Se você está sempre correndo a toda velocidade para resolver o último problema na produção, você nunca vai ficar à frente da sua concorrência e só vai ficar mais para trás. É muito fácil entrar num padrão de deixar as pequenas coisas para outro dia.

Otimizações de construção, aquele teste de unidade aleatório que está faltando, aquele playbook que você pretendia escrever após o último incidente – a dívida técnica é um problema real também! Ao passar apenas um pouco de tempo a cada dia para arrumar algumas coisas, você pode tornar o seu sistema mais estável e proporcionar uma melhor experiência para seus clientes e seus colegas desenvolvedores.

Imagine seu código como uma montanha de roupa suja. A cada dia que passa, você coloca um pouco mais de roupa nela. Quanto mais dívida você adiciona, mais difícil a sua tarefa parece. Você brinca sobre como não tem lidado com isso, mas você realmente está ficando cada vez mais ansioso e cauteloso sobre realmente enfrentar a dívida, e o que você vai encontrar quando o fizer.

Talvez se você procrastinar apenas mais um pouco um herói vai aparecer e lavar as roupas para você! (Podemos sonhar, certo?) Quanto mais dívida você acumula, mais tempo você levará para resolvê-la, será mais difícil e haverá maior risco de introduzir um novo problema. Esse estresse e complexidade adicionais não soam muito atraentes, então por que fazemos isso? A dívida técnica é geralmente causada por coisas como ter muito trabalho em andamento, prioridades conflitantes e (surpresa!) trabalho negligenciado.

Gerir a dívida técnica requer apenas uma coisa importante – uma mudança cultural. Tanto quanto possível, temos de deixar de criar essa dívida, caso contrário nunca conseguiremos controlá-la. Para fazer isso, precisamos mudar nossa mentalidade. Precisamos dar um passo para trás e ter tempo para ver e tornar visível toda a dívida técnica em que estamos nos afogando, e então podemos começar a resolvê-la.

Minha equipe, inspirada no livro “The Unicorn Project” de Gene Kim, começou a fazer “dias de dívida” quando temos tempo entre projetos. Cada pessoa escolhe um ponto de dor, algo que está interessada em consertar, e começamos aí. Nós dedicamos dois dias para remover a dívida e concluir os chamados que estavam no backlog por mais de um ano.

Também adicionamos novas métricas e dashboards para melhor resposta a incidentes e ferramentas de desenvolvimento aprimoradas. Agora, com cada nova mudança de código, estamos atentos. Será que essa mudança introduz alguma dívida? Temos a capacidade de corrigir isso agora? Encorajamos uns aos outros a corrigir problemas à medida que os encontramos, sejam eles com a forma como as nossas construções funcionam, com os nossos processos de comunicação ou um bug no código.

Precisamos nos dar tempo para respirar, tanto na nossa vida pessoal como no trabalho. Fazer uma pausa entre tarefas não só nos permite nos preparar mentalmente para a próxima, mas também nos dá tempo para aprender e refletir. É nessas pausas que podemos ver se criamos alguma dívida técnica e talvez corrigi-la imediatamente. A melhoria do trabalho diário permite que os desenvolvedores se concentrem no que é realmente importante, entregando valor e encontrando mais alegria no seu trabalho.

Encontre tempo para lidar com as dívidas técnicas. Seus desenvolvedores, equipes de segurança e clientes agradecerão por isso.

(*) – É diretor técnico na Trend Micro Brasil.