What is it about?

Many companies are moving away from large, monolithic software systems toward microservices, which are smaller, independent services that are easier to scale and update individually. But this style isn't immune to poor design: microservice projects can still accumulate "architectural smells," recognizable patterns of suboptimal design. These smells are a major source of technical debt, design shortcuts that make future changes more expensive. While detecting these smells is well studied, actually fixing them (refactoring) in real microservice projects is much less understood. We manually refactored 25 architectural smells across five real-world, open-source Java microservice projects, measuring the before-and-after impact on technical debt and other quality indicators like coupling and complexity. We also checked something specific to microservices: can removing these smells reveal that a service is doing too much and should be split into smaller ones? We found that refactoring meaningfully reduced technical debt, but its effect on other quality metrics was more modest. Interestingly, in one project, resolving a dependency problem revealed natural boundaries that let us split one overloaded service into four independent microservices, showing that fixing architectural smells may also help developers discover better ways to organize their systems.

Featured Image

Why is it important?

We provide an empirical look at real refactoring efforts across multiple projects, offering concrete takeaways: Cyclic Dependency smells are the easiest to remove but yield only modest gains; Unstable Dependency smells sit in the middle and can trigger useful ripple effects across the system; while God Component smells and Hub-like Dependency smell are the hardest to tackle but produce the greatest reduction in technical debt once resolved. We also show that projects which underwent more iterations saw clearer improvements, showing refactoring isn't a quick fix but a sustained effort. Second, we found that architectural smell removal does not automatically lead to the identification of new microservices, but it can promote their emergence under favorable conditions.

Perspectives

An interesting research area, the world of microservices. This work was carried out as part of a bachelor's thesis in Computer Science, through which the thesis student learned that refactoring at the architectural level is anything but trivial. The paper would certainly deserve an extension or future follow-up work.

Dr. Matteo Bochicchio
Universita degli Studi di Milano-Bicocca

Read the Original

This page is a summary of: Exploring the Impact of Architectural Smells Refactoring in Microservice Projects, March 2026, Institute of Electrical & Electronics Engineers (IEEE),
DOI: 10.1109/saner67736.2026.00064.
You can read the full text:

Read

Contributors

The following have contributed to this page