A software developer friend of mine has good advice, which he repeats solemnly: “You have to keep up to date aggressively .” I agree.
He is specifically talking about software libraries and platforms. If you don’t keep up to date with minor releases that come out then the changes you need to make for the next major release will most likely be too much to bear when you need to make use of it. I’ve found myself in far too many environments where the failure to keep up to date has meant the software has become tied to hardware that is no longer available—the existing hardware has to be looked after very, very carefully, or else replacements sourced from eBay. The failure to update the software components has meant the total system is reliant on hardware that the software vendor no longer supports. The result? The business is now at risk.
The word “aggressive” is a good one, because updating the software components, ensuring the whole still works well, and rereleasing, is an unwelcome distraction from the more immediately valuable work of improving the core product. But you have to steel yourself and get on with it.
If you don’t keep up to date enough your near-term workload is reduced, but later it’s suddenly too great at the wrong time. If you keep up to date too often you’re giving yourself unnecessary extra work. If you rely on your users’ environment (such as their choice of web browser) then one part of the system is taken care of, but the update of that environment is out of your control. In the end it’s all about keeping things within your bounds of control and managability.