A common problem that I run into in consulting is the business terminology. Anywhere you go, a given business term may have differing processes while retaining essentially the same meaning. Both Walmart and a child’s lemonade stand have sales, though the business processes are radically different. Using simple business terminology helps the various people in an organization to communicate; i.e.: business with IT.
Problems commonly arise when the language of an organization grows in complexity. Take the word customer for example. Sometimes, substitute words, or synonyms, are used to describe the exact same concept: client, organization, or buyer, to name a few. When used in casual conversation, this causes a minimal problem. Individuals may favor one term over another, there may be a shift in terms over time, or there is little or no formality in terms (which is often the case). A good analyst may be forced to ask, “Why the different terms? Are they the same or are they just similar.”
When defining business processes and technical requirements, ambiguity means lost time, errors and confusion. It is a problem for any organization making the transition from small to medium or large. Some organizations are clearly better than others. When this is the case, it pays dividends even if they are not aware of it. On the other end of the spectrum is a multi-billion-dollar company that had 10 different words to describe everything, including customer. The various words were used virtually interchangeably everywhere, including in the database schema’s where precision is paramount.
Does this cause a problem? Oh yes. Poor terminology shows up in the organizations software being latent with technical debt, large scales of dead code and inefficiencies. In code that may be already extremely difficult to follow, a developer has to contend with names of functions and procedures that are differ. Poor terminology has lead to overly complicated queries to retrieve basic information, such as a list of locations and delivery information. In several situations, the simple and essential terms like customer quickly became a source of confusion between the various departments and a liability to the company.
While this is a common and often very expensive problem, there is hope. It is not without remedy.
- First, thing that you can do is recognize if this is a problem. It may be helpful to create and maintain a high level process document discussion the high level business practices in order to formulate a big picture diagram of your organization. At the end of this document, it would be helpful to have a list of the most important business terms. Prefer simple terms over more complex terms. Remember, this list can go over time. You don’t have to write down all at once, or even get it right, right away. Adoption is important. Getting a starting point will give colleagues a space to agree, disagree and contribute. Also, if you cannot get widespread adoption, see if you can get department adoption. It is better to start somewhere, than nowhere.
- Second, don’t seek perfection. Waiting for perfection is akin to giving up. If you recognize there is a problem, you will be most definitely note of conflicting artifacts. These artifacts may be business documents, or technical resources such as documents, programs and databases. Your ability to replace these items will not be something will be able to replace right away, if at all. In some cases, adaption of your high level process document and its terminology will require you demonstrate its value.
- Third, when working on any project, relate it directly the high level process document. Any written requirements should reflect the terms you have adopted. The requirement terms should be reflected in the application and database implementations, respectively. Also, in the programming artifacts, be sure to use the correct spelling. That is to say, adhere to a strict naming convention, capitalize and underscore consistently, and use the same abbreviations. We no longer live in the age of DOS, use full names; limit your abbreviations. Remember, clarity over brevity.
- Fourth, avoid homonyms and synonyms. Again, these are the major sources of ambiguities. Be sure to qualify it any terms describe any major variations, a prospective customer may be different than a current customer. Prospective and current are both qualifiers.
- Finally, make sure that there is oversight and review as part of any project. Be patient, but persistent. It will not happen over night. But it can happen.