Why Upgrade If Everything Works

So I'm a little late to get on the Apple's latest operating system - Mavericks. It's got fantastic reviews, and it's been out for exactly 3 months. I got me thinking, why do I hesitate when upgrading software?
Having spent years writing software, I am often a bit hesitant to rush into upgrading my software. It's a cautious testimony of having experience upgrades that fail to deliver and introduce more issues. The decision between experiencing better application performance and risking un-usability requires some pondering.

Cost of Upgrading

Though this cannot be the only factor, often the fact there's additional expense involved in upgrading software, will sometimes cause me to hold off the decision. Cost is not limited to the software alone, often it comes with additional systems requirements that in turn require hardware upgrades. Even free software upgrades that require better hardware can attribute to this.

Compatibility with Clients

If the upgrade allows you to share files with your clients, it's a very valid case for pursing the upgrade. Compatibility with your clients means everything for a competitive business.

For example, Microsoft Office introduced the .docx format, and while it was backward compatible with previous version, you needed additional plugins to view data from the latest version if you were using the previous editions. Also this was only a viewer, meaning all changes would be sent back with the previous format.

Learning Curve

You need to ask yourself if you're really up to the challenge of learning the additional features or you can go with what you have. Upgrades don't inherently mean upgrade, sometimes they require you to re-learn shortcuts, macros and may other work-arounds that you've built into your workflow. Worse, you may even find that features get removed from upgrades and instead you are left with an application that delivers less than what you originally had.

End of the Day

If the costs are justifiable (remember, even free has hidden costs in hardware), the upgrade provides you compatibility with clients (including backward compatibility), and finally the learning curve is within your ability, then by all means -- upgrade!
Previous
Trello Workflow for Test List Software Development
Next
Rescuing Time