Produtize seus débitos técnicos
Eai galera, hoje vamos falar sobre um tema que muitas vezes é deixado de lado nas equipes de desenvolvimento, mas que é essencial para a saúde do nosso código: o débito técnico. Sabe aquela “gambiarra” que a gente faz para entregar o projeto no prazo? Pois é, ela não desaparece magicamente e pode acumular bastante com o tempo. Mas como conseguimos priorizar isso dentre tantas features de negócio? Como convencer a sua liderança ou o PM/PO do seu time pra que isso seja priorizado no Roadmap? Não é tão simples, né? Por isso, quero compartilhar algumas dicas para você começar a “produtizar” seus débitos técnicos, tratando-os como se fosse uma feature de negócio, igual a galera de produto faz, até porque essas sim são priorizadas né? :P
Entenda o Impacto no Negócio
Primeiro, é fundamental entender e comunicar o impacto do débito técnico no negócio. Imagine que cada pedaço de código legado é como uma pequena rachadura na fundação de uma casa. Com o tempo, essas rachaduras podem se expandir e comprometer toda a estrutura. No mundo do desenvolvimento, isso se traduz em uma redução na velocidade de desenvolvimento, aumento do risco de falhas e bugs, e, claro, uma piora na experiência do usuário final, afetando a receita e a reputação da empresa. Traga pontos claros e abertos para a discussão, com evidências para fortalecer o seu argumento.
Quebre em Pequenos Entregáveis
Assim como as pessoas de Produto dividem um projeto grande em partes menores, você deve dividir o débito técnico em tarefas menores e mais gerenciáveis. Isso não só facilita a priorização e a execução, mas também torna mais fácil para todos entenderem o que será feito e por quê. Por exemplo, se você tem um sistema de login que foi feito rapidamente e agora é lento e tem bugs, você pode dividir a melhoria deste sistema em várias etapas: primeiro, refatorar a camada de negócio; depois, melhorar a injeção de dependências; e por último, refazer as telas usando componentes atualizados.
A dica é: sempre anote cada ponto que precisa ser refatorado, quebre em tasks e estime um tempo que vai levar pra cada parte da refatoração, isso vai ser muito útil quando for negociar cada ponto.
Comunique-se em Termos Simples
Quando discutir débitos técnicos com pessoas não técnicas, evite falar palavras difíceis que só os devs entendem do que se trata. Use analogias simples e explique os conceitos de forma que todos possam entender. Por exemplo, compare o débito técnico a uma dívida no cartão de crédito: quanto mais você espera para pagar, mais juros você acumula 😅
Métricas de Sucesso
Defina métricas claras para medir o sucesso da resolução de débitos técnicos. Isso pode incluir o tempo de build do projeto, a redução de dependências, cobertura de testes ou a curva de aprendizado de novos devs no time. Essas métricas ajudarão não apenas a entender o cenário atual, mas também pra acompanhar a evolução quando você for resolvendo os débitos aos poucos.
Relacione com as Metas da Empresa
Mostre como resolver o débito técnico está alinhado com as metas gerais da empresa. Se a organização está buscando crescimento e desenvolvimento de novos produtos como meta, argumente como uma base de código mais limpa e moderna contribui diretamente para esses objetivos, como isso conecta com novas tecnologias e facilita a adesão.
Referências e Estudos de Caso
Uma das “leis da programação” é que é muito raro só nós estarmos passando por esse problema. Muitas outras empresas e desenvolvedores passam por perrengues parecidos ou até piores. Pesquise estudos de caso e artigos de grandes empresas que destacam as melhores práticas e os benefícios disso em comparação com o seu problema atual. Por exemplo, se está com problemas de injeção de dependência e quer mudar a arquitetura, procure artigos sobre empresas que fizeram essa migração.
Entenda os problemas e escolha suas batalhas
Nem sempre é possível que seus débitos técnicos de forma completa sejam priorizados, por isso esteja aberto a negociar e entenda o que é realmente necessário refatorar e o que é apenas um capricho. O pouco que você conseguir negociar, muitas vezes já é o suficiente pra conseguir dormir tranquilo a noite quando seu código ir pra produção.
Conclusão
Agora é com você! Encorajo você a ter um olhar diferente para seus débitos técnicos e entenda como vender isso da melhor forma. Comece pequeno, escolha uma área ou um módulo que precisa de melhorias e aplique as estratégias que discutimos hoje. Lembre-se, cada pequeno passo na resolução de débitos técnicos não só melhora o seu código, mas também ajuda todos os devs e alinha seus projetos com os objetivos de negócio da sua empresa. Se tiver dúvidas ou quiser compartilhar suas conquistas, deixe um comentário abaixo. Vamos transformar esses desafios em oportunidades juntos!
Referência
Pra quem quer se aprofundar no assunto e ver outros opiniões a respeito, recomendo a talk do Bruno Ramos no CocoaHeads que rolou no iFood, em SP! Segue o link.