Upgrade Guide

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).

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:

  1. Upgrading QA Cluster (+ all associated partitions)

  2. Perform intensive QA Cluster testing across complete functionality

  3. Evaluate the results of upgrade acceptance testing, resolve any issues

  4. Upgrade PROD Cluster

  5. Perform intensive PROD Cluster testing across complete functionality

  6. Identify issues and notify Pricefx Support as needed

LEARN MORE: Learn more about use of Partition Copy in Pricefx, and how it is commonly used for go-live preparations, QA purposes, training, and demo purposes. Click here.

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. You can view the features in our 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.

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,

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.

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.

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

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.

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.

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 Sales Compensation 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.

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.

Upgrade Time Allocation

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.