We previously published insights on the importance of upgrading your website, including the role that an up-to-date back end plays in ensuring optimal security, reducing development and maintenance costs, and facilitating future growth. Here, let’s talk more specifically about how important upgrades are to the future growth of your website, web app, or operating system. As so many of our clients have learned, upgrades allow you to facilitate more data and more users, as well as introduce more robust features and functionality, paving the way for an enhanced user experience and new revenue generation.
“The Django ecosystem has lots of open-source plugins that add and expand functionality, and they’re generally only maintained for supported versions of Django. If you decide that your site needs an important piece of functionality that could be provided easily by a plugin, you won't be able to take advantage of it if you’re running an old version of Django,” says Caktus project manager, Gannon Hubbard.
The Wisdom of Regular Upgrades
Let’s talk logistics. In discussing whether to upgrade, the first question from our clients is often, “How difficult is this going to be?” There’s no single answer to that. Upgrades vary based on how complex and customized the website is, what all needs to be upgraded, and how long it's been since the last upgrade.
If your site simply needs to be moved from one long-term support (LTS) version of Django to the next, you’re looking at a relatively simple process. But if your version of Django is, say, five years out of date, and Python and the server operating system also need to be upgraded, then it’s going to be a more involved process.
This underscores the wisdom of regular upgrades. They’re going to pay off in the long run.
Other factors that can affect upgrade difficulty are installed open-source packages and customizations. Installed packages generally must be upgraded as well. Usually, this is a simple matter of replacing the version of the package being used with the newest version. But in some cases, it's more complicated, requiring us to work with the client more closely to determine the optimal path forward.
Sometimes an upgrade renders a customization dysfunctional, and additional changes may need to be made to remedy any differences in pre- and post-upgrade functionality. Again, the Caktus team works with the client to investigate and proceed accordingly.
“We do a lot of upgrades,” Gannon attests. “When we look at a list of installed packages, we're generally familiar with them and know the costs and benefits of the different approaches.”
Building from a Solid Foundation
Gannon notes that while Django upgrades are usually imperceptible to end users, they’re critical to an optimal user experience: “Up-to-date software is easier to enhance. This means that it's easier to implement user-experience improvements.”
Ultimately, old code can be costly. Gannon has been involved in attempts to overhaul out-of-date legacy codebases, and “they’re universally expensive and risky. These are projects that are meant to improve revenue, but starting from unmaintained code makes it less likely that that revenue will ever be realized.”
Having up-to-date technology, however, can facilitate enhancements that heighten the user experience and add revenue potential. As an example, the Wagtail Content Management System (a popular CMS for Django sites) is under active development and regularly introduces new functionality. It’s well suited for integrations with customer-management, marketing-automation, ticketing, and payment-fulfillment systems. But only a website running the latest LTS version of Django can upgrade Wagtail to gain that functionality.
There are many other enhancements you could choose to add to your website over time, depending on your business objectives and strategies. Regardless, Gannon advises, “Upgrades should be at the top of your list before new functionality is even considered.”
“In my opinion, software should be considered a capital asset that needs to be maintained regularly – just like your office building. Otherwise, operations gradually start to break down, enhancements get more expensive, and getting the building back up to state of the art quickly gets out of reach.”
So don’t limit your potential. Regular upgrades are a solid investment for ongoing enhancement and growth of your website and your business.
See more details in our Django Upgrades Infographic!