Let’s Face It, Metrology Software is Complex!

I have been writing custom metrology software for the last 20 years. And over the years, I have learned better, more efficient ways to write custom software. With every iteration, we discovered new ways to bridge the gap between custom and COTS (commercial off the shelf) software. What I have discovered is well written custom software is just COTS software with lots of options.

Relating this to metrology software and the traceability pyramid, most COTS software is typically the grey section at the bottom of Figure 1. With this kind of software, the engineer is usually tasked with writing software by utilizing a very specific set of standards to calibrate a set of units under test. This software is often written by the manufacturer with the goal of selling their hardware. If the manufacturer’s software was designed to support their test equipment as the UUT, then the software is often written to support flexible standards. But if the manufacturer’s goal is to sell lab standards, the application is usually written to support just their standards, qualifying the software as very turn-key.

Figure 1. The Metrology Software Pyramid and the needs at each level.

However, there is a lot more to metrology software than the little grey area at the bottom of the pyramid—the area where it is easier to create turnkey solutions. By and large, metrology software as a whole is complex! And what we have discovered is that complexities change based on the level in the pyramid; at the top (NMI and primary lab calibrations), there is complexity in nuances of the calibration process, while at the bottom, there are complexities related to flexible equipment.

One would think NMI’s have unlimited budgets and all the time in the world to write custom software. But I have worked with NMI’s and that is not true. They have budgets and time constraints. What they do well is share ideas and often source code. They learn from each other the complexities and how to address them in their software—most of which is custom written.

Coming down one level to the primary lab, the complexities hardly change. But, still there is very little COTS software is used. Even though the hardware is usually the same, the metrology processes are extremely customized, taking into account drift, trending, cross checks, and check standards. Verifying the measurement results often takes as much time as the calibration itself, just like the NMIs. Not until you get to the reference level calibration labs, you start to see COTS software creeping into the calibration lab, but only from instruments calibrated in high volume. Much of the non-automated calibrations are done manually with very sophisticated Excel sheets.

This creates unreal expectations for managers with it comes to automation. “Metrology is Complex!” And so too is the software used in metrology. In all my years, I have never seen two different labs that are 100% the same. Every lab has different equipment they support, different standards, different quality standards, and different management metrics.
We managers “just want software that works!” Write a check and the problems go away. The sales guy knows this, as well as how to hit all the bullet points to make the sale. In some cases, as long as you have the exact hardware required by the manufacturer and calculate your uncertainties the same way they do, these COTS solutions are great!

However, more often than not, the proverbial turnkey solution is not to turnkey, and some workaround or customization is needed. Labs are faced with the problem of “How can we make this turn-key COTS software work in our lab?” But this usually turns out to be the more expensive option.
I think we managers need to accept the fact that “Metrology is Complex!” Very little of our problems will have turnkey solutions. As an industry, we need to move to software that works up and down, as well as left to right in the pyramid. We need to do more of what the NMIs do with working together and sharing knowledge and source code. We all need to work to make better software for better metrology.