É comum que tenhamos que fazer decisões difíceis de priorização na construção de software. Não apenas priorizações de produto, mas também priorizações técnicas, onde soluções perfeitas precisam esperar para dar lugar para soluções incompletas, mas que resolvam o problema imediato. Quando isso acontece, é muito comum que procrastinemos a continuação e a evolução dessas soluções técnicas. E essa é uma das maneiras que os débitos técnicos nascem.
Débitos técnicos são parecidos com cartão de crédito: se você não pagar a fatura, os juros aumentam seu débito, até o ponto que não há como pagar a fatura completa, forçando você a parcelar a dívida. Outro ponto é que você poderá ficar com o nome sujo na praça, acarretando uma série de problemas de curto, médio e longo prazo para o produto.
Por que priorizar débitos técnicos é algo muito importante
No cartão de crédito você até tem a opção de ficar inadimplente, agora, no mundo de construção de software, ficar inadimplente pode significar risco de continuidade do negócio.
Um exemplo prático: aqui na Vindi temos uma atenção redobrada com as atualizações de segurança dos frameworks que usamos. Já deixamos o Rails desatualizado durante muito tempo e uma versão mais atual corrigiu uma falha de segurança muito crítica, que para o contexto do mercado financeiro, é imprescindível que corrigíssemos. Como não tivemos a rotina de atualizar o Rails assim que as novas versões eram publicadas, tivemos que ficar quase um mês em um processo de atualização para alcançar a versão mais atual, com o objetivo de evitar riscos de funcionamento da plataforma.