1. The Company
The nation’s largest natural gas distribution utility, SoCalGas, delivers clean, safe, and reliable energy to 21.6 million consumers through 5.9 million meters in more than 500 communities. Their service territory encompasses approximately 20,000 square miles in diverse terrain throughout the southwest. It is a regulated subsidiary of a Sempra Energy, a Fortune 500 energy services holding company.
2. The Challenge
A proprietary mission-critical business application was developed in PowerBuilder and maintained by the utility employees, many of whom are soon to retire. As with any legacy programming languages, finding new talent is a real challenge and programmers proficient in PowerBuilder are in short supply. SoCalGas was also under a directive to minimize the number of supported architectural platforms and move to C#/.NET to gain compliance benefits and reductions in cost.
Off-the-shelf alternatives were investigated but no product could replace the breadth and depth of features and functionality of their proprietary system. As a result, they decided that modernization would be their best and only option. There were two major requirements that had to be met for the modernization to be considered viable:
- The modernized C#/.NET application be functionally equivalent and have identical user experiences to its original PowerBuilder application. Accuracy was paramount, as even a simple rounding error would result in large financial discrepancies. The new system had to perform and be used exactly as before on a new platform.
- The ability to keep maintaining and updating the application while it is being modernized to C#/.NET. The PowerBuilder application requires constant updates and occasional regulatory changes due to market conditions, making it prohibitive to impose any ‘development freezes.’ The ongoing PowerBuilder development and maintenance track as well as the C#/.NET modernization track would have to coexist and run concurrently.
These two requirements drove the decision towards a tool-based modernization and completely ruled out a manual rewrite.
3. The Solution
SoCalGas needed a vendor with strong experience and advanced technology that could deliver an automated, systematic, and repeatable approach to modernization. They embarked on a formal RFI and RFP process and of five companies, Synchrony Systems was the only one that delivered a preliminary analysis presentation that outlined the entire modernization process. It also provided a work breakdown structure, called out potential risks and challenges that needed to be addressed early in the process, and presented a project timeline with cost estimates that were within an acceptable range for the company. Synchrony Systems also offered its unique Modernization Lifecycle Platform (MLP) powered by a full DevOps software stack containing rule-based automation tools and workflows specifically tailored for conducting modernization projects.
SoCalGas had 24×7 access to Synchrony’s MLP throughout the entire duration of the project. MLP provided an agile, iterative, and collaborative environment for planning, tracking, and monitoring all the modernization-related activities. These activities included enhancements to code transformation and remediation rules, new releases of code conversion tools and platform compatibility libraries, continuous execution of code conversions, transformations, and remediations, as well as builds and deployments.
Throughout the project, the users managed hundreds of test scenarios, entered hundreds of defects, and performed triage with the Synchrony migration team, providing invaluable feedback into the decision-making process of defect resolution.
As the PowerBuilder application was continuing to undergo changes and enhancements to support the business, new releases of the application were made at the various stages of the project and its code-base was uploaded to MLP for synchronization and “re-migration.” MLP would then incorporate the latest versions of tools and compatibility libraries and rerun the entire automation workflow against the latest PowerBuilder code-base. This enabled parallel development and modernization tracks to coexist and eliminated manual changes and code freezes that would otherwise have a negative impact on the project.
4. The Results
1M+ lines of PowerBuilder program logic code, 3,300+ PowerBuilder data windows and 650+ PowerBuilder screens were repeatedly processed by the MLP workflows that ran the unattended, rule-based automation tasks to ensure consistent and repeatable results. The company’s IT team managed over 700 test scenarios inside MLP, providing complete visibility into the updates and fixes they received, as well as regressions that might have been introduced by the various modernization activities.
Using MLP not only saved thousands of hours of manual effort; it greatly reduced the risk of introducing unexpected or random errors in the migrated C#/.NET application that could not otherwise be fixed automatically across the entire code-base. This systematic approach to modernization powered by automation, traceability, and transparency eliminated any need for development freezes and helped ensure that the modernized application was 100% functionally equivalent to its PowerBuilder predecessor.