Voltar
🧠 Complexidade

Change Amplification

Uma pequena mudança vira uma saga gigante

Quando mudanças simples requerem esforço desproporcional.

🎨
👶

Explicando como se você tivesse 5 anos

Agora sim! 🎉

É como quando você quer mudar um brinquedo de lugar, mas precisa mover a cama, o armário, a mesa... Tudo por causa de um brinquedinho!

⚠️
🚩

Por que isso é uma Red Flag?

Atenção ao problema! ⚡

Quando mudanças conceitual mente simples exigem esforço gigantesco, a velocidade de desenvolvimento desaba e a frustração aumenta. Indica arquitetura rígida, acoplamento excessivo, ou falta de abstrações adequadas. O resultado é entregas lentas e desenvolvedores desmotivados. A oportunidade está em redesenhar para criar módulos mais independentes e abstrações que absorvam mudanças.

Compartilhar:

História

John Ousterhout descreveu Change Amplification em "A Philosophy of Software Design" como um dos principais sintomas de complexidade em software.

Quem Inventou

John Ousterhout

Ano: 2018

Para que serve

Identificar quando o custo de mudanças está desproporcional ao seu tamanho conceitual.

Explicação Detalhada

Change Amplification acontece quando uma mudança conceitualmente simples requer modificações em muitos lugares diferentes do código. É similar ao Shotgun Surgery, mas foca no custo ampliado da mudança. Exemplo: adicionar um novo campo em um formulário requer mudanças no frontend, backend, banco de dados, validação, testes, etc. Design modular e boas abstrações reduzem change amplification.