For years, architectural principles have been hammered into us. Those principles have been implemented in many projects. So there is evidence whether these principles really help. Some ideas make sense at first glance and we have become accustomed to them, although they have not proven themselves. People just don’t like to talk about failures - and this also applies in those cases where principles failed to deliver.

Some examples:

So, the only solution is to think for yourself and use those principles that actually solve a problem in your current project.

Many thanks to my colleagues Christoph Iserlohn, Lutz Hühnken, Christian Stettler, Stefan Tilkov and Benjamin Wolf for their comments on an earlier version of the article.

tl;dr

To make software architecture better, we have to say goodbye to what doesn’t work. But this is not easy, because some principles have become a tradition - which must be broken with.