Frameworks are constantly changing and evolving—especially open-source ones, which we rely heavily on at Atomic. And it’s not always easy to stay up to date.
Updates sometimes deprecate APIs or introduce new architecture patterns. These changes can require significant rework of a project, and they are expensive for customers. Nevertheless, updates are worth it. In the long run, the expense of keeping your project’s technologies up-to-date greatly outweighs the cost.
1. Framework Improvements
It’s important to understand why frameworks release new versions. In general, they are making improvements on two fronts: for the end user and the developer.
For the End User
New versions may decrease the memory footprint of the framework, or they may significantly improve page-load time. This kind of improvement makes the application load faster, feel snappier, and provide a better user experience that will keep consumers coming back to your application.
For the Developer
Newer versions may also introduce new APIs, or new integrations with other frameworks. These are the improvements a developer appreciates. They allow us to maintain a velocity and keep the codebase clean. A strong velocity and a clean codebase means more work can be completed within the budget.
2. Better Support
All framework versions eventually reach their end of life (EOL). A version may be maintained for six months or two years, but eventually, it’ll EOL. When this happens, the application is no longer receiving critical security updates.
Security vulnerabilities are a gateway for hackers to maliciously gain access to your application and invade your users’ privacy. The cost of updating framework versions is nowhere near the cost of the marketing and public relations nightmare that can come if hackers are able to steal information about your users.
3. Ease of Bootstrapping New Development
The older a project’s technologies get, the harder it is for a developer to get the project running. There are tools out there to help us maintain several versions of frameworks on our development machines, but they aren’t perfect. Also, it’s just impractical to keep several versions of core technologies like databases. Getting these tools running again can take days or even weeks. This only eats into the budget that was meant for the development of new features.
The reward of staying up-to-date with frameworks is not always easy to see. It isn’t a slick new user interaction, or the new feature that is going to sell your product to more consumers. However, it will keep the overall development cost of your project down, and it’ll make adding those new interactions and features easier and cheaper.
So, the next time your development team approaches you with a plan to update your technologies, don’t forget to think about all of the not-so-obvious benefits you’ll be reaping.