Model the Domain
Use a ubiquitous language across business and technology that can be reflected in how systems and code are structured.
- Follow the concepts from Domain Driven Design, help's us achieve this goal
- Systems become more cohesive, ensuring similar things sit together, making change easier and less sprawling
- Having rational coupling makes systems easier to rationalise about
Using a common language between technologies and business people aid communication and the structuring of code and systems. At a code level concept can be used to guide the modelling of concepts, at an architectural level it can help group functionality into business capabilities. This approach helps to naturally handle the cohesion of similar capabilities together, and coupling between those capabilities.