Have you ever looked at a system, software design, or document and thought, “What the hell were they thinking?” If you said no then you are likely pretty new to software. If you’ve been around for more than one job you’ve likely seen things that will make you cringe. So the question is, if everyone realizes that the concepts are bad, how do they ever come into existence?
There are two reasons. The first is simple to explain: naivety. People that are new or simply “don’t get it” have a tendency to produce poor quality softare. This is the minor case because these people eventually learn the errors of their ways and learn to do it right. The other pimary cause is purely financial in nature.
When companies find themselves locked into a solution they no longer consider to be on par with their expectations they begin to find creative solutions to the problem. As an example, let’s look at the fictional companies of Western Paper Co. (WPC) and Eastern HR Corp (EHRC). WPC purchased the HR management software of EHRC a long, long time ago for way, way too much money. They were the only option at the time and they fit the needs of the organization. Over the years WPC has been approached by many other vendors that could handle the same things that EHRC could, for half the price. However, WPC found themseles entrenched in the applications and realized it was very expensive, time consuming, and difficult to move away from EHRC. So the fees continued.
A certain budget review was finally reached and WPC started tryng to figure out where the hell all of their budget was going. Oh, yeah: its EHRC. So they decide that they are going to limit the number of transactions that they are going to do with EHRC. The $500 data queries, the $5,000 onsite meetings, and the uber-expensive “training session” were all now suspect. Instead of paying $500 for each data query they began using macros to pull data from a human interaction (web, gui, etc.) application. Instead of upgrades to the software they started looking at “supplemental” products that would add to the main application without producing a lot of overhead but created much more system complexity. They began foregoing training and started to lack in best practices.
Why? Because the software they originally bought was too expensive. So how do they get out? Slowly.
Because the system is now entrenced within the core business it is no longer a simple matter of switching a software application. This is because the software now has business processes, departments, and budgets all built around it. These things, despite their intangible nature, are far more of a burden to migrate away from then the typical software application. This is why even bad companies (like EHRC) are able to maintain a profit with a bad product. At one time the bad product was “cutting edge” and sold. Then people got stuck.
In short, there is no silver bullet to get away from an inappropriate product. Only time will heal the wounds. However, the next time you see a questionable system, application, or document design think about the two ways that bad designs happen and ask if the solution was the best possible one given the situation. If not, condemnation is warranted. If so, then the entire organization should make it a top priority to move away from the sub-par solution in lieu of a better one.