If you read my previous, and first post to this forum, you learned that one of the cool things about being an IBM support engineer is that I get a small window into my customers' worlds throughout the day. I also mentioned that I support a lot of Maximo Users in the utilities industry and I recently had the pleasure of speaking to one such utilities client who presented a scenario that was pretty interesting. I'm sharing this particular client situation to hopefully illustrate that sometimes a second set of eyes, and few subtle changes to how we're doing something (using Maximo) can make a difference, and resolve a problem.
This particular problem was of a system performance nature, and after a bit of analysis and a fairly fascinating conversation with one of our senior developers, was able to be resolved with a slightly different usage of how the client was using Routes and Work Orders.
There are 1,000 street signs in a section of the city that need to be inspected annually. The inspection of each sign is quite simple and only takes a few minutes to perform, so a work crew can perform many of these inspections per day. The progress of the entire inspection project needs to be recorded so that there are no redundant inspections and so that any necessary repair work can subsequently be assigned.
To manage this project in Maximo, the client was using a single Parent Work Order to record the Labor Actuals for 1,000 Child Work Orders. The client reasoned that it would be too time consuming for the work crew to navigate to a Work Order from a list of over 1,000 records, and subsequently open and enter the values in Maximo on the Actuals tab of a the Child Work Order. Since each sign and inspection was represented by 1 of 1,000 Route-generated Work Orders, the Users figured that they would more simply open just the Parent Work Order to record the incremental total of Labor hours for all of the 1,000 Child Work Orders here.
Unfortunately the result of this seemingly logical method created a latency in the system whenever a record was saved... this is how I meet my customers!
The way that the Maximo application performs various data validation routines in this particular scenario was causing all 1000 Child Work Orders to be evaluated during the Save process. The resulting pain point for my customer was that it was taking almost two minutes to save the Parent Work Order as each Asset was visited on the Route.
The following resolution was proposed and implemented, and hopefully could be used as a guideline to resolving similar performance issues within similar PM Work Order and Route-oriented scenarios...
- Modify the Route so that the Assets are entered into the Work Order's Multi Asset, Location and CI Table; this is done by opening the Route record and clicking the radio button under the "When this Route is applied to a Work Order, the Route Stops will become: Entries in the Work Order's Multi Asset, Location and CI Table"
- Generate Work Orders from the same PM and Job Plan. It will only create one Work Order.
- On the resulting Work Order all the Assets (signs) are visible on the Multi Asset, Location and CI Table that is visible on the Work Order tab. Functionally, using only this single Work Order, the User can check the "Progress" checkbox on whichever Assets (signs) have been inspected, and the Save will only take a few seconds.
- It's also possible to set up a Sequence on the Route so that the Assets are listed in a specific order. This could minimize scrolling through the Route Stops on the Work Order, if that is how the Work Order progress is being recorded. This methodology achieves the same result in terms of recording the Labor hours on the Actuals tab, and in a much more streamlined manner.
My thanks to this customer for working through the pain and presenting a use case that ultimately opened the door to other customers gaining from their experience.
Tom Richardson is an IBM Maximo Support Engineer and frequent contributor to the Asset Management Blog community. For a complete index of links to his articles, visit
Index of articles by Tom Richardson, Support Engineer