After 20+ years of CAD and PDM development, the issue of versioning is not solved. How about that? I hope, I’ve got your attention :). Versions, revisions, changes, CAD models, drawings, parts… My experience is that as soon as it comes to engineers, revisions are getting messy. I touched it in my previous posts few times. If you want to refresh your memories navigate to Revisions in CAD, PLM, ERP: old problems or new challenges? A bit old (from 2010), but still very relevant post – Future CAD-PLM and Assembly Version Management. As a confirmation that topic is alive and not solved, I just read Minerva blog – Versioning, different meaning from one activity to another by Yoann Maingon. It is short a sweet, so take few minutes and have a read. Yoann is speaking about “difference in intentions”. Here is the main point of the writeup:
…it is sometimes hard for people to have a common way to think about versioning. For the software development oriented person, versionning means saving or tagging. It means that the actual work has to be saved because we want to keep a state of the actual work. “I want to keep a state, I make a version, this version is stored”. In my view, related to main PLM concepts, versioning is creating something new. “I want to start a new work or I want to change a document, I version it. my new version is my working copy”.
If I speak about CAD/PLM software, here is the root of the problem. PDM systems create too many options in the mechanism of versions by implying “creation of something new” in place where it is absolutely unnecessarily. It was done by so many PDM systems in so many different ways with one common mistake – try to capture the intent of change and related dependent changes. The right answer to me is different. Versioning (and PDM is not different from software development and just Microsoft Word) is only about making “change” in the content (3D model, drawing, source code, assembly, configuration, etc). The role of PDM software is to capture the change and make it available for history tracking. You can ask me what about Parts, Revisions and other configuration management aspects? In my view, the answer on this question in the context of PDM/PLM is straightforward – use Parts, Part Numbers and Part Revisions (if needed).
What is my conclusion? Versioning is a mechanism that helps people to capture a change. Not the intent of change, but the change. It must be flexible and configurable, but at the end of the days, simple and reliable. I don’t want to miss my changes and I don’t want to run as a dog in order to find a right change. Most of PDM/PLM software created a complicated versioning systems. I don’t see much difference between PDM and software. With the amount of software code we have in products, these two options will come together sooner than later. Just my thoughts…