Antipattern: Na volta a gente compra

Afinal de contas, o que isso tem a ver com planejamentos em geral e/ou desenvolvimento de software?

Esse antipattern é associado a um comportamento comum vivido por muitos de nós quando crianças, quando víamos algo que desejavamos, porém, nossas mães por impossibilidade ou falta de desejo de nos premiar, nos ludibriávamos com a célebre frase “na volta a gente compra” (Isso no brasil, em seu país onde ser outra expressão mas o comportamento parece ser universal). Mesmo na vida adulta, observei que isso é bastante ativado quando uma pessoa ou equipe, em um prazo muito curto (devido a questões contratuais por exemplo), resolve implementar rapidamente um recurso, negligenciando boas práticas e inviabilizando a sustentabilidade a longo prazo, de forma que inexoravelmente cria dívidas técnicas1.

Mesmo parecendo obviamente lógico após uma análise racional simples, a quantidade de vezes que isso acontece em empresas (principalmente startups devido ao baixo orçamento) chega a ser surreal. Ao longo dos meus 15 anos como engenheiro de software, vi isso acontecer com mais frequência do que chuva no sertão. Vi na prática e ouvi em relatos não só de engenheiros de software, mas, de outras profissões (inclusive não relacionadas a TI ou exatas) como algo tão simples … e, acredito que devido a essa simplicidade, chegamos a não dar a importância devida. Mas, anotem essa regra geral:

Dívidas técnicas tem juros compostos.

A ideia é “faz algo aí e vê o que acontece”, que é um verdadeiro tiro no escuro, mesmo sendo arriscadíssima é plenamente utilizada, como um efeito colateral do péssimo planejamento em geral. Falarei sobre esses planejamentos ao longo do tempo por aqui, e, há várias razões para tal, porém, esse antipattern é responsável IMHO2 por muitos projetos, após alguns anos, terem que ser jogados no lixo e serem refeitos do zero, porque, todos esquecem na natureza das dívidas técnicas. Na minha visão, uma dívida técnica se comporta exatamente igual ao uso de cartão de crédito, só variando a taxa no caso.

Jogando futebol em um PS3 com um amigo e conversando sobre desenvolvimento de software, no mesmo momento em que falávamos sobre as péssimas práticas que algumas startups usam no seu dia a dia, em um timming perfeito, associamos ao comportamento materno citado. O que de fato me faz colocar isso como um antipattern é a simplicidade e a profundidade do problema. E aqui vem a pegadinha:

Deus, eu, você e nosso inconsciente sabemos que, “na volta a gente” é um eufenismo para nunca. E, assim quando criança, mesmo sem querer costumamos cair nessa parábola, até sentir o gosto amargo dos juros compostos em nossa vida.

Frases que identificam que você ou seu time podem estar usando esse antipattern:

Até o chatgpt parece concordar comigo (rs):

Chatgtp about antipatterns

O pattern correto é SEMPRE primeiramente entender a essência do problema: Nesse caso, as constantes e inevitáveis mudanças do mercado. Entendido isso, e, sabendo da impossibilidade de resolver a mudança, nos adaptamos a ela: Com um pouco de bom senso e usando analogia da boa educação financeira concluímos que é apenas agendar uma correção ou reajuste em tempo hábil. Ao não fazer isso o antipattern é ativado e se materiza negativando o bolso do responsável cobrando juros compostos.


Referências e citações

  1. O termo vem de uma metáfora inspirada no conceito de dívida existente na área de finanças e negócios, aplicada ao campo de software. 

  2. IMHO: “In My Humble Opinion” (Em minha humilde opinião). 

  3. CNTP: Condições normais de temperatura e pressão. 

  4. “Porque existem muitos que são descuidados consigo mesmo. E os descuidos nunca dão bons resultados: o que é preciso ser feito hoje não se deve deixar para amanhã” (Racional Superior em Universo em Desencanto: 162H) 

Discussion and feedback