By David Skowronski, Computer System Engineer
The following top 10 list is important to consider when deciding to change the operating system of an existing production system or product platform. Because this change can potentially create many risks, it’s best to do a full evaluation of the product or platform first before considering the change to a new target operating system.
- Hardware Specifications – The current hardware will need to meet the requirements of the new operating system. It is important to confirm that the current systems being used have enough CPU, memory, and hard drive resources to run the new operating system configuration. In some cases, new hardware will need to be sourced to meet the new operating system specifications.
- Drivers – In most cases, drivers will be available for current computers and peripherals, but if any of these are older and no longer maintained by the manufacturer, then it’s possible to find that there isn’t a driver available. Depending on the operating system, an older driver may still work. For example, Windows 7 and Windows 8 drivers usually work in Windows 10, as they all share the same base kernel. However, there are a few instances where this isn’t the case, and in this scenario, new hardware will be needed.
- Third Party Add-ons – Many products use third party add-ons and software development kits. When changing operating system versions, you’ll need to confirm that these add-ons support the new platform. If not, you’ll need to source new or updated add-ons and software development kits that support the new platform. This can be costly and require development time to integrate the new add-ons and software development kits.
- Product Software Support – Full system testing will need to be done to confirm that the product’s software supports the new operating system. It is recommended that regression and system integration testing is done to confirm all features and functionalities perform as expected. Any time an operating system is changed, the security and user account settings may behave differently than they did with the previous version of the operating system. For example, Windows 10 enforces system directory write access where Windows 7 does not. This can cause unexpected behavior if the software reads and writes to these directories.
- Development Needed – If the product experiences issues with the new operating system, development may be needed to add support for the new platform. With VB6 and C# based applications, most issues will be related to the third party add-ons and SDKs used. Development resources will be needed to integrate new versions of the third party add-ons and SDKs used. In other cases where the third party add-ons aren’t an issue, it could be as simple as a setting done during the compiling process. For example, .Net applications need to be set to an x86 platform target when integrating with 32-bit add-ons, otherwise the application will not be able to use the particular 32-bit add-on.
- End User Training – When changing operating system versions, it is important to make sure everyone is properly trained. The way things were done in a previous version of the operating system is likely to have changed. Training the teams that use and install the systems is highly recommended to ensure that there’s a smooth transition to the new platform. This avoids mistakes being made in the setup and configuration process.
- Security – With the new operating systems, new security features are usually introduced. It is a good idea to take advantage of these new features to stay ahead of the curve in being compliant with IT requirements. It is also important to confirm that these new security features don’t have any negative impacts on the current product before implementing them into production.
- Versions & Licensing – With each new platform of Windows, there is usually more than one version to choose from. For desktop versions, it’s typically Home, Professional, Enterprise, and Embedded; for server versions, it’s typically Standard and Enterprise. There will be different costs and features associated with each. Enterprise will typically be able to utilize more memory and CPUs than the Standard version, but will cost much more. Based on the application, it’s best to choose the one that best fits the application and licensing terms. When providing a solution for an end customer, the most common versions used here are Professional and Embedded for the desktops and Standard for the server environments. With customer supplied environments, it’s likely that the Enterprise version for the desktop and server platforms will be used with the customer’s volume licensing agreement.
- Customer IT Readiness – When deciding to change an operating system version it is a good idea to confirm that the end customer is ready and willing to accept the new platform. Some customers will have strict guidelines on which operating systems are approved and which are not. You don’t want to be too ahead, but at the same time you don’t want to fall behind. So be sure to do research on which version is commonly being embraced by the industry first before diving into a new operating system platform.
- Return on Investment – It’s always a good idea to do an assessment of the ROI before deciding to change an operating system for a particular product. If the amount of effort needed outweighs the return or if there’s no benefit to making the change, then it may be better hold off on making the change. If there’s little to no development time needed and there is a customer base inquiring about when you’ll start offering the new operating system platform, then there’s a benefit to making the change.
Operating systems will continue to evolve and change, often faster than the business needs behind a software product. Considering these factors before changing to a new operating system will ensure there is value in making the change and will also make the transition smoother.