big ball of mud
expressãoprogramaçãocultura de operações
Um sistema sem arquitetura discernível - estruturado de forma aleatória, esparramado e mantido de pé pela conveniência.
Foote e Yoder o nomearam como a arquitetura de fato mais comum: não projetada, mas acumulada, remendo sobre remendo, até que a estrutura seja o que sobreviveu. A percepção incômoda é que ele muitas vezes vence no curto prazo, e é justamente por isso que é tão difundido.
A grande bola de lama é um artigo de 1997, de Foote e Yoder, descrevendo a arquitetura de software mais comum do mundo: nenhuma estrutura discernível, tudo conectado a tudo, informação compartilhada promiscuamente entre módulos que jamais deveriam saber um do outro.
O que torna o artigo valioso é que ele se recusa a ser apenas desdenhoso. Ele pergunta por que essa arquitetura domina e responde com honestidade: porque funciona. A lama começa rápido, não exige acordo prévio de projeto, acomoda qualquer requisito sem discussão, e entrega. Arquiteturas elegantes são caras de estabelecer e podem estar erradas; a lama nunca está errada porque não faz alegação alguma. As forças que a produzem são econômicas, não burras.
O custo chega depois e é pago por outras pessoas. A mudança fica imprevisível, os efeitos se propagam a lugares que ninguém esperava, e o custo por funcionalidade sobe até dominar o orçamento. Reconhecer o padrão vale mais que condená-lo: lama é escolha racional para um protótipo de vida curta, e catastrófica para um sistema que acaba vivendo quinze anos, que é a maioria deles.
Também conhecido como: big ball of mud, BBoM
Fontes
- Foote & Yoder, 'Big Ball of Mud' (1997)