Skip to content

One way to organize information for the CM Baseline

Organizing the data in our organizations properly to support the CM Baseline will improve efficiency, flexibility, and agility. People tend to fear structure as they see it as a bureaucratic, a hindrance, a slowdown. While in reality, when done right, the structure provides the opportunity to speed up, be more flexible, and be more efficient. 

When we would randomly put books on a library shelf, how long would it take for someone else to find that book? Finding a book becomes relatively easy if you use the classification system to put books on the right shelf. 

How an organization is broken down dictates how different groups of people need to collaborate. When done wrong, e.g., if it has not been aligned with how a product is broken down, it will lead to inefficiencies. When done right, it removes unclarity and creates a clear framework of reference. This is not only valid for organizational structures but also for structures or networks of information. The way we organize the information of an organization.
 
Structures or networks of information are just bits of information linked to other bits of information. The linkages between information dictate where interactions need to take place. If you process a change that impacts the Bill of Material and 3D Model of a part, the link from the part to the manufacturing process used for its assembly, the link to an operation, and work instruction as the part is also a spare part. The link to open production orders.All kinds of links to other information created/owned by others. In other words, these linkages lead you to the people that need to be involved in your change. Not just notified but genuinely engaged in an interactive, collaborative way. 
 
As described in Understanding the Impact of Changes, all the configuration relevant information is contained in multiple source systems. Often different roles do not have access to all these systems. Whether that is due to licensing costs, security reasons, or just function related. 
 
The CM Baseline, through all the available linkages, brings people together. Assuming all the information has a creator or maintainer assigned.

Organize the relevant information

In this article, I propose* one way to break down all relevant information in an organization using three essential elements:
  • Network Nodes, 
  • Datasets, and
  • Relationships.
 

Network Nodes

A Network Node is an object used to create networks/hierarchies of information. It does not contain any information other than its unique key. And is not versionable. All information that describes the Network Node is stored in Datasets linked to the Network Node.
 

Datasets

A Dataset is a set of information stored in digital form that must be released as a whole and can be released separately from other Datasets. There can be dependencies between Datasets, e.g., one needs to be released before another Dataset can be released. A Dataset is identified by Type, ID, and if it is not a record, it also has a revision or version. Some Datasets are used to maintain the networks or hierarchies, e.g., a Bill of Material or a Bill of Process. In other words, the source for the relationships are datasets, which can be easily controlled via the change process. 
 

Relationships

Relationships are the threads that weave all the information together. The structures/networks you see are the results of information from the released Datasets.
 
The below graph is hugely simplified but shows the concept described in this article. It shows a parent Part 1 with a Bill of Material containing Part 2 and Part 3 at time = t1 and Part 3 and Part 4 at time = t2. The same is reflected in the operation that consumes the parts from the Bill of Material. At the bottom of this article, you can find a copy of the JSON content to use this graph yourself. 
Datasets in this example all have revisions/versions, which is solved by modeling a DataSetRoot node with a Has_Version relation to one or multiple DatasetVersion nodes.
Example of a way to organize the data in an organization

 Why this way?

This modeling provides an easy way to identify the various impacted deliverables that need to be planned when implementing a change. At the same time, it shows all the approved configurations over time. It can easily be extended to represent any future configurations based on the impact matrix as a result of the impact assessment. 

On the other hand, it still requires mapping how source tools model the data. This supports the concept of having different levels of collaboration, cross-functional and expert levels. 

*Note that this is just one way to model the information; there are other ways. However, from a CM perspective, trying to ensure the integrity of the configuration and the ability to analyze the impact and plan changes effectively. This way appears to match these requirements. Further investigation will be needed to understand the full impact of this way of modeling the information. 

Feel free to share your feedback on this way of modeling the information in an organization. Or let’s discuss it during a call. 
 

To read more about the CM Baseline and its components, please check out the previous posts from the CM Baseline series:

Header Photo by Bechir Kaddech on Unsplash

Below you can find the JSON content of the graph used in this article, which you can use to load into the Arrows app (a free web-based tool by Neo4J Labs).

{
"style": {
"font-family": "sans-serif",
"background-color": "#ffffff",
"background-image": "",
"background-size": "100%",
"node-color": "#ffffff",
"border-width": 4,
"border-color": "#000000",
"radius": 50,
"node-padding": 5,
"node-margin": 2,
"outside-position": "auto",
"node-icon-image": "",
"node-background-image": "",
"icon-position": "inside",
"icon-size": 64,
"caption-position": "inside",
"caption-max-width": 200,
"caption-color": "#000000",
"caption-font-size": 50,
"caption-font-weight": "normal",
"label-position": "inside",
"label-display": "pill",
"label-color": "#000000",
"label-background-color": "#ffffff",
"label-border-color": "#000000",
"label-border-width": 4,
"label-font-size": 40,
"label-padding": 5,
"label-margin": 4,
"directionality": "directed",
"detail-position": "inline",
"detail-orientation": "parallel",
"arrow-width": 5,
"arrow-color": "#000000",
"margin-start": 5,
"margin-end": 5,
"margin-peer": 20,
"attachment-start": "normal",
"attachment-end": "normal",
"relationship-icon-image": "",
"type-color": "#000000",
"type-background-color": "#ffffff",
"type-border-color": "#000000",
"type-border-width": 0,
"type-font-size": 16,
"type-padding": 5,
"property-position": "outside",
"property-alignment": "colon",
"property-color": "#000000",
"property-font-size": 16,
"property-font-weight": "normal"
},
"nodes": [
{
"id": "n0",
"position": {
"x": 0,
"y": 0
},
"caption": "Part 1",
"labels": [
"Network Node",
"Part"
],
"properties": {
"ID": "P1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#73d8ff"
}
},
{
"id": "n1",
"position": {
"x": -405.9009891619803,
"y": 600.3917583848464
},
"caption": "Part 2",
"labels": [
"Network Node",
"Part"
],
"properties": {
"ID": "P2"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#73d8ff"
}
},
{
"id": "n2",
"position": {
"x": 1265.6444481755207,
"y": -221.27308180912462
},
"caption": "Process 1",
"labels": [
"Network Node",
"Process"
],
"properties": {
"ID": "Pr1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#fcc400"
}
},
{
"id": "n3",
"position": {
"x": 0,
"y": -494.97350304121875
},
"caption": "BoM P1",
"labels": [
"DatasetRoot",
"BOM"
],
"properties": {
"ID": "BOM P1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n4",
"position": {
"x": 333.1106101903193,
"y": -333.1106101903192
},
"caption": "3D P1",
"labels": [
"DatasetRoot",
"3D"
],
"properties": {
"ID": "3D P1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n5",
"position": {
"x": 481.1451619048218,
"y": -589.5139750355202
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n6",
"position": {
"x": 0,
"y": -765.6894621912256
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n7",
"position": {
"x": -333.1106101903193,
"y": -333.1106101903192
},
"caption": "Attributes P1",
"labels": [
"DatasetRoot",
"Attributes"
],
"properties": {
"ID": "Attributes P1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n8",
"position": {
"x": -544.7648207277258,
"y": -589.5139750355202
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"From": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00",
"label-color": "#000000",
"label-background-color": "#ffffff"
}
},
{
"id": "n9",
"position": {
"x": 219.8262888019393,
"y": -652.972026104172
},
"caption": "02",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "02",
"Released Date": "t2"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n10",
"position": {
"x": 620.7454578871643,
"y": -403.27547601123956
},
"caption": "02",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "02",
"Released Date": "t2"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n11",
"position": {
"x": 620.7454578871643,
"y": -221.27308180912462
},
"caption": "03",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "03",
"Released Date": "t3"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n12",
"position": {
"x": 356.2385167436091,
"y": 205.6744035376357
},
"caption": "Part 3",
"labels": [
"Network Node",
"Part"
],
"properties": {
"ID": "P3"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#73d8ff"
}
},
{
"id": "n13",
"position": {
"x": 1625.2890061072144,
"y": -221.27308180912462
},
"caption": "BoP 1",
"labels": [
"DatasetRoot",
"Bill of Process"
],
"properties": {
"ID": "BoP 1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n14",
"position": {
"x": 1984.9335640389081,
"y": -221.27308180912462
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n15",
"position": {
"x": 89.88422845525665,
"y": 666.1844526534503
},
"caption": "Part 4",
"labels": [
"Network Node",
"Part"
],
"properties": {
"ID": "P4"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#73d8ff"
}
},
{
"id": "n16",
"position": {
"x": 1350.685401396579,
"y": 144.00343099233754
},
"caption": "Operation 1",
"labels": [
"Network Node",
"Operation"
],
"properties": {
"ID": "OP1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#fcc400"
}
},
{
"id": "n17",
"position": {
"x": 1674.6652155451377,
"y": 144.00343099233754
},
"caption": "Attributes OP1",
"labels": [
"DatasetRoot",
"Attributes"
],
"properties": {
"ID": "BoP 1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n18",
"position": {
"x": 1984.9335640389081,
"y": 144.00343099233754
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n19",
"position": {
"x": 1350.685401396579,
"y": 519.0486209750154
},
"caption": "Work Instruction OP1",
"labels": [
"DatasetRoot",
"WorkInstruction"
],
"properties": {
"ID": "WI 1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n20",
"position": {
"x": 1625.2890061072144,
"y": 666.1844526534503
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n21",
"position": {
"x": 1463.1424455922645,
"y": -494.97350304121875
},
"caption": "Attributes BoP 1",
"labels": [
"DatasetRoot",
"Attributes"
],
"properties": {
"ID": "Attributes BoP 1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n22",
"position": {
"x": 1625.2890061072144,
"y": -719.6825253845235
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n23",
"position": {
"x": 1432.9572430257826,
"y": 823.6935896475293
},
"caption": "02",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "02",
"Released Date": "t2"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n24",
"position": {
"x": 1217.5821925786906,
"y": 805.1617955492027
},
"caption": "03",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "03",
"Released Date": "t3"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n25",
"position": {
"x": 1603.5713994087894,
"y": 346.5166206494632
},
"caption": "BoO OP1",
"labels": [
"DatasetRoot",
"Bill of Operations"
],
"properties": {
"ID": "BoO 1"
},
"style": {
"label-position": "outside",
"caption-font-size": 40,
"label-font-size": 20,
"property-position": "outside",
"node-color": "#a4dd00"
}
},
{
"id": "n26",
"position": {
"x": 1926.4910144986397,
"y": 372.7052091176787
},
"caption": "01",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "01",
"Released Date": "t1"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
},
{
"id": "n27",
"position": {
"x": 1855.3971983622914,
"y": 575.2183987748044
},
"caption": "02",
"labels": [
"DatasetVersion"
],
"properties": {
"Revision": "02",
"Released Date": "t2"
},
"style": {
"label-position": "outside",
"label-font-size": 20,
"property-position": "outside",
"node-color": "#dbdf00"
}
}
],
"relationships": [
{
"id": "n0",
"fromId": "n0",
"toId": "n1",
"type": "Has_Child",
"properties": {
"From": "t1",
"To": "t2"
},
"style": {
"type-font-size": 22
}
},
{
"id": "n2",
"fromId": "n3",
"toId": "n0",
"type": "Describes",
"properties": {},
"style": {
"type-font-size": 22
}
},
{
"id": "n3",
"fromId": "n4",
"toId": "n0",
"type": "Describes",
"properties": {},
"style": {
"type-font-size": 22
}
},
{
"id": "n4",
"fromId": "n4",
"toId": "n5",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n5",
"fromId": "n3",
"toId": "n6",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n6",
"fromId": "n7",
"toId": "n0",
"type": "Describes",
"properties": {},
"style": {
"type-font-size": 22
}
},
{
"id": "n7",
"fromId": "n7",
"toId": "n8",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n8",
"fromId": "n3",
"toId": "n9",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n9",
"fromId": "n4",
"toId": "n10",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n10",
"fromId": "n4",
"toId": "n11",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n11",
"fromId": "n0",
"toId": "n12",
"type": "Has_Child",
"properties": {
"From": "t1"
},
"style": {
"type-font-size": 22
}
},
{
"id": "n13",
"fromId": "n13",
"toId": "n14",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n14",
"fromId": "n0",
"toId": "n15",
"type": "Has_Child",
"properties": {
"From": "t2"
},
"style": {
"type-font-size": 22
}
},
{
"id": "n15",
"fromId": "n2",
"toId": "n0",
"type": "Results_in",
"properties": {},
"style": {}
},
{
"id": "n16",
"fromId": "n13",
"toId": "n2",
"type": "Describes",
"properties": {},
"style": {}
},
{
"id": "n17",
"fromId": "n2",
"toId": "n16",
"type": "Consists_of",
"properties": {
"From": "t1"
},
"style": {}
},
{
"id": "n18",
"fromId": "n17",
"toId": "n18",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n19",
"fromId": "n17",
"toId": "n16",
"type": "Describes",
"properties": {},
"style": {}
},
{
"id": "n20",
"fromId": "n19",
"toId": "n20",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n21",
"fromId": "n19",
"toId": "n16",
"type": "Describes",
"properties": {},
"style": {}
},
{
"id": "n22",
"fromId": "n16",
"toId": "n1",
"type": "Consumes",
"properties": {
"From": "t1",
"To": "t2"
},
"style": {}
},
{
"id": "n23",
"fromId": "n16",
"toId": "n12",
"type": "Consumes",
"properties": {
"From": "t1"
},
"style": {}
},
{
"id": "n24",
"fromId": "n16",
"toId": "n15",
"type": "Consumes",
"properties": {
"From": "t2"
},
"style": {}
},
{
"id": "n25",
"fromId": "n21",
"toId": "n22",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n26",
"fromId": "n21",
"toId": "n2",
"type": "Describes",
"properties": {},
"style": {}
},
{
"id": "n27",
"fromId": "n19",
"toId": "n23",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n28",
"fromId": "n19",
"toId": "n24",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n29",
"fromId": "n25",
"toId": "n26",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n30",
"fromId": "n25",
"toId": "n16",
"type": "Describes",
"properties": {},
"style": {}
},
{
"id": "n31",
"fromId": "n25",
"toId": "n27",
"type": "Has_Version",
"properties": {},
"style": {}
},
{
"id": "n32",
"type": "Supersedes",
"style": {},
"properties": {},
"fromId": "n15",
"toId": "n1"
},
{
"id": "n33",
"type": "Reworkable_to",
"style": {},
"properties": {},
"fromId": "n1",
"toId": "n15"
}
]
}

Leave a Reply

Your email address will not be published.

I accept the Privacy Policy

This site uses Akismet to reduce spam. Learn how your comment data is processed.