Staging environment is usually established to validate computer systems functionalities before changes are implemented in the live system. It is one of the precautions to minimize disruption to business.

There are multiple considerations in setting up a staging environment. To name a few:

  • What is the coverage: minimal subset for core functions only, or the entire duplication of the system landscape?
  • What data should be loaded: solely test data, or live data with sensitive info masked? Bear in mind that data will drive business logic and “fake” data cannot be used sometimes.
  • How much coverage of test cases to verify: affected functions, or entire system as regression test?
  • User account plus Roles & Responsibilities: create test accounts, or cloned from live system?
  • Other connected systems: their respective staging environment, or something else (definitely not their live system)?

For the Industrial Control System (ICS), this is even more complicated. The computer system is connected with actual plant equipment to control and monitor the plant. Even though a staging environment might be feasible for an ICS, it won’t be possible to duplicate a spare plant system as a complete staging environment.

Then how do we deal with changes in ICS? That is a big topic. Some options (different scale of investment) could be:

  • Thru fully virtualized plant if the OEM has “digital twin” of the actual physical system
  • Managed the scale of deployment, say, implement to the plant units that are under outage window
  • Test of similar setup in OEM factory to under the changes

The bottle line, this needs a well planned deployment schedule and communicate with all stakeholders in advance for activities dependency, estimated duration, consequence of deployment failure and rollback arrangement, focal contact point for matter arising during the changeover period.

Leave a Reply