Reflections on Ubiquitous Language

You know it and I know it; I'm good at kicking in open doors.

Today I'm going to kick in three open doors by talking about reflections on the Ubiquitous Language [Evans DDD]. Reflections that are somewhat new to me, but now feel so obvious that everybody else has probably been thinking this way for a long time. Anyway, it's kicking in time:
  • I'm currently working on a project with a lot of Service Orientation (SO) focus. You didn't expect that, did you?
    :-) It has occurred to me that the Ubiquitous Language is also extremely important in the Service context, not just for Domain Model focused situations. It brings with it increased clarity and understanding, crispness, mapping between requirements and development, and so on. Services gain too, just as Domain Models do when the Ubiquitous Language is applied.

  • The Ubiquitous Language is of course a very important enabler when applying Domain Specific Languages (DSL). If you succeed in building your Domain Model in accordance with the Ubiquitous Language that you and your clients are using, the chance of defining a DSL that your clients can use is so much bigger. Ah, it's all coming together.

  • When I worked as a teacher in the software engineering department of the local university, some of my colleagues kept talking about how the department would benefit from having additional linguistic and semantic expertise. The reason was that this would give an interesting effect on modeling exercises and discussions. Now I understand a little better what they were talking about, more than a decade later. Sigh.
Ah, good. Obvious or not, I had to get that out of my system.

All in all, the Ubiquitous Language is, in my opinion, sooo important. And it's still growing on me.