Median Age of Deployed Software

Median Age of Deployed Software

This is one post in a series that outlines some key metrics that best-in-class software vendors tend to focus on when designing the teams, process, and product integrations for distributing their application to customer environments.

Definition

The median of how long it has been since your customers updated to the latest version of your software.

Detail

  • This metric is an indicator of your customer’s adoption rate of your application(s). Customers who stay up to date with your releases are less likely to encounter issues and are able to adopt and provide feedback on new features.

  • This metric also has an impact on your support burden by reducing the number of versions that need to be supported as well as reducing bug and CVE exposure.

Best in Class

80% of installs have updated to the latest version in the last 60 days.

This is based on the best in class for deployment frequency (monthly) and can be variable depending on how frequently you deliver new releases. 80% of installs have updated to the latest version in X days, where X is double your deployment frequency.

How to Measure

  • This can be measured by taking the age of all deployed production instances and calculating the middle.

  • Replicated can assist with pulling this data for you, although we are currently limited on version data on air gap installs, so we recommend capturing the versions of air gap instances at the time of initial deployment and when updates are completed.

  • If your customers tend to be slow to upgrade, you may be interested in measuring the maximum age of your deployed software instead of or in addition to the median.

  • Below is an example depiction of the median age of deployed software tracked over time in relation to the number of instances.

How to Improve

  • Automatic updates (online installs only) - configuring automatic updates for your customers will allow the admin console to automatically check for and download new versions. Enabling semantic versioning will give you additional options to automatically deploy only patch and minor versions.

  • Release notes - having detailed release notes available for new versions highlighting the improvements can help increase customer adoption of updates.

  • Update workflow - having a workflow defined for updating your application(s) can help make the process smoother and less prone to encountering issues. This is especially important if there is a breaking change or required update path. Customers are more willing to update when you have instilled confidence in the process from previous updates.

  • Snapshots - snapshots are vital for disaster recovery scenarios, and are also helpful in giving your customers peace of mind before completing an update. Having a full or partial snapshot as a fallback in case something doesn’t go as planned during an update can increase new version adoption rates.

Related Metrics

  • Deployment Frequency - how frequently your customers update is highly dependent on how often you provide them with new versions.