“Sorry, but we are running out of part numbers…” an article by Dr Henrik Fagrell
As a software guy in a manufacturing industry like automotive I have always been fascinated by the funny little identifier, the part number. They have been around forever touching all parts of the organization and almost all IT systems, new as well as ancient once. Eventually most companies need to extend the number series, e.g., from 8 to 10 figures causing millennium bug type issues through the IT landscape. Worse, fiddling around with the format itself, sparks fanatical conflict between organization units, especially after a corporate company merger and synergies are expected.
PDM [https://en.wikipedia.org/wiki/Product_data_management] people are usually Hardware engineers and they strive to keep the amount of part numbers as low as possible where yet solving the market needs. With a product, like a vehicle with high variability it is easy to see that things can get out of hand as each new part number requires tracking and storage in factories and warehouses. The re-use through modularization is key to get manageable maintenance objects.
Since many years, our customers have using the variant management of the PLM system to select the right software modules and the product individual. It is all reasonable, but software development in a modern agile way with continuous integration [https://en.wikipedia.org/wiki/Continuous_integration], need versioning control more often than a piece of hardware. Any software that reaches serial production has been developed in iteration often with several release candidates per week. Some customers are actually about to run out of part numbers.
So where to go? Now is the time to introduce checksum as primary version identifier for software modules (e.g., SHA-256 [https://en.wikipedia.org/wiki/SHA-2]). This is especially important in the development phase, but once the we have a finalized version to be released to the end-customer, checksum and a part number can be locked. In this way, we can assure that;
- people can read the part number, e.g., 20798114, and share it with other in trouble shouting situation. The checksum is just too complex for human eyes, e.g., 06b1c7724ce827b9c844be2b59e8654321563758cbe4abe034f72c0372b603ff.
- only one part number is consumed for a development cycle, e.g., 8 weeks
- all existing variant management can be kept intact
- If we suspect tampering with the software package or the software in the embedded system itself, the checksum can be re-calculated and verified
Are you facing similar challenges? Please do not hesitate to contact us at firstname.lastname@example.org
Henrik Fagrell, PhD, +46733 31 11 10, email@example.com
Viktor Eliasson, VP Sales, +46733 31 11 15, firstname.lastname@example.org