Programmatic Ubiquitous Language (draft)

I was first introduced to ubiquitous language when I read Domain Driven Design (DDD) years ago. DDD has lots of great concepts but this is the one I find myself sharing most often when talking to people that are not necessarily coming from an engineering mindset. Organizations of people are complex systems and it’s always interesting to think about important leverage points and constraints within those systems.

Put plainly, ubiquitous language is the concept that every person in an organization uses the same vocabulary for the same concepts.

There are many misfeatures that tend to emerge in human organizations and one is the loss of ubiquitous language. When this occurs you lose efficiency in communication as you introduce a layer of translation overhead.

A very concrete example of the cost of loss of ubiquitous language within an organization engaging in product design is when a product design and product engineering team use different labels for the same concept.

For this type of mismatch to occur it is implied that each team is using labels. Modern design system oriented teams will have labels for their concepts because those concepts are some of the most important artifacts they’re producing.