When I was working on the ISO-19770-3 Entitlement Tag, we must have spent at least 8 months just discussing software updates, upgrades, patches, rights to upgrades, downgrades, the process of upgrading, tracking versions, and all the issues with version compliance tracking.
These meetings were with software vendors, SAM tool practitioners, audit vendors, and SAM practitioners (in very large enterprises). In addition, I’ve participated in some of the largest software upgrade programs for Adobe, Autodesk, and Microsoft.
From those experiences, I’ve identified some best practices for managing software updates and upgrades. In Part 1, I will share the first five best practices and will follow up with Part 2, where I will share the five remaining best practices.
Clearly differentiate update vs. upgrade processes
Updates should be much easier for the user to receive – consider a PUSH software update process with central IT control for the enterprise.
- Consider differentiating your updates:
Security updates should be free/available to all customers, regardless of whether they are on maintenance or not - Consider making bug fixes/small enhancements updates only available to customers that are on active maintenance—this practice is starting to become more and more common albeit not the norm yet
Fulfillment process for paid upgrades and on-maintenance upgrades should be the same
Vendors who provide both paid upgrades and maintenance upgrades should provide the same user experience for fulfillment regardless of the method of purchase. Typically, this is:
- User gets a notification that an upgrade is available (either because they purchased it or because they are on maintenance)
- User goes to a website to download the newest release
- User gets new software licenses for the new release By being consistent, the customers, the channels, and the support experience is enhanced. Vendors gain “easy to do business with” kudos.
Software Upgrade: A Pull, Not a Push Process
Customers should be able to get their upgrade when they are ready – not when the upgrade is made available. One of my favorite “upgrade no-no” stories is when Livermore Labs called up a certain vendor because they had just received 30 PALLETS of a new version of the software and they were running out of dock space.
Make upgrades available electronically (default) with an optional physical delivery
Most customers prefer electronic software delivery over waiting to receive DVDs, inventorying them, etc. If the upgrades are very large (>4 gigs), then vendors should consider:
- Electronic delivery optimizations through Content Delivery Networks (CDNs)
- Breaking the delivery into required and optional items (i.e. documentation, example content, language packs could be separate downloads)
Provide a website for maintenance coverage of products
Providing access to license entitlements is not enough anymore – customers must be able to view maintenance coverage for those licenses.
Common Questions
What’s the difference between a software update and an upgrade?
An update is a smaller change that improves the current release—think security patches, bug fixes, or minor enhancements. Updates should be easy for customers (and IT) to apply and are best handled via a centrally controlled push process. An upgrade is a new major version that typically includes new features, architectural changes, or revised license terms. Because upgrades can have downstream impacts on deployments, integrations, and compliance tracking, they work best as a pull process—customers choose when to adopt the new version based on readiness, change windows, and internal policies.
Should security updates be free, even if a customer isn’t on active maintenance?
Yes. Security updates should be available to all customers regardless of maintenance status. This practice reduces risk across the installed base, protects brand trust, and helps vendors avoid fragmented vulnerability exposure. In contrast, bug fixes/small enhancements can be reserved for customers on active maintenance. This increasingly common (though not universal) approach reinforces the value of maintenance while still keeping the ecosystem secure.
What’s the most customer‑friendly way to fulfill paid and maintenance upgrades?
Provide the same user experience for both. A consistent flow removes friction for customers and channel partners and simplifies support. A clear notification should let the customer know that an upgrade is available (whether purchased or included with maintenance). Offer a self‑service download from a vendor website/portal for the newest release.
Why should upgrades be delivered electronically by default—and how do you handle large packages?
Most customers prefer fast, electronic delivery over physical media. It eliminates shipping delays and the hassle of inventorying DVDs. For large releases (e.g., >4 GB), optimize the experience by using a Content Delivery Network (CDN) to speed global downloads. Packages can be split into required vs. optional components (core binaries vs. documentation, language packs, sample content), so customers only fetch what they need. Finally, offer optional physical delivery for regions with limited connectivity.
Stay tuned for Part 2 where I will discuss the five remaining software update and upgrade best practices. In the meantime, if you would like to learn more about defining a world-class software update process, check out this White Paper: Software Updates and the Customer Relationship: Eight Issues That Impact Retention, Profit and Your Ability to Compete