I’ve just finished working for a client which has burnt millions on a project to come up with the ‘one true domain model’ for their business. This was the project’s sole deliverable.
What are your thoughts on this? Is a single version of the truth realistic?
The key word here is “model”. Any domain model is an abstraction of the key entities and behaviour in the model of a system.
As an example, a traffic management system might have an entity Car, which is indivisible. A driving simulation will have much more structure: components, weight, colour, occupants and so forth.
The point here is that there is no global definition of Car. There is only state and behaviour that you care about for your particular application (or even a part of an application).