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?"
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.
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.
Gotta agree with you... you go through the process and somebody forgets to test some "little thing" that is no longer supported in the new version. If it's commercial software, that can leave you scrambling to work around the issue.
With custom software it's still a pain but you seldom run into something that absolutely can't be done, usually it's something takes awhile to program around and you impact business in the meantime. No matter how carefully you examine the requirements you will always miss something, it's the nature of the beast. If you rely on third party tools to plug into your IDE you may find the licensing has changed drastically and it may no longer be acceptable to use that widget or tool.
And let's not forget about bugs... you may run into something that is documented, works in testing, and when it hits production it just doesn't work when you have hundreds of people hitting it at once. Good design solves a lot of that but you can always have scenarios that can't be adequately tested before you roll it out. Parallel systems help with that but at some point you spend so much time and effort keeping everything in sync while you prepare for full deployment that it's easier to cut off the old system and just deal with the issues as quickly as you can.
One of the many stupid comments of someone who doesn't understand economics. And that seems to account for most people here.
Where the savings really went? To YOU, the customer. Yes, really. Why do you think the quality of life has improved so much over the past decades? It's because productivity has increased so much. A single person can produce much more value than they could a few decades ago - and the computer and other parts of automation are a great part of that.
Previously a company had to employ those hundreds of typists, they have been replaced by computers, that do the work faster (especially the revisions that don't need to be typed out completely again, and copies, thanks to the photo copy machine). That saved a lot of money, which meant a company could lower the prices of their goods and/or services, to gain a competitive edge over the other companies that still used the typists.
Soon enough of course either companies automated and cut costs (and prices), or went out of business. Those that are still in business are not necessarily making a whole lot more money: they have to lower prices to stay competitive, margins will remain roughly the same. That's what an open market does for you.
Thinking that businesses still have all that money to employ the typists, but stuff it somewhere else, that's just not true. That money isn't there. They now make enough money to support their current, automated infrastructure - and are still always trying to lower the cost of that infrastructure. Continuing to use software that works, instead of pouring money into creating software that might work, is just one example. Many, especially larger, companies will also try to standardise their computers: making support easier, and making replacement easier when one breaks down (computer broken? Drop in another one, employee can continue their work, broken computer can be checked out later).
Trying to move your business critical piece of software that works just fine in IE6 to a newer platform is a costly risk. It may involve complete rewriting of the application - good luck making it work exactly the same, and as reliable as the current software. It means replacing a well tested, well understood platform with something you don't know all the quirks so well of. It means spending a lot of money, with the risk of it not working in the end, or worse: thinking that it works, moving your business to the new platform, and seeing it break costing you multiples in lost business.
Plenty have answered the horrible practical aspects of upgrades.
And have answered the lack of business sense in upgrading.
But the question also asked what happened to all the money saved on eliminating staff?
Businesses are asking that very same question. They had to pay to train staff to use computer systems. They had to buy new equipment. They had to hire people more trained than ever before, at a higher cost. They replaced filing cabinets with servers, the former requiring little energy, the latter requiring lotsa' energy costs plus specialized (read: expensive) staff to maintain. They were sold this bill of goods on the premise there'd be savings, but they were sold the concept by companies whose goal was to earn money from other companies spending. There are entire new departments dedicated solely to various aspects of this equipment.
Do you know how long the software lasts for a typewriter? Forever.
The problem is your business can't interact with any other without adopting an appropriate level of technology, which spawns requirements for additional tech, and other tech, and next thing you know you have a complete system, which is nothing more than a massive money drain required just to be in business. The real question is how can you stem the tide and cut the bleeding?
The company that reduces costs, lowers operating costs, while still providing an acceptable level of service to clients succeeds long term (assuming good marketing).
So tell me, exactly how will upgrading that newfangled "typewriter" help clients?
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.
But the question also asked what happened to all the money saved on eliminating staff?
1. Owners of the company in increased profit
2. Customers of the company in lowered costs prices due to competition that's also upgraded forcing the price of goods down.
3. Staff in the form of higher pay at least partially due to higher skillsets required.
4. More services are provided.
So tell me, exactly how will upgrading that newfangled "typewriter" help clients?
'Typewriter' is the least of the replacement concerns. We're looking at stuff like:
1. Payroll. My Grandmother used to do payroll by hand. If I remember right, her maximum as an individual was less than a hundred people, at which point it would be her full time job. Why only a hundred? Well, consider that she had to gather up the timecards, figure out how much each worker worked, figure out their overtime(if any), look up the appropriate amounts of tax withholding, FICA, and such, deduct set amounts for things like healthcare, debts and such. Double check the amounts, and log it all up for the business, then cut and distribute the checks. Mom uses electronic systems and can do the same for thousands of employees.
2. Inventory management. It used to be that you'd need a small army of stockers to transfer items to and from the warehouse, not to mention more clerks to constantly monitor the flow in and out of the warehouse(and inventorying what's inside of it) in order to anticipate the need for ordering more parts. Today? The computer can track all that, automatically generate order requests, and makes analysis of parts need much simpler. Did we go through 6 of part y29840, or only 1, meaning that we only need to keep 2 on the shelf, not 12? Are we going through so much of it that we need to order more, do we need to investigate why the part is breaking more often than anticipated, etc...?
It gets much more complicated from there, and one thing to remember is that IBM, "International Business Machines" predates computers was already producing whole lines of complicated machines that saved labor. Computers were just the next step.
The problem, I think, is that when many of these businesses deployed the new computerized systems they were still in the IBM mindset - the machines were durable equipment, so they were willing to pay the industrial price tag to get a *good* system that was expected to work decades(and they mostly have), and have subsequently evolved to work even better with that system. Then they got complacent, out of the mindset that software is a tool/machine as well, and you need to upgrade it occasionally. Then you get into that it's become critical and changing at this point will cost lots even though it would ultimately save them more money there's also a lot of risk. So it's very much a 'bite the bullet' time for such companies.
I don't read AC A human right
The UI is the only major thing that keeps changing.
Worse, once you got the worker over the hump of learning all the hot keys, the old dos versions of various software packages actually worked BETTER than the modern 'web based' implementations of what the old green screens did.
I remember seeing somebody using a terminal program to log some part maintenance. It's a maintenance tracking system for aircraft - it tracks all work done not only on the aircraft, but on sub components, and will do things like spit out a report on how many flight hours part X has left before it needs to be rebuilt, and on Y before it needs to be replaced, etc... It can also handle you pulling X from plane 1 to put into plane 2 in order to get 2 in flying shape because there's two other problems with 1 at the moment keeping it from flying because we don't have any spare X's and we really need to get 2 into the air *NOW*.
It took seconds in the old system, but over 10 in the web based version. Obviously all the old hands were resisting going to the 'new improved' system. I believe they eventually got the system fixed, but it ended up being a lot more complicated than the project leads anticipated.
I don't read AC A human right
Newer PCs had different form factors, internal arrangement of components, or were generally more compact than this particular model of PS/1 (iirc) way back then. It took years to refit the cards, and move off these old PCs.... so much of the business relied on them.
This goes to show why you should never rely on PCs this way. When you're going to design custom hardware for PCs, you have to assume the PC itself will become obsolete in 5 years or so, and you should keep things modular. So instead of making some custom PCI card with a bunch of relays on it, you make a custom PCI card that fits into a standard chassis, and have a cable that goes from this card to an external box that has all your custom circuitry in it. You can make this external box as robust and environment-proof as you like: there's lots of industrial-grade cabinets and boxes available out there that are fully sealed against dust, humidity, etc. Then, years down the road, if you need to upgrade the PC (because the power supply failed and you can't find a replacement, for instance), you can just stick the standard-size PCI card in a new PC, or in the worst case, design a new card for the latest interface (PCI-X, PCIe, USB2/3, FireWire, etc.) that makes sense, and reuse your existing box of custom circuitry.
This isn't unique to PCs: you should never rely on an external vendor to that degree, because products and product lines come and go, and you may not be able to get spare parts later on. If you keep everything as modular as possible, you minimize your risk. Use off-the-shelf stuff as much as possible (to minimize cost, and make it easy to get spare parts: ATX power supplies for instance haven't changed in ages so it's better to go with a whitebox solution than some proprietary chassis and PS if you want longevity), and keep your custom-built stuff separate from it, and connected to it through standard interfaces.