Instantiations Logo

Having a Software Update Strategy is Critical

February 18, 2022

Instantiations, Inc.
instantiations.com
News Category: 

Avoidance of software updates is an industry-wide problem affecting small businesses, large enterprises, and all types of systems. While it might be advantageous to skip some updates occasionally, it's not a good idea to avoid them altogether.

We've already written about the importance of updates as it relates to much older software like IBM® VisualAge® Smalltalk and operating systems like Windows® XP. However, even more recent versions of the VAST Platform (VA Smalltalk) need updates too. Keeping VAST up-to-date is critical, just like it is for operating systems or any other type of software.

Instantiations recommends that all companies define and implement a software update strategy for not only VAST, but all software in general. After all, the enhancements in updated software are crucial for keeping up with the evolution of technology.

Software cannot be allowed to stand still

Technology has changed significantly since VA Smalltalk 7 was released in 2005. Those changes necessitate software updates.

While it's true that software won't degrade over time, the information technology world is constantly moving forward, so software applications cannot stand still either. Software must be updated so it can evolve along with the other technologies and systems it interacts with.

When it comes to updating software, we've heard that some don't move to later versions because they're not using the newest features and "everything is working fine." For others, it's due to lack of time or budget. Unfortunately, this "strategy" can lead to unintended consequences and later difficulties.

Older software (like VAST 8.6.3 and earlier) may suddenly encounter problems like:

  • Incompatibility with newer hardware, operating systems, frameworks, and libraries
  • Vulnerabilities caused by outdated security frameworks
  • Obstacles when deploying to the cloud or edge devices
  • Software issues that have long been resolved by more recent versions

Defining an update strategy

Defining a strategy takes some time, but regardless of the software being updated, we've found that it's the best method to avoid potential pitfalls. When crafting a strategy, consider the following interrelated points:
 

Frequency

Set a regular time interval. At least once per year tends to work well, although feasibility may depend on the type of application and how widely it's deployed. When it comes to VAST, we encourage updating soon after our yearly major releases for the best possible experience. If a patch is released later that year, they are easy to manage and do not usually require code changes.

Developer resources

Determine the necessary experience level and amount of developers. Are developers available to do an update? If existing staff developers are working on other projects, could an external team or short-term contractors assist? Instantiations has development and consulting services that can help on this front (even outside of VAST if needed).

Code changes

Evaluate how many code changes are needed and how widespread they are. For VAST, review an application's code alongside our Migration Guide. The Migration Guide outlines the code changes needed to update to each new release. It's important to note that Instantiations works hard to minimize changes that break backward compatibility, so Migration Guide entries tend to be limited overall. Additionally, customizations made to VAST’s source code must also be taken into account and well documented. Migrating these code customizations can potentially be the most time consuming part of an update, and extra scrutiny should be given to their evaluation.

Timeline

Set milestones and regular check-ins. This is an essential strategy to help minimize delays when updating the largest systems. Even updates for VAST, which are typically quick and straightforward, can benefit from this approach. VAST updates usually take a matter of days or weeks at most. Additionally, evaluate if it would be worthwhile to have more developers to shorten the timeline.

Documentation

Invest time documenting the entire process. Which code changes occurred? What are the order of steps taken during the update? Were there any unexpected issues? Thorough documentation will help prevent duplicate work and/or errors during future updates as well as improving future efficiency.

Overall Approach

Make the approach iterative. In other words, get basic functionality working first and then expand upon it. Avoid huge, sweeping changes where success hinges on publishing/testing a large amount of changes simultaneously. If possible, make minor changes to a system before the update process begins to facilitate this approach. While this might take more time initially, it will pay off in the end with ease of system maintenance and future update efficiency.

Taking the time to create an update strategy (and then implementing it) is far better than rushing an update in order to correct an unexpected issue, or needing to update quickly as a prerequisite for a sudden high-priority project. When a sound update strategy is adopted by the companies we work with, moving to newer versions of software becomes much faster, easier, and more efficient.

Instantiations continually provides modernizations for VAST

When it comes to the VAST Platform, committing to regular software updates is important. Instantiations makes all the update planning and execution worthwhile by ensuring that new versions of VAST provide the necessary features/frameworks for modernization.

For example, coming in VAST 2022:

  • Official compatibility with the latest operating systems (like Windows 11 and Windows Server 2022)
  • Latest security frameworks (like OpenSSL 3.0)
  • Modern, cross-platform deployment solutions (VAST for Linux on ARM servers)
  • Hundreds of fixes, enhancements, and new advanced features (like our best-in-class Unicode framework)

Stay tuned for a future article that details the significant dev tooling and process changes that enabled all of these improvements!

Access to newer VAST Platform versions is included for customers with active Support Plans. Download and install them without any additional fees.

Recommended VAST versions

We realize it might take some time for companies to solidify a strategy and set a regular update schedule.

As a result, we're tagging specific versions of the VAST Platform as "Recommended" on our version history page. These recommended versions provide modern development functionality, and meet recent OS and security standards. We'll ensure these tags are maintained to reflect changes in technology as they occur.

When a version of VAST is no longer recommended, it should be updated to the latest version. Staying up-to-date with recommended versions will provide the best development experience and help keep applications/systems running smoothly for years to come.

Get started with the update process by reviewing our Migration Guide!

Need some development help completing an update? Contact us

Together, we can build something great.

GET STARTED
Instantiations Icon
© Instantiations, Inc. All rights reserved. 'Instantiations' and the 'intersecting circle design' are registered trademarks of Instantiations, Inc. in the United States. All product names, trademarks, and registered trademarks are property of their respective owners. Company, product, and service names not owned by Instantiations are used for identification purposes only. Use of these names, trademarks, and brands does not imply endorsement.