Ask Slashdot: Why Won't Companies Upgrade Old Software?
An anonymous reader writes "IE6. Several governments and big companies I know use software dependent on IE6. They won't upgrade, citing the expensive cost. Do you know what's more expensive than upgrading? Downgrading to the old system they had before they upgraded! You see, before computers, companies used to have room full of people manually calculating and processing stuff. It wasn't until the computer came that they could fire all those people and save a ton of money on their collective salaries. Now, my question is: what happened to that money they saved? Even a small portion of the money saved over the years could be used to upgrade ancient systems to modern standards. However, big organizations keep citing million-dollar upgrade costs as why they won't do it. Aren't they also losing money by working with inefficient, outdated systems?"
But,OTOH, let's put it off until next quarter and let them worry about it.
Downgrading to the old system they had before they upgraded!
Oh ok, Im glad you cleared that up. Say, can you write a proposal for how this will save oodles of money upgrading IE8 on 10000 machines to IE10, even tho it will brake the internal apps of about 15 different departments? Maybe you can also write 15 separate proposals for them to renew their contracts with the people who originally wrote the apps, and proposals for the cases where the original dev is long gone and we'll need to do a full replacement.
Boy, Im glad you cleared all that up.
This is an easy assumption to make, but it isn't always the truism you're making it out to be. Many software packages are highly specialized. There may only be a handful of options available that perform their function. Many of them may be difficult and far more expensive than you realize to upgrade, may have been abandoned, may have been ruined by "improvements" during upgrades, etc. When a piece of software is integral to a business, and there is no simple upgrade path, sometimes the cheapest (and *correct*) option is to stay on an "outdated" platform. Often, mitigating the issues with the old systems are cheaper than upgrading the software (if that is even possible).
Often, the people who may have made these tools are long gone (and if a tool is used for years, then the person was probably promoted out because it was a success). And very often they are either built in a short period of time for a specific task and don't scale well to newer systems, or they were built over a long period of time by many different people and there is little if any documentation as the goal was just to make it function and work.
It's not about laziness, it's about resources. Simply upgrading a web browser can render something non-functional. Basically when you make a major change like that, every inch of system, tools, and code needs to be tested, rewritten, and/or replaced. Since the company cannot just multiply it's IT budget by a factor of ten, or just close up shop for the time it takes to do all this so customers/clients are unaffected, it takes time.
Contrary to what some people try to claim, businesses aren't sticking with XP because they are lazy or stupid. Many people really don't understand the business aspect of this. It's not the same as a person upgrading one or two computers in their home.
Businesses have a very legitimate problem -- changing thousands (or tens of thousands) of computers to a new operating system is very expensive -- not just the cost of the OS itself but you have to pay people to do all the upgrading and deal with all the problems that come up. And after you spend all that money, what do you have? You have thousands of computers that look slightly different but work exactly the same as they did before. So what benefit did your company gain from spending all that money? This is a legitimate business concern.
Then there is the problem of software, and this is something that affects many companies both large and small. Many businesses run specialized software that is very expensive and, unfortunately, in many cases, very poorly written, meaning that it runs on Windows XP but often won't work on never versions of Windows. And so, in addition to all the expense involved in changing the OS, there is the additional expense of buying new versions of other software. And once again, once you've spend all that time, effort and money, what do you have? Computers that function exactly the same as they did before. There may be improvements "under the hood" but there is no obvious improvement in functionality.
What you really have here is an inherent conflict between the software companies and the companies use use the software. Software has matured to the point that 12 year old Windows XP, 10 year old Office 2003 and 8 year old Photoshop CS2 are still perfectly fine and able to do everything that most people need. But the software companies need to keep selling software, so they keep making changes to create "new" versions.
But businesses don't want "new". They want stability. They don't want to be constantly changing things because that disrupts their business and costs them a lot of money, with little or no benefit.
Which describes every large software project implemented by a non-software company, ever.
It describes plenty of large software projects written by software companies, too.
Software maintenance is hard. Very few people actually know how to design and build a software system that is maintainable over the long-term, and since even the people who can can't also see the future, we'll never be able to build idealised, perfectly maintainable systems.
The logical conclusion is that we may wind up with critical systems that are working and stable but prohibitively expensive to develop. The best solution to that situation is often to leave the existing system alone but try to isolate it via some controlled interface so you can still build your new systems with a degree of separation and better maintainability.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
You're asking the wrong question. The correct question is: Why should they upgrade?
And if your answer doesn't involve making or saving money, you're going to get laughed out of your bosses office.
An excellent post. Thank you.
Software has matured to the point that 12 year old Windows XP, 10 year old Office 2003 and 8 year old Photoshop CS2 are still perfectly fine and able to do everything that most people need.
I'd like to emphasize this point too, since it seems to be at the center of the problem with the question posed here. Why exactly would businesses even want to upgrade? What does it get them?
I'd push the dates back even further and say that a lot of business software reached maturity -- as measured by the functionality that more than 99% of employees need and use on a regular basis -- roughly 25 years ago. (Web browsers would obviously be a little later, since the modern "web" didn't exist yet.)
What exactly do most office employees do today that couldn't have been done with a late 1980s copy of WordPerfect and Lotus 1-2-3 on DOS? Even the first version of Photoshop in 1989 was an instant hit and was perfectly adequate for most user's needs in terms of functionality (though you'd need a Mac).
Now, I'll grant you that the DOS interfaces seem a little clunky compared to today, but 99% of the functionality that most people need was already there. I know at least one person who continued using his 386 until a couple years ago for all of his business needs other than modern internet browsing, with his old DOS-based WordPerfect churning out new documents every week and some ancient version of Excel for Windows 3.1 for his business spreadsheets.
I think the reason software appears to have "matured" in the early 2000s is because we finally hit some magical threshold of computer literacy in the workforce. It's not that the old DOS or Windows 3.x systems couldn't do what businesses needed; it's just that it was still possible in 1990 to be an office worker and not really "do computers," particularly if you were over 35-40 years old and/or in a small business.
By 2000, that just wasn't acceptable anymore. Everyone was expected to be relatively fluent with computers -- including even those older people who were "excused" in 1990, but now had been trained and forced to adopt the ways of the new "machine." Young people entering the workforce had grown up with PCs, so they knew how to use them intuitively. Computer illiteracy was no longer an option.
It should be expected that soon after that moment when computers became entrenched that people would start to realize that "new" isn't always better, if no significant new functionality is added. Early adopters of computers could get excited about the next new version of Word or Excel -- "Wow, did you see what WordPerfect 6.0 can do? Did you see the cool new graph options in Excel 95?" But by the early 2000s those people were outnumbered by loads of older people in their late 30s, 40s, 50s, and 60s who didn't really grow up using computers heavily and had just barely caught on to the systems they were supposed to be fluent in.
Why the heck would these older people -- the bulk of the workforce a decade ago -- want to keep adopting a new UI every other year? Why would businesses want to try to get them to? They finally got all these older office workers literate on the systems they had. And what new functionality does any of this new crap give anyone, in terms of basic everyday business needs for the average office worker?
Here we are, 25 years later, with computers that have 10,000 times as much RAM and hard drives 10,000 times as big, and many people still have a clunky word processor that's bloated with too many functions and a spreadsheet that seems to run slow sometimes. The UI is the only major thing that keeps changing. Businesses only care about the core functionality... and once they hit a critical mass of workers who were fluent on a particular UI, why the heck would they ever want to change?
OpenVMS
Cool and Unhackable, with documented uptimes over a decade on single servers. If the business really cares about uptime it's probably still using VMS. Of course the support staff was laid off because no one ever need to work on that system and it hasn't been rebooted since the big power outage 6 or 7 years ago.
It's thinking like that which has lead to multiple failures so far. Arrogance and overconfidence. An assumption that there is always a package or off the shelf tools which can be used.
Multiple "decent" software architects have been tilted at this particular windmill and gone down in flaming ruins.
Sometimes... very old systems have enormous amounts of business rules. There are no "off the shelf components". It's not a question of implementing a screen sort. It's a question of recognizing that given this set of data values, apply special business rule #1017 to the data. In order to do this- you have to truly understand the existing code which on mainframes can literally run to *millions* of lines of pure business logic with almost no interface code.
There is really only one way to "get off of it".
A) Build a sufficiently large team that it can develop faster than the current team developing for the platform.
B) Start redeveloping one system at a time. Do not try to "get off the mainframe".. just try to get the quarterly operating company corporate tax rollup off of the machine.
C) Iterate with the next single system until the remaining systems can be understood and then do a project to remove them.
---
The same management that has failed at this three times also set up the SAP project. 2 years of blueprinting (about half of what they needed). "Freezes" which lasted about 30 seconds before development started again. And upon discovering that they had missed 30% of the business rules- they proceeded anyway. Oh and early on they fired anyone that expressed caution very quickly so everyone else on that project got the message. Do not point out problems- keep your damn mouth shut.
It appears to be failing in a particularly spectacular fashion (even for SAP).
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.