Antipattern: Malignant Growth

Author(s): Felix, Andreas, Theo, Christian

Malignant growth describes the uncontrolled/badly managed growth of software systems, which leads to hardly maintainable and error prone systems.

Description

Software systems tend to grow over time. New features are added, additional applications are integrated. Applications become more complex and harder to reason about. Due to tight coupling of multiple modules or applications, changes and tests take more time to implement. Errors are more likely to be overlooked.

What are some examples?

Why does this happen?

How can we avoid getting into the situation in the first place?

What are suggestions to get out of the situation if we ended up in it?