A casual remark from a friend about how impressed he was that I knew what a service contract was made me realize that we were talking about two completely different things. To me, the term was about customers and agreements. To him, it was about how systems communicate with each other. The misunderstanding made me reflect on how often we use the same words while attaching entirely different meanings to them.
When I Thought I Knew What a Service Contract Was
I assumed he was talking about service agreements, the contracts between a supplier and a customer that define operations, maintenance, response times, and support obligations. It never crossed my mind that he was using the term in the context of software development.
In my mind, this was a familiar challenge, so I started talking about SLAs, upgrades, and pricing structures. As a product manager, I experienced firsthand how difficult it could be to evolve services when customers were operating under different agreements, feature sets, and terms. We continuously improved the systems, but at the same time we had to manage the legacy arrangements. It was like replacing an engine while the car was still speeding down the highway.
I remember thinking that it would be useful to assign version numbers and revisions to such agreements in order to keep track of who had purchased what, when, and at what price, until everything could eventually be consolidated under a single common model.
Only later did I realize that we were talking about two completely different types of service contracts.

Service Contracts in the Business World
In a business context, I primarily think of what is usually called a service agreement. It is the agreement between a supplier and a customer that defines operations, maintenance, response times, and support. In practice, it is a contract that specifies what will be delivered and what expectations apply. At its core, it is about people, expectations, and trust.
As services evolve, a challenge emerges: some customers remain on older agreements while others move to newer ones. Technology advances, but contracts often lag behind. It becomes a constant balancing act between progress and fairness, innovation and loyalty.
Service Contracts in the Development World
In software development, the term means something entirely different. Here, a service contract describes how two systems communicate with each other, essentially the interface (API) between them. It defines the structure of requests, the data being exchanged, and the format of responses.
Here, it is machines communicating rather than people. Yet it requires exactly the same thing as in business: predictability and structure. If one party changes the contract without notice, communication breaks down. Much like when people talk past each other because they assume they mean the same thing.
Communication: When Words Mean Something Different Than We Think
The misunderstanding made me reflect on how often we believe we understand each other when, in reality, we do not. We use the same words, but attach different meanings to them.
The more I thought about it, the clearer the parallel became. In both cases, a service contract exists to prevent surprises. One protects the customer from unexpected changes, while the other protects a system from unexpected data. Both are ultimately about trust and about defining the rules of engagement.
I remember a couple who spoke with raised voices, exchanged sharp remarks, and used a tone that outsiders could easily mistake for arguing. For them, it was simply a natural part of how they communicated. The problem arose only when, after many years together, one of them had changed and started wanting calmer conversations, while the other continued as before. Neither of them was necessarily doing anything wrong. What had worked well in the past no longer worked in the same way. The challenge was that one person had updated their side of the “contract” without the other realizing it.
In communication, whether between people or between machines, the biggest challenges often arise in the gap between intention and interpretation. We think we are talking about the same thing, only to discover later that we have attached different meanings to the same words.
That is why good communication is not just about speaking clearly. It is about making sure that everyone is actually speaking the same language. That is where understanding, collaboration, and growth begin.

Misunderstandings Arise When We Attach Different Meanings to Words
When I wrote this article, it was scheduled to be published on Christmas Eve. It is a time when life slows down and people spend more time together. That made me reflect on how easy it is to believe we understand each other without necessarily doing so.
Christmas is one of those times of the year when misunderstandings, and their consequences, become especially visible. However, the phenomenon is not limited to holidays. Whether it involves family, friends, colleagues, or customers, we often use the same words while attaching different meanings to them.
We are quick to upgrade our systems and make sure they remain compatible. At work, it feels natural to assume that a change in one area may require adjustments elsewhere. New procedures are documented, processes are updated, and expectations are clarified.
In our relationships, we are not always as diligent. There is no version control or changelog, only expectations, experiences, and assumptions that gradually evolve over time.
Perhaps you have changed jobs. What once gave you energy now demands more of it, and your need to unwind after work has grown. To you, the change is obvious, but to the people around you, it may not be. They still relate to the version of you they have known all along. That is where misunderstandings can easily arise. You assume they understand why you have become a little more withdrawn, while they may interpret it as a lack of interest or engagement.
I believe we should occasionally do the same thing with our relationships that we do with the technology around us: pause, make sure we are still speaking the same language, and clarify that we actually mean the same thing.
Because whether we are talking about people or systems, the biggest challenges rarely arise because someone wants them to. They arise because we believe we have understood each other.





The Search for Offense: What Happened to Our Ability to Understand?