I know some of you out there resist upgrades because of many reasons, just a few being: you don’t have time, you’re afraid it will mess up your already-working system, you don’t see a purpose to it. I get it. But I want to put in a few words about the choice to NOT upgrade.

Recently, I had upgraded to Windows 10 which broke my virtual machines that were running old programs such as my company’s accounting software. My accounting software is an old version. I did have the choice to buy new versions, along the way, but decided to save my money because what I had worked fine. So, I let my software get extremely outdated.

I will also admit that I thought the day might come when the software was so outdated that it would no longer run. On that day, I figured I’d be fine if I had copies of my invoices saved to PDF and all my receipts as paper receipts, for example. Of course, building a new system would take time and effort but it would just have to be the alternative to all the savings I felt I’d acquired.

When the time came, though, I didn’t so easily want to give up my system. I went through a lot of work to figure out how to force my system to continue running and, because my system was so old, I had to do that all alone and with no help or support.

This really could happen to, you, too, if you’re not upgrading but let’s back-up a bit:

With these big systems such as LIMS, ELN or LES, if you let them get too outdated, on the day you have problems, you might be looking at doing an entirely new implementation and, unlike me, yours will be more than just reentering some customer information and a handful of outstanding invoices. Even if you stick with the same brand, it might not so easily be possible to convert what you have in the old system to properly work in the new one. Having done some upgrades on these big systems where the jump was across several major versions, I will just tell you that it becomes a huge project and not as trivial and merely applying the upgrade packages.

While I know you’re busy and I know that you risk introducing bugs into your system with an upgrade, if you have been paying your maintenance fee and get your upgrades as part of that, you really should consider making the jump at least every once in a while.

The idea that you don’t need to worry that your system will stop working because you’ll find a way to keep it running requires that you practically forever internally have someone that can do this (usually, someone who intimately knows and remembers the old version). Unlike me and my accounting system, a system MUCH simpler than a LIMS, ELN or LES, where I have someone around who can do that (namely, me), you can’t guarantee this.

Gloria Metrick
GeoMetrick Enterprises

11 Thoughts to “Notes on Resistance to Upgrading”

  1. Harry

    Gloria, did you consider virtualizing your old windows system before upgrading? For instance, using VMware’s P2V Converter to make a virtual image of you old system so that you can run it unchanged virtually in Win10 post upgrade…


    1. I had it running on a virtual machine before the upgrade. When I upgraded, the Windows 10 upgrade removed the virtual machines I had defined but I didn’t know it was going to do that before I did the upgrade. When the ugprade gave me a list of items no longer compatible with the upgrade, it didn’t list the virtual machines.

      So, my fix was to actually just reinstall the program but without doing it to a VM, this time.

  2. Greg Mendizabal

    While I agree with your point that the longer a software package is not upgraded, the more difficult it becomes I’d have to say this is not an easy call. I’d like to say I think you have also professed the “if it ain’t broke, don’t fix it” rule too…

    So, we have a LabWare system and just making letter patch updates takes months of preparation. Every single time we find where there are patches that resolve issues in the system, there a patches that BREAK functionality in the system (for us). Sometimes the breaks are subtle and sometimes they are not and almost always they affect critical functionality. Most of our grief comes from one particular module which has tendrils into so much of the system that it can break what appears to be completely unrelated functions.

    Thus, while it’s ideal to keep patched up, unfortunately we can’t jump on every latest release without dedicated resources. Even when a patch is developed for an existing critical bug for us, there’s a lot of scrutiny required to make sure it doesn’t affect something else. Support loves me (ha ha)


    1. In another post, I mentioned that people should stop using the Wait() command in the LabWare LIMS. People occasionally ask why that command isn’t just removed so that people cannot use it. For one reason, it would make the system less backward-compatible.

      However, Greg, you have a great point about breaking things. Major versions are probably the upgrades that are best regression-tested in most systems and they have things that are sometimes specifically not backwards compatible – things the software vendors insist you change – things you’ve had working fine through many versions of the system, in some cases.

      For example, for the version 7 upgrade of LabWare, there are syntax changes, for version 6, there were changes in the interpreter. While they were changes for the better and definitely benefiting new implementations, they’re a royal pain for the current implementations.

  3. Greg Mendizabal

    Most definitely new whole number versions need regression testing. My point was that even “point” updates (6.01d–>6.01g) requires significant regression testing in our experience. LabWare has a pretty cool architecture that can add on functionality easily but there are also risks there where one labtrack stomps on another labtrack.

    re: Wait. I agree and see that point. However, I rarely see them calling out deprecated functionality. And to their defense, there are so many configurations it’s hard to be sure where impacts will be seen sometimes.

    1. I agree with everything you just said, Greg, just to be clear about it.

      On a related topic, I’m now working with the iLES system which has an option to get continuous updates. It’s something that can be turned off, depending on a customer’s needs. But think about the customers who have it on. It sounds scary, really. But when you start to think about the amount of regression testing that has to go into something like that, it’s impressive.

      1. Greg Mendizabal

        re: iLES cloud system. Back around 2003 when I was a Part 11 program manager, we were implementing a training system that was cloud based (and asserted it was compliant). It was difficult to get the company to provide a pre-update validation environment so we could do testing prior to any patches (this was when everyone was super uptight about Part 11 to the point of absurdity at times) and ultimately my concern was the lack of control. Again, too often I see little changes have unintended impacts. Even a “minor” update to Windows can cause problems. I think what you’ve described with Windows 10 is particularly egregious and I’m concerned now about the rolling upgrade mode.

        At the same time, for the common user patching exploits makes sense. But just removing programs or functions without appropriate notice is NOT.

  4. Arun Bondali

    I think what really works is to have a synchronized cloud environment replicating all the architecture layers.This environment could be created and destroyed at will.There are two aspects of changes.One is function and the other is performance.While both items are important,it is at least easier to detect issues with functional changes earlier through a parallel cloud environment.It is always tricky to identify performance impact since we do not have identical load on a cloud based sandbox system.Nevertheless,there may be indirect performance db parameters impacted related to nested tables,queries,joins and transaction data.
    It is a good idea to have a quarterly change assessment performed by a dedicated team with functional and platform expertise.To an earlier point brought up,if a live system is patched up,it can be maintained more easily with lesser technology constraints.
    This also gives an opportunity to periodically test the application,the data and the compliance state regularly while identifying any latent issues which may not be directly related to the change(s) themselves.

  5. This is off-topic but since we did have a little conversation on the virtual machines I wanted to pass this tip along to anyone who upgrades with Windows 10 and doesn’t realize it’s going to take out the virtual machines you’ve created for previous Windows versions.
    They’re not gone, so don’t panic! 😉

  6. Talking about how far things have come with the cloud options:
    Back to what you said about the issue of control – you put your finger on a huge issue and it’s something that every company should keep in-mind when they’re selecting a new product because some of the products can be run on the cloud but still with control by the user over whether/when the upgrade takes place and also with opportunities to have a variety of environments just as we do with the internally-hosted systems, where you have a DEV environment where you try out some new things, TEST/VAL for actually testing an environment before making it live, and PROD for, well, you know…

    For example, in iLES, you can turn it on to automatically update (and then there’s a lot of regression testing that goes on for those people who want that kind of thing, but no-one can guarantee zero bugs, of course). I wouldn’t be surprised if other products have that kind of option but I think it’s a great option to have to give customers some control (and then iLES has a button the users press to force the upgrade when they’re ready at some specified time, hopefully after reading all the appropriate release notes).

    The selection process has also come a long way with regard to cloud solutions. Big customers especially have a standard list of questions to ask and I think the vendors who operate in those spaces are used to having to respond to that kind of thing. Questions about backup, development methodology, bug handling, etc.. – the question lists are fairly daunting to me to see but the vendors respond to them.

    Back to Windows 10:
    Lots of people seem to have been automatically forced to upgrade and by surprise. I’ve heard of many having to roll-back. The way the upgrade gave a list of non-compliant software was deceptive, where you thought you knew what you’d be dealing with post-upgrade, but it didn’t cover all the real changes. That definitely wasn’t appropriate the way it worked.

  7. This is also a bit off-topic, but a tip for anyone struggling to get their Cisco VPN working in Windows 10 and can’t use other Cisco options for one reason or another, I’m now using the Shrewsoft VPN. I’d read some good reviews about it and actually used it, before. I’ve never had a problem with it. However, one warning I’ll give is that it’s tighter on security that the Cisco VPN – it doesn’t allow me to check my own e-mail when I’m on a customer network, for just one example – it’s not an option, at all, apparently. In any case, for those who care, here is the link: https://www.shrew.net/

    By the way, I’m using whatever the el cheapo free edition is, I remember. 😉

Comments are closed.