Brevity is the enemy of accuracy. I could stop writing right there, but then that would be too brief, and I would much rather be accurate. Most of us strive to keep our days moving along. Making things faster is usually looked upon as beneficial. We have fast food, quick copy centers, rapid delivery, and speed dialing, just to name a few of the fast features of daily life. And most of us would not want to be without them.
But all too often we sacrifice accuracy at the expense of speed. So what if it isn’t exactly right, it is “good enough” and we did it very quickly, didn’t we? Doesn’t that sound familiar? I’m sure it does for most of us in the technology field. The computer industry is one of the worst offenders when it comes to favoring expedience over accuracy.
For the purposes of this blog entry, I’m not talking about software quality and bugs. I could, because I think they are a symptom of our “faster, quicker” mindset. But there are many more complex issues surrounding software quality. That may be a topic for future entries. Today, I’m simply talking about the inconsistent and inaccurate ways in which IT professionals use terminology. Let’s look at a couple of examples.
Database Versus DBMS
What is a database? I bet most people reading this article believe they know the answer to that question. But many of them would be wrong. DB2 is not a database, it is a DBMS, or Database Management System. You can use DB2 to create a database, but DB2, in and of itself, is not a database. Same goes for Oracle (which is a DBMS and a company) and SQL Server (just a DBMS).
So what is a database? A database is an organized store of data wherein the data is accessible by named data elements (for example, fields, records, and files). It does not even have to be computerized to be a database. The phone book is a database (Why do they still send out phone books? Does anyone even use them any more? Now I’m way off topic, so let’s get back on track.)
A DBMS is software that enables end users or application programmers to share data. It provides a systematic method of creating, updating, retrieving and storing information in a database. DBMSs also are generally responsible for data integrity, data access control, and automated rollback, restart and recovery.
In layman’s terms, you can think of a database as a filing system. You can think of the filing cabinet itself along with the file folders and labels as the DBMS. A DBMS manages databases. You implement and access database instances using the capabilities of the DBMS.
So, DB2 and Oracle and SQL Server and MySQL are database management systems. Your payroll application uses the payroll database, which may be implemented using DB2 or Oracle or…
Why is that important? If we do not use precise terms when we write, speak, and work confusion can result. And confusion leads to over budget projects, improperly developed systems, and lost productivity. So precision must be important to us.
Do you want another example?
Information Versus Data
The basic building block of knowledge is data. Data is a fact represented as an item or event out of context and with no relation to other things. Examples of data are 27, 010110, and JAN. Without additional details we know nothing about any of these three pieces of data. Consider:
- Is 27 a number in base ten, or is it in octal (which would translate to 23 in base ten)?
- If 27 is a number in base ten what does it represent? Is it an age, a dollar amount, an IQ, a shoe size, or something else entirely?
- What about 010110? Is it a binary number? Or is it a representation of a date, perhaps January 1, 1910? January 1, 2010? Or something else entirely?
- Finally, what does JAN represent? Is it a woman’s name (or a man’s name)? Or does it represent the first month of the year?
All of these are examples of data because of the lack of context.
Information, on the other hand, adds context through relationships between data, and possibly other information. Data with metadata and context makes information. The relationships may represent information, yet the relations do not actually constitute information until they are understood. Also, the relationships that represent data have a tendency to be limited in context, mostly about the past or present, with little if any implication for the future.
Knowledge adds understanding and retention to information. It is the next natural progression after information. To have “knowledge” requires information in conjunction with patterns between data, information, and other knowledge, coupling it with understanding and cognition.
The final step would be to move from knowledge to wisdom. Wisdom can be thought of as knowledge applied. You may have the knowledge that fatty foods are bad for you, but if you eat it anyway, you are not wise.
Now how often do you precisely use these terms, especially data and information?
There are plenty of other examples, too. When was the last time you heard or read an acronym and had no idea what it meant? What about industry buzzwords like SOA or cloud computing? They are used all the time, but rarely defined. I bet if we got twelve cloud computing “experts” and put them in separate rooms we’d come up with at least twelve different definitions of cloud computing.
As skilled IT professionals, we need to be more precise in our day to day language. Doing so preserves knowledge and minimizes confusion. And it is laudable to pursue both of those goals. Furthermore, it is cost effective in terms of clarity and productivity. And isn’t that the reason we go to work everyday?