Most well-known configurators are based on a maximum (“maximum bill of materials, 150% BOM”) and then filter it down to a concrete variant using a set of rules. But what if you modeled the delta to a base variant instead?
Ask engineers how they would describe a variant, and long before the finished max BOM you usually get a very different answer: “the standard machine, plus a reinforced frame and a modified cooling circuit.” A base, plus what has changed.
The PLM tools I know don’t think that way, though. They set up the maximum as the data model, and the difference only emerges afterwards, when that maximum is filtered down to a 100% BOM by a set of rules. That is not a showstopper — but every translation from the mental model (“base plus change”) to the actual data model (“maximum minus filter”) costs efficiency and leaves room for errors.
Inspiration: delta-oriented programming
Software development has an academic approach to this that offers a few things worth borrowing: delta-oriented programming. Instead of capturing everything in one maximum variant, there is a baseline plus named deltas that add, remove or change something. There, too, the principle never became widespread — most software still runs on feature flags. But it did make it possible to name and version the difference instead of hiding it in a flag.
What this could mean for the tool landscape
CONTACT Software, PTC, Siemens Digital Industries Software, Dassault Systèmes, SAP: any of these vendors could add the difference as a standalone data object to the product configuration toolbox — as an alternative for all the cases where engineers already think in deltas. Feature models and max BOMs would keep doing their job for the rest.
The detailed argument — including the method in depth and the question of where transferring ideas from software to hardware reaches its limits — can be found in my article on variantmanagement.com.
Most configuration methods model the maximum and only derive the difference from it. Delta-oriented programming shows an alternative: the difference itself becomes a named, versioned data object. Not a replacement for feature models and max BOMs — but an additional tool for all the cases where engineers already think in deltas.