"If it isn't broke, then don't fix it." - a load of crap!

I deplore the adage that "If it isn't broke, then don't fix it." It is sad to see that phrase get adopted by many "so called experts" giving advice to naive users. It is unfortunate because it is "nearly true" so often when it comes to device drivers. All device driver updates need to be taken with some care.

The soothsayers go as far as suggesting against doing any software updates at all, and especially BIOS updates. Myself, I have found BIOS updates to be quite helpful.

Most of these so called experts state it as if there are no exceptions. Adopters of this line of thinking have probably seen fewer troubles, so they have re-enforced their belief so strongly, they give it out as advice to everyone, post it online every chance they get, and especially on websites that is promoting a device driver update tool. They speak proud of their "expert knowledge and advice," plus they have successfully fooled so many, that many of those influenced have joined the bandwagon. Now, they think they too are experts giving out valuable advice. Sure these thinkers may have fewer troubles, but they might also be missing out on the many improvements some updates were made for.

The big glaring problem with the "not broke; don't fix" theory is that there are many exceptions.

The first time you install Microsoft Windows on a blank hard drive, Microsoft can generally get your display screen showing something, but leave it to you to install any device drivers that will improve on the resolution. So why do these "not broke, don't fix" rule advocates do it then? The system was not broken, unless you consider a 600x800 display resolution broken. It isn't broken, but it certainly is not acceptable. Therefore, we install some device driver update and come back to more common resolutions. If I had to go with the "not broke, don't fix" rule, I wouldn't be able to upgrade my graphics card to the latest high-end version.

The device developers create updated driver versions to sometimes fix issues, but it may be for a different OS than you are using, or it may be for different motherboard than you use, so just because it is a later version does not make it better for you, and in some cases, the updated version may break things when installed on your OS. In many cases, eventually, the developers will fix those problems as well, so very often they may list several versions available, and even with notes indicating whether you should use one of the other. I have not found any automated device driver update software that takes those developer's notes into consideration. Basically, don't update simply because it is a new version; investigate first. ... manually.

The device developers create updated driver versions often to "improve performance" and these can be a nice update to have even if your system is not broken. I have seen examples of 10-fold performance updates offered in a graphics device driver. Depending on its function in your system, that can be a very nice improvement. First investigate, save the old driver, update to the new one, and if it is better you just improved a computer that wasn't broken. Did you "fix" anything? No, but going against the "not broke, don't fix" rule should make you feel pretty good.

Another type of device driver update may offer other features. These can often be a great improvement, but if you adhered to the "not broke, don't fix" rule, you would miss out.

A computer with an older BIOS does not allow booting from a USB device, but an update BIOS will allow it. The system was not broke, but the update makes for a handier system to rescue with a USB booted OS when needed. This was just one example of a real world scenario where "not broke, don't fix" rule came into play. Many times, other device driver updates have provided faster performance, more features, and in some cases, slower performance due to the "more features." Each has to be judged individually, tested, and possibly rolled back.

Yep, I've also seen device driver improvements backfire on you. The "more features" can even be the culprit (but not always). The extra features may slow the device driver down, or it msy use more system resources (RAM). The same can be true for what was intended to be a performance gain, but ended up creating a performance drain on your system. It might be an improvement on some other OS, or some other system than yours with the same OS, and possibly an improvement on your system if you add some RAM. You really have to check your system out with any device driver improvement, and if yours seemed to backfire, take a serious look why that could happen, because it may be as simple as getting a decent amount of RAM into your system.

The main thing is that you don't fall for the "not broke, don't fix" rule as if it is the gospel. Take each device driver update serious; investigate; learn; and improve your system.

Real World Example

Many users have new computers with the latest OS version, and think everyone else should be like them. Very often they are the type of user that uses their browser, checks their e-mail, and possibly use a word processor or a few other office suite programs. Beyond that, they are not like some of us. Some of us have serious development software that licensing prevents the migration to a later OS, or the software itself has issues with a later OS, and a Virtual Box is not always the solution. Replacing $30,000 worth of software to run on a later OS that wouldn't even come into play is a serious reason to not have the latest OS. These Microsoft OS latest OS evangelists are everywhere these days, but only embarrassing themselves to the serious technical folks of the world. Regardless, they think everyone else should be like them.

In the corporate world, it doesn't always work out that way. Take for example a Point of Sale (POS) system that is from the Windows XP days. It does not need a high-quality graphics card, nor does it need a super-fast processor, nor very much RAM to do everything expected of it. Imagine if your company has thousands of these computers, and they all seem to be working fine. Would you spend the money to get the latest OS installed?

It is O.K. to investigate to see what would be gained. I did. ...

In one case, I decided to update one of our POS systems to a later version of the POS Software in order to test it out. First issue was that the latest version of the POS software no longer supports XP. Microsoft does support Windows Updates for XP POS Systems until 2018, but our POS software maker ignored that altogether (didn't seem to even know about it; maybe it is the Phoenix smog).

Regardless, the next step was the OS had to be updated, except there was no computer CD drive (they weren't needed on the POS Systems). I created a USB drive to install Windows 7 on a clean new hard drive, except the computer was so old, the BIOS did not allow booting from a USB device. After checking the motherboard website, I found that a BIOS update now allowed booting from a USB device. After the update, the OS install went fine.

So was the computer broke or not broke before the BIOS update? It had a new feature, and one I desired (or needed in this case).

After installing the latest POS software, the computer was too sluggish. It was now necessary to replace the computer with heftier hardware. A reasonable choice was found for $380 (had Windows 8.1 Home Premium pre-installed). The computer needed to be connected to a domain server to do anything like updates, but this new computer has not been connected to a domain server before, so the pre-installed OS could not even update. Ultimatley, it was decided that a reasonalble solution was to install Windows 7 Pro on a new hard drive (the original drive was retained unaltered since this was essentially an investigation) and stick with that.

The new computer hardware did not come with a parallel port that the POS receipt printer needed, so now we either have to buy a newer printer or we needed a USB to Parallel DB25 adapter cable ($15). The $15 cable seemed to be a more logical path since the printer was just fine. One other issue was that the POS Receipt printer manufacturer did not have a driver for the Windows 7 64-bit OS, but thankfully users on their forum had found one of their other printer device drivers worked with the older printer we had.

End result: Now this system is working exactly as the other older POS systems are (nothing gained by the new POS software). No one notices it is now running on Windows 7. Once the POS software is started, the OS under it becomes insignificant. These POS stations are not used for browsing the web, checking e-mail, playing games, or any other function than providing the POS features to the employees.

Was it broken? Did we get any significant benefits from the updates? Neither really, but we did spend some money.

Latest POS software Upgrade License: $650 ($1,000+ if installing new)
Win 7 Pro: $199
USB to Parallel DB25 cable: $15
New Computer: $380
Update time: Windows updates themselves took 7.5 hours to get to "No more important updates available."

To decide to replicate the same effort even once more is hard to swallow. To replicate for 1,000 POS systems becomes ludicrous.

By the way, in their normal mode of operation, the POS systems are not connected to the Internet (only when updates are needed). They are connected to an in-house network (domain server) so that data can be collected into the main data file.

Summery

This is a case where an unbroken system used an update to "improve things" or "make things possible that were not possible before," but the overall costs to update the remaining POS systems would be hard to swallow. In a sense the "not broke, don't fix" rule applied overall, but the exception to the rule was required in one part of the investigation.

Conclusion

Please do not fall into the trap of thinking you are helping everyone with the "not broke, don't fix" rule. All you are doing is showing that your advice is less reliable than you are pretending.