ServiceMax is an enterprise software company that provides industry leading field service solutions to service organizations globally. This case study explores one solution used by Field Service Engineers (FSEs) out in the field— “Get Price”, which calculates pricing details of the work performed so FSEs can complete the main task at hand and get paid.
Objective
Advance business goals of ServiceMax’s customers by improving upon an invoice tool that will help FSEs provide quick and accurate pricing details to their customers.
Process
Current State of Design
To provide some background, “Get Price” is calculated based on warranties and service/maintenance contracts (e.g., discounts, labor rates, etc.). It is currently represented as a button in a work order in edit mode. Tapping it performs “Get Price” without any other visual treatment for the FSE to see. Behind the scenes, however, there’s a lot of logic involved to grab the latest values, discounts, and other rates to set the stage to calculate the total billable amount.
The Proposal
PM provided initial requirements based on feedback from customers that proposed allowing FSEs the ability to update latest price data separately from performing “Get Price”.
The thinking behind this proposal stemmed from “Get Price” taking a long time to load due to the high technical effort involved in syncing back to the server to grab rates, discounts, and other values used in calculating price. This proposal was further supported by finding out that these values actually don’t change often. Therefore, it made sense to separate out the ability to sync price data from the calculation of total price because an unnecessary amount of technical load was put in grabbing these values every time an FSE tapped “Get Price”.
However, without any visibility into when updates are made to warranty and service/maintenance contracts, a possible unintended consequence would be the FSE blindly syncing price data before running “Get Price” in order to feel confident that the billing details are accurate. As a result, this could defeat the purpose of splitting off the sync portion of this interaction and exacerbates another problem—the technician has no visibility into when there’s an update to pricing data.
So to review the pros and cons of the proposal to split off “Get Price” into two controls:
The Ideal
Pricing details would be calculated without action from the FSE. Calculations would run in the background and populate as part of the customer’s service report generated at the end of each work order.
During discovery, I found out that FSEs would much rather prefer pricing details be calculated immediately and automatically without action on their part. This differed from what I initially knew to be true, which was that FSEs favored a more deliberate process while performing price calculations. This was only the case because legacy code limited to ability to run “Get Price” automatically. But considering time and technical effort, we needed to break this design into chunks. The practical initial step would be to separate out price data sync from Incremental Data Sync and include it in Configuration Sync. Unlike Incremental Data Sync, Config. Sync isn’t run often, which aligns with the infrequent need to sync price data. Furthermore, running a Config. Sync would, in theory, be more efficient than having to tap into a work order to sync price data.
Design
Next Steps
Due to the urgency in getting “Get Price” into ServiceMax’s refreshed mobile product, it was important to adopt an iterative approach to get a functioning “Get Price” feature up and running. From this point, more feedback will be collected to validate what is believed to be the ideal goal—the automation of “Get Price” calculations so that there would be no action on the FSE’s end. In addition, attention will be needed to address ServiceMax’s legacy codebase so that we can notify FSEs when updates are made to price data. Lastly, the “Get Price” FAB will also be adapted to the tablet app to reach feature parity between ServiceMax Go on phone and tablet.
Thanks for reading! Hope you enjoyed learning more about my work at ServiceMax. Feel free to share any thoughts or questions. I’m always open to feedback!