Ask Slashdot: Why Won't Companies Upgrade Old Software? 614
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?"
Re:It's not that simple (Score:5, Interesting)
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.
They are winning with XP (Score:5, Interesting)
They contract to gov, firms, make a small simple kitchen somedays too. Shelves, desks, seats, computer desks fill the trucks at 6/7/8 am.
The 3d tooling and software allows a team to visit any site and show a 3d vision and in rapid time get the trucks filled.
The software works on XP pro, the machines understand XP and the creative types get upgrades for their software.
Whats going to change with average woodwork? The exotic lamination?
Only constant pressure from other small teams bidding on small gov contracts.
A new school, lab, expansions..all very time and cost sensitive.
So a bright person asks to swap XP to Win 8? Will the 3d software work? Supported like it is with XP? With the 15-10-5 yo machine that worked with XP?
How many days down to test it all? New software needed? One the phone to Germany, Japan or Italy that night?
Too complex? (Score:4, Interesting)
First, there is the incremental cost of the software AND upgrading hardware to be compatible.
Then there is the cost of being down; idled employees, non-income-producing tech work, training, and administration costs.
Then there is the cost of not being able toservice your customers; missed orders, bad feelings, image problems, botched sales, etc.
Then there is the inconvenience and complexity associated with the upheaval and new ways of doing things. The potential interactions accellerate according to I= E(E-1)/2, so, 3 elements have 3 potential transactional interactions, 5 elements have 10, 10 have 45 and so on. Mistakes and annoyances are inevitable.
The complexity makes the process a lot more than trivial. Just in the last three months, I've seen three large companies (200+ employees) almost come to a standstill over upgrade problems.
Re:Yes, (Score:5, Interesting)
Had a coworker who in the late 90's had to procure a HDD for an original IBM PC XT and a version of Ghost old enough to read it. The reason, there was a custom program on that computer that interfaced with the PDP11 that ran the steel mill where it was installed and the drive had died but he managed to bring it back to life by snap starting it. He was able to make it work but he very loudly told the company management that they had to do something because that was literally the last new drive he could find anywhere in the vast international parts lookup system we had access to.
Re:Yes (Score:5, Interesting)
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?
Re:Yes, (Score:5, Interesting)
I ran into an admittedly more banal example somewhere in the 2005-2006ish range: for reasons that predated my employment, the PBX was an OS2 warp system with a bunch of custom ISA cards running on an AT whitebox in the early pentium range. When(after years of giving us absolutely no trouble) the PSU died horribly, we ended up raiding my boxed-for-storage-high-school-nerd basement junk pile for a replacement because the entire outfit didn't have a single compatible replacement.
Alas, the Oh-so-shiny NEC Turnkey Solution that replaced it has been a gigantic pain in the ass ever since, but with the added bonus of being sophisticated enough to be inextricably hooked into an obsolete version of Exchange. Hooray!
Re:Yes, (Score:4, Interesting)
The larger organisations have a lot of custom software that won't even run on anything but XP. Even an Office upgrade is risky since a lot of applications are a series of linked Excel sheets that will break in the next version. Not to mention all those ActiveX controls that had been put into place since some long gone consultant used them to build "rich" web applications. Then there is of the problem that vendors always switch stuff around between versions so you will need to adjust your maintenance/admin processes and tools.
Over the years software landscape has become so entangled that if you pull a string you will get the whole hairball. The companies are of course to blame themselves. If somebody gives me money to build an IE6 web app in 2012 and doesn't add IE8/9 budget on top of that then IE6 it is. It depends on if you run a business or a charity. And even if I ran a charity I wouldn't help out a multinational megacorp.
It's not just hardware/software (Score:5, Interesting)
Now you have to find trainers($) to "update" 200 people's skills, you need to find room/equipment to teach them the new software($$). Create time away from paying work for the training($$$), pay employees to be trained($$$$). The company has to eat the lost productivity and disruptions due to training($$$$$). Pay out for learning materials($$$$$+), pay to have all those power point presentations with the company logo($$$$$++). So now everyone is finally trained to the new standard, but the company still has to deal with the lost productivity due using the "new" system. All the problems due to forced training, and the employees you had to fire or who quit/retired instead of being trained. And the costs go on and on for years, until the company adjusts.
A good example of this is a major Canadian bank the I worked for in 2005; the bank was still using DOS applications running in a DOS Box under NT 4, because the apps worked. It was easier and cheaper to train new employees to use the DOS apps, then to write a "Windows pretty" front end that gave the same functionality. The bank did change to XP in 2007, but all those apps were still there and could be called up in a DOS Box.
And one of the major reasons is that a teller that has been working in the same branch for 40 years; does not need to be retrained to do the job. The teller is doing their job just fine with the same software they always used, once that teller quits or retires a new person can be trained to use the XP front end.
Continuous improvement (Score:4, Interesting)
The trick, I think, is to treat IT more like a leased resource than a purchased tool. Or should I say 'a depreciating asset'?
A hammer is a hammer, whether it was bought yesterday or a decade ago. You're going to want to regularly inspect both for defects that might render it unsuitable, but you're unlikely to have to replace it 'just because'.
On the other hand, most businesses understand that you need to regularly replace your vehicles in addition to having regular maintenance. When you do so might vary, but there's normally a schedule. Dad's work replaces them every 4 years, for example. There are businesses that don't do this, but they tend to be smaller and run tighter on the wire - sort of like businesses that put off IT upgrades.
Fund the IT department with the idea in mind that you'll be spending X every year in 'routine maintenance' along the lines of oil & filter changes, and Y every Z years to do a major overhaul, and it becomes a lot more tolerable. It's generally cheaper as well, since you never quite get into that 'legacy' category where you're having to hire people back from retirement to explain the system to a middleman so he can explain it to the new programmers so they can build an interface.
Re:Yes, (Score:4, Interesting)
If somebody gives me money to build an IE6 web app in 2012 and doesn't add IE8/9 budget on top of that then IE6 it is. It depends on if you run a business or a charity. And even if I ran a charity I wouldn't help out a multinational megacorp.
And that's how it happens.
Purchasing Officer: We use IE6, can you make a kitten app for that?
Web Developer: Yes, we can write an application for IE 6 through 9 and 10 beta.
Purchasing Officer: How much would that cost?
Web Developer: something-something thousand dollars.
Purchasing Officer: Well that's quite a bit, write it for IE 6 only as that's all we use.
The purchasing officer doesn't give a crap about future upgrades, they only want it to work now and most web developers don't give a crap as they still get paid.
Capitalism 101 (Score:4, Interesting)
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?
The invisible hand stole it.
The money saved from firing newly redundant staff was funneled into undercutting the rivals' prices and those rivals that survived this did so because they did the exact same thing. This money can only be recovered by raising your prices back to the old level and if you do that no one will buy your product anymore and you will go out of business.
Re:Yes, (Score:4, Interesting)
Specifications and technologies change over time.
Re:Yes, (Score:5, Interesting)
I used to work for a large cement company (#2 worldwide at the time, iirc) and there was a particular model of IBM PC that the company depended on because, besides having a good deal for discounts from IBM, it was the only PC that had enough internal space for a custom-made PCI card that held the relays that were used to control the mixing of the different compounds that were needed for each of the different specs of concrete and other products.
Also, from experience, these PCs had proved the most reliable in all the nationwide concrete plants that had a lot of cement and other kinds of dust, humidity, vibrations, high temperatures and so on. And I don't have to explain what happens when cement dust and a humid environment come together inside a PC.
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.
Comment removed (Score:4, Interesting)
Re:Yes, (Score:4, Interesting)
It costs money to redevelop a system with 10 years of development. Not 10 years worth- but easily 5 years worth and that's after 3 years of having a smaller staff analyze the problem...Because they do NOT want to hire the 30 programmers and pay them for 3 years to rewrite all the software.
Why not? Obviously they paid programmers to develop their current system, so why is it so outrageous to expect them to continue to pay programmers to upgrade and fix the system? In my opinion, the problem is that people look at these things all wrong. They think, "we'll pay some cheap programmers to write some software for us, and then we'll have this system that will operate forever for free!"
Funny how factory owners don't go, "we'll pay someone to build custom machinery and build out this factory, and then the factory will operate forever for free!" In a factory, people have the sense to realize you're going to have to maintain the machinery. You're going to need access to replacement parts when something breaks. You'll need to pay some mechanics to keep things running smoothly and tune things. The more custom it is, the more you'll need mechanics and engineers to build replacement parts as you go, and address design problems as they come up. You're going to have to plan to be able to replace the whole thing one piece at a time, even if not replacing the whole system at once.
Custom built software solutions are the same way. If you're going to build your business around one, you should prepare to have adequate programming resources to maintain the system and keep it up to date. You should have a plan to replace and upgrade the whole thing one piece at a time, even if not replacing the whole system at once. The more custom it is, the more resources you'll need to keep it up.
So these businesses shouldn't look at this as an expensive one-time project to be put off as long as possible. It should be an ongoing process that goes on for as long as their business goes on. Basing your business on custom-built software without the programming resources to maintain it is about as stupid and operating a factory with custom machinery without mechanics or replacement parts. That is, it may work for a while, but sooner or later you're going to have a catastrophic failure.