The goal of increasing the value of our product to our customers is an important goal of Pricefx, allowing our customers to take advantage of new and advanced capabilities to achieve their pricing goals is one of the keys to our success. Within this article, our desire is to demystify the upgrade process by articulating the important opportunities that each upgrade represents, defining what an upgrade is, how to properly prepare for this process, and who should be involved.
What is an Upgrade?
A perfect place to start is identifying exactly what an upgrade is, an upgrade involves the advancement of our products by adding new features, functionality, or capabilities. Pricefx is an agile tool that is constantly evolving. This means that we try to fix issues and provide the latest functionality available to your solution as quickly as possible. The process to ensure you have access to the latest and greatest in pricing software is through upgrading to new versions of Pricefx we continuously release. There are 2 types of releases:
Major Releases. These happen every six months around January and June every year. The major releases contain big new features and brand-new functionality that expand our product with industry-defining features (ie. Sales Compensation, Optimization, etc). These have specific names and are numbered with the first digit (ie. Godfather 8.x, Hurricane 9.x, Bee Knees 10.x, etc.)
Minor Releases (Patches). These releases happen every month between major releases and contain quick fixes and small new functionality. The way we name these patches is with the “decimal” in the version description. As an example, for Hurricane, we have had 9.0 (major release), 9.1 (first patch of Hurricane), 9.2 (second patch of Hurricane).
IMPORTANT: Major Release Upgrades are Irreversible
With every new major release, there are new features that are launched that will impact the structure of the application databases. Since all customer configurations and associated data are stored in these databases, then they must be upgraded to work with the newest release. Therefore, due to these changes all Pricefx major release upgrades are considered irreversible. To learn more, click here.
What will be impacted by an upgrade?
When an upgrade is applied, it is important to know that it is your Pricefx cluster that is impacted and not your partitions. This means that the application of an upgrade will cause all the partitions in that cluster to be updated simultaneously. For example, if your QA Cluster has both QA and DEV partitions, they both will get updated at the same time.
LEARN MORE: Learn all of the new features in our latest release here.
As a best practice, Pricefx recommends the following sequence:
Upgrading QA Cluster (+ all associated partitions)
Perform intensive QA Cluster testing across complete functionality
Evaluate the results of upgrade acceptance testing, resolve any issues
Upgrade PROD Cluster
Perform intensive PROD Cluster testing across complete functionality
Identify issues and notify Pricefx Support as needed
Why should I upgrade?
Our product is constantly evolving as improvements and advancements in our core product are applied in support of our customer's and industry’s needs. We are constantly listening to our customers to fully understand their pricing environment, learn about their issues, and identify the opportunities they provide for further innovation. Within the product team, these new features are reviewed for impact on customer value, developed along key value drivers, beta tested, revised, and improved, and then finally become part of a major release.
Benefits. Each one of our major upgrades will involve a range of product enhancements that have been proven to add value to our product and our customers. Another major benefit would be security improvements to mitigate a variety of security risks (learn more here). You can view the features in our most recent release of Bees Knees.
Compliance. Starting in June 2023, Pricefx will follow an N-1 upgrade policy for our customers. Essentially, our customers will need to be no more than 1 release behind our current release. So, when Paper Plane 11.0 is released in 2023, then our support will cover Bees Knees 10.x and Paper Plane 11.0.
LEARN MORE: What is the Pricefx N-1 Release Policy? Important information here.
Risk. When version upgrades are not being performed, then there is the risk of falling too far behind and not having the ability to take advantage of our most advanced capabilities.
How do I prepare for an upgrade?
Pricefx has prepared a checklist of tasks that provides a guide that customers can follow to help them prepare their environment for a release upgrade. Before beginning our upgrade, there are several important concepts that should be known:
Shared vs Private Environment. In Pricefx we offer two types of environments, Shared and Private environments where your solution is developed and held. Shared environments will upgrade automatically on the date of release for all Major and Minor releases. For customers in Private instances, then the upgrade is an on-demand process.
NOTE: The Shared environment option has the capability to use the Pricefx Shared Staging cluster for their QA partition, and the shared cluster is updated about one month prior to a Major release and 1 week before a Minor release.
Release Notes. With each Major or Minor release, Pricefx will publish a set of release notes that provide a comprehensive view of the upcoming release. During a customer’s preparation process, It is a good practice to review these notes to have an understanding of the new features being released, and also to comprehend what areas of an existing implementation will be impacted. Having a good understanding of the depth and breadth of the release will assist in your upgrade planning,
LEARN MORE: You can view the complete set of release notes here.
Upgrade Components. Before starting our upgrade, we should consider the impact of the following:
Upgrade Testing Process
Testing in QA is your opportunity to assess how the upgrade will impact your Production from both a change and risk perspective. For example, to reveal if changes or updates would be needed to your SSO or ERP integrations, or help bring your superusers up to speed on the new release.
If no upgrade testing is performed, then all issues, misunderstandings, or problems encountered later are resolved under COSA. If these issues aren’t discovered and resolved before the upgrade, then the production application will be temporarily unavailable until resolved.
Upgrade Test Plan
Existence or creation of an organized and disciplined approach to your upgrade testing, to avoid any undiscovered gaps in the test plan that could lead to potential problems. A common symptom is when testers are performing tests without proper preparation and prioritization of critical functionality. There should always be a clear prioritization of our test cases.
Time Allocation
Ensure that the team of selected testers has the necessary time to perform the test cases assigned to them due to the volume of their other work. Without the proper time allocation to fulfill your upgrade test plan in its entirety will inevitably to undiscovered gaps in the upgrade preparation.
NOTE: If upgrade issues are NOT discovered and resolved before an upgrade is applied, then the production application might be impacted and become temporarily unavailable until resolved.
What are the steps for a successful upgrade?
Pricefx recommends the following checklist as a starting point for the upgrade migration plan:
Selection of Testers and Scheduling Upgrade Testing
Selection of a cross-section of skills (business users, administrators, technical, etc) to fully test all aspects of your application against the identified upgrades to the Pricefx core application. Ensure that individuals selected can commit a percentage of their time to this process.
Scheduling Upgrade Testing
Ensure that all selected testers have allocated and reserved the appropriate amount of time for performing their specific upgrade testing. The amount of time to allocate to this task will be dependent upon the volume and complexity of their test use cases.
Upgrade System Accessibility
All of your testers will need access to the QA system where the upcoming upgrade has been deployed. Ensure that all access credentials have been defined and all testers are aware of the correct partition to be used for their upgrade testing.
Create Upgrade Test Cases
Prepare the complete set of test cases for your upgrade testing. Each test case should follow a standard format and structure:
-Based on your business cases and should cover all scenarios from beginning to end.
-Based on the current functionality and version of Pricefx before the upgrade.
-Should contain a checklist of what needs to be verified and the expected results.
-Determine the GoLive criteria for the test case.
-Use proper data selection for testing to ensure we have both positive and negative outcomes, and we are testing for specific scenarios.
NOTE: We highly recommend having your Internal IT team standing by during your QA testing as well as during, and immediately after, the upgrade of your production instance. Trivial IT issues such as browser cache and add-blockers do occur and need to be routed and resolved by your IT specialists for a smooth GoLive experience.
Prioritization of Test Cases
To avoid any gaps in your upgrade test plan, you should determine the priority of the test case to identify the most critical enterprise events. This prioritization should be communicated to your testers to enable them to focus their time on your most crucial test cases.
Upgrade Test Leader
There should be a team leader that is responsible for managing the prioritization, execution, and collection of test case results. They should be responsible for coordinating all testing tasks and ensuring everyone is following the test case execution standards. Additionally, they are responsible for communicating with all managers about the overall progress.
Select Test Management Tool
For large upgrade testing that can encompass a large volume of test cases, then an automated testing tool (Pricefx uses X-ray) should be used. For small amounts of test cases then Excel can be used.
Logging Bugs
As the upgrade testing progresses, and various issues are discovered, these errors need to be logged so fixes can be applied and then re-tested. Any errors discovered should be prioritized using the following suggested set of categories:
Priority | Explanation |
---|---|
CRITICAL | User is unable to use the solution, resulting in a critical impact on business operations. This condition requires immediate resolution. (ie. The system is down) |
HIGH | Any high priority defect which results in an incorrect price calculation. No workaround is available, and the defect is time sensitive. (ie. Defect is blocking pricing from being exported to ERP systems) |
MEDIUM | The defect requires attention but does not block pricing utilization. A workaround is available but may not be optimal. (ie,. Defect requires the user to perform manual calculations) |
LOW | Minor loss of functionality. These may be monitoring issues, clarifications, documentation questions; or administrative tasks. (ie. Update the column label or any other cosmetic related defects) |
Each of our testers should be logging their results every day. If an issue is discovered, then the appropriate level of documentation to assist in fixing the issue should be provided (ie. expected vs actual result, error messages, screenshots, etc).
Each error should be retested and each successful test case entry should contain descriptions of the test, expected results, screenshots, and associated files.
Code Promotion
Once all of the test cases have been performed and the results have been verified, then it is time to promote the core code from the QA system to your PROD environment.
Upgrade Smoke Test
The final step of your checklist will be the performance of a smoke test or build verification test to determine if all of the most critical functions of your application are performing as expected. This is a preliminary test of the new upgrade and its functionality.
LEARN MORE: To learn more about resolutions to common issues related to Pricefx upgrades, you can click here.
When should I upgrade?
Ideally, your partitions should be up to date in regard to the Pricefx release policy of N-1. Therefore, this means that customers should prepare for upgrades once per year (2 times per year is best) to align with Pricefx’s best practice recommendation to remain at the most only one major release behind.
LEARN MORE: For information on the Pricefx upgrade release schedule, you can view the release calendar here.
Regarding the timing of your upgrade, there are two things to keep in mind:
Each major release will contain a range of upgrades:
New Modules or Capabilities that are extensions to our core product that provide completely new features and functions that complement our existing product mix. As an example, review the information on /wiki/spaces/KB4ACC/pages/3902472287 that was released in Hurricane 9.0.
Updates and upgrades to existing core capabilities that extend an existing feature by providing expanded functionality. As an example, review information on Visual Configuration released in Bees Knees 10.0.
Patches to the underlying core product that resolves issues impacting our customers and is limited to specific capabilities or features. Generally, these are released as minor upgrades (ie.10.1, 10.2, etc.) with each successive minor release considered more stable with expanded functionality versus any earlier versions.
NOTE: The importance of Patch upgrades can’t be overstated, they can be used to apply additional security to your application.
How do I request an upgrade?
Pricefx tries to make the upgrade process as seamless as possible from the request and actual upgrade procedure side. For customers that are running in a Private Environment, then we have two ways to request an upgrade, the first one through Platform Manager is the most desired one:
Platform Manager. In Platform Manager, we have created a section where any user with the right user role* can request an upgrade of a specific cluster. You must go to the account tab, click on “Upgrade” and then select the cluster, the version you want to upgrade to, and the date and time you decided. You can also add some comments and contacts you want to notify about this upgrade. As soon as it has been requested, you will get an invite in your calendar to track the upgrade window.
Support ticket. In case there is an issue with the previous procedure, you can also navigate to the Support Desk, create a ticket with the category “Cluster upgrade” and add the information required with a desired date and time. If we cannot perform the upgrade in that timeframe, we will come back to you with a new proposed time.
LEARN MORE: To learn how to request your upgrade through a Support ticket, click here.
NOTE: If you have implemented your Pricefx solution in a Shared Environment, then all major and minor release upgrades are applied automatically to your QA environment.
How long does an upgrade take?
When upgrading to a Major Release (ie. 9.x to 10.x), you should allocate about 4 hours for the upgrade to complete successfully. You will want to plan ahead for this time window to minimize the impact on your business operations. Minor upgrades and Patches could be as quick as 5 minutes.