-
Architecture main purpose is to support a Domain Model. When we ignore the domain model, or we lack the modelling process, the architecture won't match our needs business needs causing different problems in our system. 1/3
-
You might hear people referring to it using some concepts as: - Technical debt - Big Ball of Mud - Accidental complexity - KISS It's not that we have no the domain model design, we have it indeed. The problem's that we aren't conscious of the impact of our design decisions. 2/3
-
That's why at AtomicJar we use techniques as EventStorming for fast modelling when facing new problems. We aim to make our Domain Model explicit and make our known-unknowns visible. This way, we can delay a lot of architectural hard decisions until our model needs it. 3/4
-
Let the complexity to show up so you make conscious design decisions to keep that complexity (or non-complexity!) modeled as part of our designed solution. 4/4