the second-system effect

expressão

programaçãocultura de operações

O alerta de Fred Brooks de que o sucessor de um sistema bem-sucedido tende a ser superengenheirado com todas as ideias guardadas do primeiro.

O primeiro sistema foi mantido humilde pela ignorância; o segundo ganha todos os recursos que os projetistas sonharam, e afunda sob eles. Protocolos, produtos e reescritas caem nessa - contenção é uma habilidade de segundo sistema.

Fred Brooks observou que o segundo sistema que um projetista constrói é o mais perigoso que ele jamais construirá. O primeiro é limitado por inexperiência e cautela, então fica enxuto. O segundo carrega toda ideia adiada do primeiro, e o projetista agora tem confiança suficiente para acreditar que todas são alcançáveis de uma vez.

O resultado é a supergeneralização: funcionalidades que ninguém pediu, abstrações para requisitos que não apareceram, configurabilidade onde bastaria uma decisão, e um escopo que cresce mais rápido que o entendimento que o sustenta. É o mecanismo específico por trás de muitas reescritas ambiciosas que nunca saíram, e é impulsionado por competência, e não por incompetência.

A defesa é estrutural, e não questão de autocontrole. Exigir que cada acréscimo seja justificado por uma necessidade atual em vez de antecipada, entregar de forma incremental para que a realidade intervenha cedo, e ter alguém com poder para dizer não ao projetista são versões da mesma coisa: obrigar o segundo sistema a merecer suas funcionalidades como o primeiro mereceu. A sugestão do próprio Brooks foi simplesmente a consciência, sob o argumento de que um projetista que conhece o efeito é significativamente menos propenso a produzi-lo.

Também conhecido como: second system syndrome

Todos os verbetes do glossário