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?"
"Aren't they also losing money by working with inefficient, outdated systems?" Yes. But that's long-term, in the long-term it's someone else's problem. In the short-term they need to cut costs to make the stock look good.
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.
There is no kinder way to put it that drives the meaning home. The executive level - especially in large corporation type environments - have only one thing pressuring their job performance: meeting/beating budgets. Not division excellence. Not Technological prowess. Only x amount of $$$ = meeting forecast targets = $$BONUS$$ cha-ching!! Personally I think this executive cultural behavior stems from the short term thinking of our entire "free" market system in play these days. No company hardly cares beyond 2-3 quarters out. They struggle badly to plan long term financially, because in the stock market/share holder culture most executives live in, meeting the next quarter's profit goals is the end all be all of their work life.
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.
Also, keeping the existing system has a 100% chance of being a nagging pain in the ass; but a pretty minimal chance of failing catastrophically in some novel way that the IT minions aren't already familiar with.
You mean like some of our software, written in the 80s, running only on an old version of VMS, which runs only on certain old DEC hardware (of which there are almost no spares) and can only be supported by a rapidly dwindling generation of staff, none of whom work at our company? Have you ever seen what happens when a piece of hardware fails on one of these machines?!
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.
At this point they've probably spent more money on the failed attempts than it would have cost to do it right the first time haven't they?
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.
It's not nitpicking when some part of the system just doesn't work. That's not exactly an option.
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
In most cases it's just simple straight forward porting of the application and it's no rocket science. They probably have a zillion workarounds with spreadsheets and whatnot to work around missing functionality already. A decent software architect can probably design a better system that can be built with off the shelf components in little time in as little as a week. Building those systems often doesn't take that long and providing people are using off the shelf components and libraries, the amount of custom code that may mess up will be rather limited. By designing with failure and insecurity in mind, catastrophic failures will be very unlikely, since the built in checks should prevent those before any escalation is possible. Not everyone uses large, interlinked systems. Most are just a single task single system setup. To upgrade those isn't complex or expensive.
I was promised a flying car. Where is my flying car?
"There's never enough time to do it right, but there's always enough time to do it over."
- Jack Bergman
"Always forgive your enemies; nothing annoys them so much." - Oscar Wilde
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.
Actually, over the past few decades I would have said that the quality of life had deteriorated, except for the top few percent. Shiny geegaws, yes, they've improved.
Oh, please. We have far less crime, longer lives, safer cars that take less gasoline, better and more varied food, and (for those of us in developed countries) walk around with access to most of human knowledge in our pocket. Life may not be perfect but it's a damn sight better than it used to be.
Yes, but factory owners will continue repairing that old machinery (even fabricating new parts themselves if needed) as long as the machine suits the needs of the business, no matter how old the machinery gets. Some factories are running with machines more than 100 years old. Factory owners do not just replace functional machinery just because they hired some new mechanic that thinks that any machinery not put together with metric screws is magically obsolete.
Custom software IS treated like machinery in that sense. As long as it suits the needs of the business (and not the whims of the IT staff) it will continue to be used and there is no need to spend more money on it. By far, most of the expensive, failed 'upgrade' projects you see are not driven by business changes or requirements, they are attempts to replace a fully functional system for no reason other than 'it is old'. And that is where the problem is - OK, so I spend a bunch of money to replace the existing functional system with one that (hopefully) performs at least the same functions, but in just a few years THAT system will be 'old', and I get to start all over again. And if all of that money spent does not result in lower costs or increase revenue it is just money down the drain.
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.