
I Googled ‘technology’ and found this at the top, “The application of scientific knowledge for practical purposes, especially in industry.” One thing we’ve lost in most our software technology companies today is the actual science of what we are doing. I don’t know metrics on this, and can only speak from my experience, but you may also have a similar perception: Many of our software developers, even lead architects, aren’t naturally all that scientific in how they view things or think about problems. They have learned through trial and error how to manipulate instructions on the surface of hugely complicated systems to solve problems, but don’t fundamentally understand the system they are building within.
If technology is meant to solve problems using science, and the problems of business are always related to economics, then why is our software not getting faster, cheaper and more functional? Aren’t those the important characteristics of improving technology? Yet we seem to be spending more time, more money and more energy solving a lot of the same problems. Are projects delivered on time? Are they completed within budget? Are the software packages solving your company’s or client’s real problems better than your previous solution? The answer to these questions too often is a resounding, no.
So, how do we make software that is faster, cheaper and more functional? It starts with how we think. Most pitfalls encountered in enterprise systems start with wrong thinking. Wrong thinking leads to quick conclusions, inadequate due diligence, uncorrelated facts, upside-down priorities and logical fallacies. The biggest promoter of this is an industry that continually reinforces poor practices based on the same type of thinking. I myself have fallen into many of these same traps because arguments often look, sound and feel good. It’s modern and sophisticated, but foundationally flawed in a way that most do not discern. What I want to unpack for you is what I’ve discovered are the common pitfalls derived from these hidden flaws.
Stayed tuned and we’ll start exploring specific enterprise system pitfalls in my next article, starting with the pitfall of over abstraction.