Alguns anos atrás, trabalhei para uma pequena empresa que desenvolvia estruturas internas que dedicava seu desenvolvedor mais sênior e seu arquiteto ao desenvolvimento de uma estrutura MVC e ORM personalizados do zero. Essas duas coisas eram ortogonais ao seu produto principal. Infelizmente, o suporte a essa abordagem orientada a estruturas veio do topo e atrasou a entrega de software de geração de receita - e as estruturas produzidas foram notavelmente inferiores às alternativas disponíveis no mercado, que agravaram os atrasos. A empresa consumiu dinheiro rapidamente e, eventualmente, todos foram demitidos.
Um empregador posterior cometeu um erro semelhante - eles obtiveram um desenvolvedor altamente qualificado tecnicamente - um perfeccionista, com uma forte base nos padrões de design da empresa para projetar demais uma solução de consultoria para um de seus clientes, conscientemente sofrendo uma perda, na esperança de que a solução pode ser adaptada e estendida para outros clientes. O projeto ultrapassou significativamente. Mas nenhum outro cliente em potencial mordeu. Um erro estratégico banhado a ouro que custou uma pequena fortuna.
Nos dois casos, houve um grau significativo de superengenharia. Nos dois casos, a empresa e o gerenciamento de projetos eram pessoas com experiência em domínio ou análise, em vez de experiência em programação. Nos dois casos, os arquitetos de software criaram soluções excessivamente complexas para coçar e melhorar seus currículos, com alguma cumplicidade do gerenciamento não técnico. Em ambos os casos, os arquitetos não tinham interesse em manter os custos baixos (além do risco de perder seus empregos se as empresas falissem - o que não era muito arriscado, considerando sua alta empregabilidade).
Minha experiência sugere que não é uma armadilha incomum que as lojas de desenvolvedores caiam.
Existe algum projeto em software para uma função técnica adversa interna ou externa formal - um "Surveyor de Quantidade" - para usar uma analogia de edifício - que possa chamar ou impedir a engenharia excessiva? Quem é o mais adequado para desempenhar esse papel?