4 Comments

It seems you are contradicting yourself here. In the first chapter you say Clean Architecture is good for long-lived software where scalability is crucial and in the next chapter you say Clean Architecture doesn't scale well and you should use Vertical Slices? Doesn't make much sense to me. Why do you introduce Vertical Slices Architecture in between 2 chapters about Clean Architecture? 🤔 What am I missing?

Expand full comment
author

Clean architecture is good, but vertical-slices are making it even better, not sure why is this contradictory ? They are complementary to each other. Vertical slice architecture allows improved modularity in feature-centric way. They can enhance maintainability, making it easier to manage large-scale projects by allowing teams to work on discrete feature slices.

Clean architecture ensures that modifications in externalities like databases or UI frameworks have minimal impact on the core logic, whereas vertical slice architecture allows for easier scaling and iterative development of individual features.

Maybe it's not clear from the text, I will update it. Thank you for the feedback.

Expand full comment
May 10Liked by Dr Milan Milanović

I do see them as complementary. There are certain systems that require more durability and are slower changing that can benefit greatly from SOLID horizontal architecture.

Then there are more "volatile" areas of the system that require rapid changes (ie, changing feature behaviors) so you might want to consider vertical slice architecture to treat with isolation.

There is actually another author that talks about a similar concept called Volatility Based Decomposition - Righting Software by Juval Lowy.

I really enjoyed this post!

Expand full comment
author

Yes, thanks! Correct, I wrote about his approach already.

Expand full comment