A true story

In the late Spring of 2008 I received a phone call from a contact at GAI Consultants, an environmental and archaeological consulting firm based in Pittsburgh.  One of their clients, Duke Energy, was trying to digitize some of their commissioning form templates, and they were using IBM’s Maximo software tool internally to do this.  Remember, this was in 2008, when the iPhone was barely out and Blackberry ruled the business world.  Here’s how the conversation went:

“Hey Jim, I have a client in Indiana who is trying to digitize some forms for their commissioning work. I think your Adesso software could be useful for them.  Do you mind if I share your contact info with him?”

Of course I said yes.  Within minutes, I received a phone call from the commissioning manager for Duke Energy’s Cinergy group, an entity that had recently been acquired by Duke.  He said the following, almost verbatim from what I can remember:

“My name is Chris, I work for Duke Energy and I heard you have some software that can be used to build mobile forms.  If this is true, I’d like to hear about it.  I also hate my IT department and need a way to work around them.”

After some discussion, Chris emailed me a paper-based form he was looking to digitize.  We scheduled an in-person meeting to occur the following week (this was before Zoom and Teams became ubiquitous) to demo the digital version of this form and how it would work within the Adesso system.

The following week we met up in Plainfield Indiana, I demo’d the form to him, and showed him how the Adesso system worked.  Years later Chris told me that minutes after I left his office, he fired the guy he had hired to build these forms in Maximo.

And that’s how it all started…

Chris sent our team a bunch of PDF forms that they needed digitized.  We had a few followup meetings in Plainfield, a bunch of GotoMeetings, and a bunch of meetings in our office in Knoxville.  In fact, Duke embedded 2 of their seasoned employees that knew a lot about commissioning into our offices for a week at a time, so that we could work on the forms together in person…we being the technical guys developing the tool, and they being the deep domain knowledge guys, all in the same room for several days at a time.  This went on for a few months until the product worked well enough to test.

Percent complete calcs back then

After digitizing the forms, building out the complex workflows and creating Crystal Report PDF outputs for each form template, we set off to build a web-based reporting dashboard, complete with high-level view of completion metrics and drill-down capability to download an individual form. We also worked on creating an automation that would sift through all the submitted data and run a giant algorithm to calculate % complete for each individual device, System, and Engineering Area.

The formulas for calculating % complete came from the Duke guys. Here’s a screenshot of the original calculations.  Note that whenever a particular checkbox field was marked as TRUE, then a certain % was assigned to that device’s form, with rolloup from child records up to parent records (e.g., a motor belonging to a pump).

Some examples:

  • if a motor that belongs to a device has been commissioned, then that device should be 40% completed.  If the rest of the forms for that device have been completed, then that device should be 80% complete.  When the field tech signs off on the device, then it should reach 90%.  And when the supervisor signs the form, then that device should be considered 100% complete.
  • If a motor has been meggered successfully, then that motor should be treated as 40% complete.  When the field tech completes all the other forms for that motor, then treat that motor as 80% complete.  When the field tech signs off on the form, then treat that motor as 90% complete.  And when the supervisor signs the form, then that motor should be considered 100% complete.

The way we built the % complate calculations into the Adesso system for Duke was to roll up all the device % complete calcs up hierarchically, so that the Duke Commissioning Manager could look at a single screen at the project level and get an overall % complete from the 3 main disciplines (mechanical, electrical, and instrumentation), and then drill down into each of those to view % complete at the system level or engineering area for that discipline.  The system had full drill-down capability to view an individual device.  Here’s three screenshots of the web app, from top-level project calculations, down one layer to % complete calculations at the system level, and down another layer to individual equipment (device) % complete calculations.



The bespoke system in the real world

After building this system, complete with the calculations algorithm, input form templates, and Crystal Report output PDFs, we rolled it out to a few ruggedized Trimble Nomad devices running Windows Mobile to test in a real setting.  This was after a lot of internal testing by us as well as Duke staff.  Turns out that the size of the Adesso app was too large for the Nomads….the sync time was long, and storage on those devices was not adequate enough for such a large project like the $2B Edwardsport IN IGCC power plant.  So Duke opted to purchase some higher-end Trimble Yuma tablets and ruggedized Windows tablets from other manufacturers and off we went.

After some tweaks and improvements based on real-world usage, we introduced an automated report generator.  This add-on would fire up each morning around 5am, update all the calculations, and generate an Excel sheet with multiple tabs that would be emailed automatically to the Duke Commissioning Manager.  It also included punchlist items, which they called Discrepancies.  This was fully automated.  And later we introduced a secure file repository that would take completed systems and “turn them over” to the operations guys..the turnover packages, basically.  This too was fully automated…whenever a System ID was fully complete, a script would run that would generate all the PDFs and upload them to a document filing system with folders for each system and device.

How we applied the Duke experience and lessons learned to XForms Cx

For 2008-2011, the commissioning software system we built for Duke Energy was a pretty nice paperless system with some cool automations.  Except it was a bespoke one.  Meaning that we had to custom build the thing, which took a lot of effort, time, testing, money, and oversight.  Yea, we were able to modify it for other commissioning projects, but it wasn’t very scalable in that sense.  And the field data collection component (Adesso Client) ran on Windows, which was slowly giving way to more modern devices such as iPhone and Android devices.



All of that knowledge and experience gained building a commissioning software system for Duke was used when designing XForms Cx.  One big takeway was that having the ability to view a project’s status from a % complete viewpoint was valuable to the customer, especially if you could view this from an overall % complete at the project level and drill down into the weeds to view % complete in various ways.  But identifying very specific fields on a form and using them to denote % complete would be challenging to scale generically, because everyone’s forms are different.

% complete calcs, simplified

So we opted for something simpler: if a form has not been started, treat it as 0% complete.  If a form has been started, treat it as 50% complete.  And if a form is submitted, treat it as 100% complete.  This, combined with the ability to assign weights to different form templates at the device type level, was a very simple and effective way to essentially get the same result as what we had done with the Duke system.


Similarly, having an automated report generation tool was also deemed very valuable.  So we built that into XForms Cx, where you can set up one of several report flavors to fire off automatically, either daily or weekly.  And as for a document repository for turning over a system/package? That was handled by automatically generating the PDFs and adding a feature where you could download a zip file containing all the completed forms per system code.


So there you have it…that’s how we came up with % complete calculations for XForms Cx.  It didn’t come out of thin air.  It came from real-world experience developing a high-end bespoke tool for a very large utility, where they used it to commission one of the largest IGCC power plants ever built.  The experience and lessons learned during that multi-year project helped design XForms Cx and its unique approach to calculating a project’s percent complete status.

Want to learn more about XForms Cx?

Click/tap the button below.