Antipattern: Over-Modularization

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

Software projects are divided into several modules at run time (e.g. services, lambdas) or build time (e.g. Maven modules, packages). This modularization has disadvantages compared to a modularization into fewer modules. It adds unnecessary complexity. Therefore, the project becomes harder to understand and debug for developers. Over-Modularization could lead to higher compile times. Additionally, the performance at run time could be inferior compared to a modularization into fewer modules.

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?