Ubiquitous language is for all of us, not just the geeky developers

One of the concepts used in Domain Driven Design is Ubiquitous Language. What this essentially means is that everyone involved in the project uses the same terms to describe the system. And by everyone, we do mean everyone: developers, testers, business users, writers, sales, marketing, etc. When we all talk the same language, to each other, and to our customers, it helps us break down communication barriers. Like other agile ideas, we need to constantly be inspecting our language, and adapting, so that our communication continues to improve. We need to inspect for terms that are confusing and unclear, and adapt our language (spoken, written, or coded) to continuously improve.

The technical team here at Dovetail Software tries hard to keep our language ubiquitous, so whether it’s a developer, a writer, or a tester, we use the same words, which makes a big difference when we communicate. When someone uses the term "workgroup", or "person", we all know exactly what that means. (I know, "person" seems like an obvious one, but in some systems there are users, employees, contacts, web users, leads, etc, which causes confusion.)

Although these ideas are typically talked about in software development circles, the same idea applies to brand marketing, such as product and company names.

When I used to work at The MathWorks, it was pretty common that people (including employees) would use the three letter acronym TMW instead of the proper "The MathWorks". It didn’t take long for the company to recognize this, and to gently remind us that The MathWorks was our company, and our brand, and that TWM was short-changing the hard work we do every day to promote our company and our products. That lesson has stayed with me ever since.

Brand names can be influenced by customers, and companies can ultimately change their brand. Federal Express became FedEx. United Parcel Service became UPS. I find it interesting that a marketing department can work so hard to promote a brand, but that the public can cause a change like this. But I digress…

When Dovetail Software used to be First Choice Software, the acronym FCS was common. It was already pretty common practice when I came to work here, and being the new guy, I didn’t fight it. Well, I’m no longer the new guy, and we’re no longer FCS. We’re Dovetail Software. Not DoveTail. Not DS. Certainly not DTS.

Half-hearted attempts at changing a brand can cause confusion. If the marketing folks change a brand name, but the development and support team keep the old name, then we end up with confusion when talking with prospects and customers. I’ve even heard multiple people within the same organizational unit within a company use different terms for products and technologies, again creating confusion. Even a little confusion is enough to make someone stop, and have to think about the terminology being used. It’s the Don’t Make Me Think mentality creeping up again (although that books focuses on web design, it has permeated so many other parts of my thinking process that it’s amazing). That pushes that person just a bit, perhaps just enough to be outside of the fold. We want them in the fold, in the know, part of our community, a passionate user. Breaking down, or better yet, not putting up, communication barriers is an effective step in making this happen.

If we’re on the same team, we should be speaking the same language.