I have had business friends over the years ask me why it seems so difficult and time consuming to upgrade their corporate systems to take advantage of the latest computer technology. In their minds, their systems are relatively simple; the concepts of such things as accounts receivable, accounts payable, inventory, manufacturing, etc. are relatively straight forward. Yet, companies incur millions of dollars in keeping them up-to-date. The question is, "Why?"
In a nutshell, computers and the programs used to run them are physical in nature. Frankly, there is nothing "soft" about software as it exhibits some pretty "hard" properties. For example, it is still difficult to use the same program on different computers. As such, the computer technicians and programmers are more in tune with the physical aspects of systems as opposed to the logical side of the house. Systems are actually logical in nature and can be implemented physically many different ways. For example, there is nothing magical about billing, debiting or crediting a bank account, tracking the cost of parts, etc. These are simple business processes companies have used for years. The only problem is they are rarely defined in terms of their fundamental properties. To illustrate, for inputs and outputs, a definition of the data elements to be used, and when this has to occur (timing). After this is determined, we can find a suitable physical implementation. Managing the logical components of a system offers independence and the ability to migrate to another platform as required. Sounds simple, but few companies know how to do this anymore.
Years ago we presented this logical/physical concept to a Fortune 500 customer of ours. This was an international conglomerate with many divisions producing a variety of products. Their corporate office wanted to put our concept to the test, specifically with a Payroll System. Basically, they wanted all of their divisions to process payroll in uniformity. To do so, they first defined their system logically under our direction, then they selected a "preferred" physical implementation. This was still the age of mainframe computers, and they selected IBM's MVS as the standard platform. They then programmed and implemented the system accordingly. Those divisions who had an IBM MVS machine was given a turnkey solution. Those that did not were given the specifications of the logical system and directed to implement it physically themselves. This resulted in the same system being implemented on Honeywell GCOS, DEC VAX/VMS, IBM AS/400 and Prime computers. Because they were all programmed in accordance with the same specifications, everything looked and behaved remarkably the same. Even better, the company was able to upgrade hardware with little difficulty.
This payroll system proved our point and convinced our customer of the need for first designing systems logically before determining a suitable physical implementation. Although we have been able to replicate such success with other customers, designing systems logically is now the exception as opposed to the rule in today's corporate world. This explains why there are so many corporate system snafus today, and why my business friends grouse about system upgrades.
For more information, see:
Logical vs. Physical Design: Do You Know the Difference?
Keep the Faith!
Note: All trademarks both marked and unmarked belong to their respective companies.
For Tim's columns, see: timbryce.com
Copyright © 2014 by Tim Bryce. All rights reserved.