Have we really made progress?
Click for AUDIO version.
Watching the speed by which Information Technology (I.T.) has changed over the last forty years has been amazing. Hardly a day goes by without some new twist or invention. In particular, my interest is in how I.T. can be applied to support the systems needed to operate a business, such as for manufacturing, inventory, order processing, customer service, accounting, human resources, and much more. I have seen a lot during the last four decades, perhaps too much.
On the physical side, I have watched computing go from mainframes to minis, to PC's and Smart Phones. Instead of mere Local Area Networks (LAN), we now network through the Internet and share resources via "The Cloud." By doing so, we have placed data entry and information retrieval into the hands of more people than ever before, be it internal users, or externally with customers and vendors. In the process though, security has become a serious problem.
There have also been drawbacks to computing's diminishing size. By thinking smaller, we tend to focus on only a small part of the puzzle and have lost sight on the total picture of our systems. The physical aspects of computing may be seductive, but it has compounded problems within companies. To illustrate, data redundancy remains the Achilles heel of most businesses, be they large or small. It may seem odd, but it is certainly not unusual for companies to have multiple interpretations of such simple, yet important, data elements as "Customer Number," "Part Number," "Order Number," and "Product Number." Whereas there should be a single interpretation of each, there are multiple interpretations instead. Consequently, the opportunity to share and re-use such data is lost, and systems invariably lack integration.
The formulas for generated elements, such as "Net Pay," "Order Total," and "Earnings Saved" may also be redefined for each program written. This results in erroneous information throughout the business. For example, one user's calculation of "Total Sales" may be entirely different than the values produced for other users. With such inconsistencies, the business will ultimately make poor decisions. It also means systems lack integration, thereby dividing the business units simply because of the lack of consistency, and leading to user complaints.
Despite the sophistication of today's data base management technology, the idea of a managed data base environment in companies today is still the exception as opposed to the rule.
The programming staff tends to pride itself in terms of speed of development and technical elegance for their piece of the puzzle only, not the entire system. Requirements are roughly prepared and evolve as the program is developed. In the end, it looks nothing like what the user had hoped for.
Because writing program source code is typically a 1:1 endeavor, it tends to foster an individualistic attitude among programmers, and institutes a heterogeneous development environment. This leads to inconsistencies in workmanship and deliverables, thereby hindering quality. If you were to ask programmers if systems development is a science or an art form, without question they would respond as to the latter. This grants us insight into how programmers see themselves and their work.
Interestingly, programmers are not concerned with producing any documentation to maintain or modify their program should future occasion require it. It is generally believed it is cheaper and faster to simply rewrite the code as opposed to modifying the existing program, regardless of its level of complexity. Naturally, as the programmer moves on to another job in a different company, he walks away with the program logic safely lodged in his brain.
In terms of managing the development effort, companies covet Project Management certification, which is useful for such things as estimating and scheduling, but provides no insight into using effective methodologies for developing systems. Despite their best intentions, development projects still come in late and over budget. Consequently, companies shy away from massive development efforts, and are content building smaller things, thereby discouraging systems integration.
Come to think of it, the state of the I.T. industry is essentially no different than what it was when I began in this business back in the 1970's. The technology may have changed, the problems in terms of development certainly haven't. This includes how to specify information requirements, standardizing on systems theory, the role of documentation, managing information resources, etc. These problems are no different today than what they were back in the early 1970's. Common sense is still uncommon.
Keep the Faith!
Note: All trademarks both marked and unmarked belong to their respective companies.
Tim Bryce is a managemeent consultant in the Tampa Bay area of Florida.
For Tim’s columns, see: timbryce.com
Copyright © 2017 by Tim Bryce. All rights reserved.