Application upgrade best practices

Follow these application upgrade best practices to simplify and shorten your upgrade process.

Upgrade complexity

Application upgrades depend on the degree of configuration complexity in the customer environment. Upgrades can take from 12-18 months for large customers and can be costly. They are resource-intensive and require a great deal of planning, execution, review, and testing to achieve.

All parts of an application can be configured by using the Builder Tools that are bundled with the product. These tools allow configuration of all application components, for example Business Objects, Forms, Workflows, and Reports. Also, the perceptive UX Apps (such as Workplace Services or Work Task Planner) can be configured. Further, new UX apps can be introduced by using frameworks such as React.js

For heavier requirements or the introduction of new features, such as visitor management, the Java based ClassLoader feature can deliver new Java extensions through customizations. In a similar way, Custom Tasks can be written in Java for workflows to run. For more information on Java ClassLoader, see Overview of extended functions.

Terminology

Configuration vs customization

This best practice considers configurations to refer to any changes in application features created or changed by using the builder tools such as business objects or workflows. Conversely, customizations to refer to any changes to Java code.

Migration vs upgrade

Upgrades involve moving from application version to a later version, be it TRIRIGA or IBM Maximo Real Estate and Facilities.

Migration is the process of moving an application from IBM TRIRIGA® Application Platform to the Maximo Real Estate and Facilities platform. Migration is a one-off process.

For customers who are considering both an application upgrade and a platform migration, perform the migration before the upgrade.

Why upgrade?

Customers get the following benefits from a successful upgrade:

  • Keep up to date with fixes and retain support assistance.
  • Enhance the user experience.
  • Take advantage of new functions, features, and capabilities.
  • Take advantage of security updates.
  • Stability, performance, and other improvements.
  • Maintain compliance with standards.
  • Maintain software currency.

For more information on upgrade benefits, see Upgrade requirements and benefits.

Deciding to upgrade

Business owners need a compelling reason to upgrade. Typically, the decision to upgrade is based on new functionality that they feel will benefit their organization and business processes. Read the Release Notes and the What’s New section in the Release notes for all newer releases to determine which release to upgrade to. For example, the IBM Maximo Application Suite - Real Estate and Facilities release notes. Also attend the IBM Quarterly Product Update calls.

Business owners should also look at the product roadmap with an eye to new functions that fit with their product plans, for example, some of the new dynamic space planning and stacking functions in space management.

Business owners should also join the following user groups:

These user groups are useful sources of information and discussion.

These sources of information help business owners put together compelling business cases to get a committed budget for application upgrades.

Planning to upgrade

With an understanding of what is in the upgrade, business owners and functional leads must plan and analyze how long the upgrade would take, and the resources required.

Scope

The scope of these best practices covers TRIRIGA and Maximo Real Estate and Facilities application upgrades only. Upgrading third-party technologies such as ESRI, or standards such as Building Information Modelling (BIM) is out of scope.

Managing application upgrades

Manage upgrades of your application objects as follows:

  • Work with new or updated Application Module objects
  • Upgrade is performed with the Object Migration (OM) Tool - used to deliver and manage the application upgrade process.
  • Usually done in conjunction with a platform upgrade.

For more information, see Upgrading the application.

Application upgrade objects

The following objects can be affected by application upgrades and must be reviewed:

  • Business Objects
  • Navigation
  • Forms
  • Portals and dashboards
  • Workflows
  • Lists
  • Reports and queries
  • Security groups
  • Records
  • Perceptive apps
  • Cascading Style Sheets (CSS)

Application upgrade options

Customers can perform full or partial application upgrades:

Full
  • Performed by using a clean install of the latest Maximo Real Estate and Facilities or TRIRIGA release.
  • Uses the target environment as a reference to see whether there are any changes made by IBM to artifacts that the customer or business partner has configured.
  • Application upgrades are most effective when making large version jumps (for example, going from 10.8 to 11.6).
  • Full upgrades require two environments because both a source and target environment is required. See Figure 1.
Partial
  • Performed by using the “delta” OM packages that are delivered by IBM as part of a new release.
  • Comparison reports are available during import of the OM packages that show where IBM has changed artifacts and where those changes clash with customer or business partner configurations.
  • Partial upgrades are ideal for lightly configured systems (systems with a few changes) or when moving between minor versions of application releases.
  • Partial upgrades require a single environment.

Application upgrade strategies

Full upgrade:
  • Establish a clean reference environment that contains the target changes and releases from IBM.
  • Bring in customer source Application Objects and perform a comparison against IBM’s reference changes.
  • Update the IBM reference changes with the modifications that you want to bring across from the source environment, these contain the customer’s existing production changes.
  • Focus on where IBM has made changes, and where the customer has also made changes. The IBM changes in the reference environment provide enhanced user functionality such as adding an entire module (for example, Reserve) or updating (for example, Financial Accounting Standards Board) functionality, or providing application defect fixes, while allowing customer modifications to be preserved (added) on top. This configuration is performed by using the Platform Object Migration Tool.
Partial upgrade:
  • Bring in new Application Objects from IBM, and update the existing objects with the newest functional components that comprise the IBM Application Suite.
  • Focus on existing objects that were configured (changed by using the builder tools) to preserve local application changes to the objects where possible.
  • A partial upgrade provides enhanced user functionality such as adding an entire module (for example, Reserve) or updating (Financial Accounting Standards Board) functionality, or providing application defect fixes, while preserving the current application configurations.
  • This configuration is performed by using the Platform Object Migration Tool.

Application upgrade process

In summary, the upgrade process is as follows:

  1. Generate a combined OM package by using the IBM Object Migration tool. For more information, see Object Migration overview.
  2. Upload the OM package from source to target system to generate a comparison report. When the package is uploaded in the target, a comparison report is generated and exported as a spreadsheet. For more information, see Generate comparison report in Upgrade process.
  3. Review the comparison report. Technical leads must identify all the changes between the out-of-the-box version of the application and the target version that they want to move to. For example, functionality changes in real estate lease forms.
  4. Iterate through the comparison report change by change to determine whether the latest application changes can replace the configuration or if your configuration needs to be merged into it. For example, an out of the box approval workflow might have been configured. However, in a later version the product team changed the workflow to include another approval step. Assess this change to determine whether it can be used unchanged or if it needs to have the configuration merged.
  5. Import the combined OM package to the target environment. For more information, see Importing objects.
  6. Using the comparison report, merge customer configurations into the target combined package as follows:
    • Do not overwrite the target system with the IBM out of the box.
    • Instead, in the target system overwrite the IBM out of the box for any objects that are not configured.
    • For items that are configured, manually implement configurations in the IBM out of the box.
    • For items that were not configured, merge the changes from IBM out of the box.
    Note: For upgrading a UX application. If your application is lightly configured, import the IBM out of the box version and then merge with the customer configurations. Take an Object Migration Package (OMP) of the configured UX apps before importing the upgrade changes, so you have the web view files for comparison and for backup.

    If your application is heavily configured, then retain the configured version and then add the delta IBM out of the box. This step might require more analysis to implement all related new features.

  7. Perform system integration testing and user acceptance testing.
Figure 1. Upgrade environment
Application deployment
Export the upgrade package with configurations to development, test, and production.

Determine compatibility

Refer to the relevant compatibility matrix to determine application compatibility. For more information, see: Compatibility Matrix for IBM TRIRIGA Products and Compatibility matrix for Maximo Real Estate and Facilities.

Versioning

The latest TRIRIGA or Maximo Real Estate and Facilities application release builds on the object revisioning and labeling capabilities of previous releases by providing the ability to:

  • Apply a custom object label to specific objects.
  • Revert an object to a previous revision.