Beitrag Konfigurationsmanagement
Was bedeutet Konfigurationsmanagement und wo wird es benutzt. Was ist der Unterschied zwischen Konfiguration und Version. In welchen Fällen spricht man von einer Konfiguration. Das Chargenmanagement, was Versionsmanagement und Konfiguration verbindet.
In diesem Beitrag wird es um das Konfigurationsmanagement gehen. Dazu gibt es eine kleine Anekdote, eine Einführung in das Chargen- und Versionsmanagement, um anschließend das Konfigurationsmanagement zu erklären. Mit Geschichten und Beispielen soll sich dies jeder gut merken können. Abgeschlossen wird der Beitrag mit einer Erklärung, warum es überhaupt wichtig ist, diese Managementtechniken anzuwenden.
Vorgeschichte zum Konfigurationsmanagement - Die Welt ist komplexer geworden
Heute Vormittag sprachen meine Freundin und ich darüber, um wie viel komplexer die Welt in den letzten ca. 20 Jahren geworden ist.
Zur Erinnerung:
Damals kam gerade die PlayStation 2 auf den Markt. Mit der konnte man Spiele spielen, erstmals auch DVDs wiedergeben und Musik hören. Diese PlayStation setzte praktisch den Startpunkt für eine komplexere Welt (PCs und Laptops ausgenommen). Die Playstation gab es anschließend in immer mehr Varianten mit unterschiedlichen Features. Software-Updates, wie sie heute üblich sind, gab es nicht. Es gab keine Smartphones. Und Router waren weit einfacher konzipiert. All diesen Dingen ist gemein, dass sie heute viel vernetzter sind, man sich eigentlich durch alle Einstellungen wühlen muss, damit sie sicher und gut funktionieren. Das wichtigste jedoch, sie müssen betreut und geupdatet werden und das praktisch täglich mit teils absurden Wartezeiten. Nicht nur die Geräte selbst brauchen Updates, auch die darauf laufenden Produkte brauchen sie.
Ein analoges Beispiel für die zunehmende Komplexität:
Heute haben wir an der Fleischtheke eine extrem große Auswahl. 300g Bio rinderhack, 250g konventionelles rinderhack, 500g halb und halb, 600g Bio schweinehack, 450g Geflügelhack..... usw.
Klar muss man sich nicht damit beschäftigen, nur weil man die Auswahl hat. Wer es nicht tut lebt vielleicht sorgenloser, schließlich weiß man nicht, ob es etwas Besseres gegeben hätte oder es ist einem einfach egal.
Wer sich damit auseinander setzt hat am Ende wahrscheinlich die bessere Wahl getroffen, besser, günstiger, weniger Müll, länger haltbar.... usw.
Ausgangspunkt des Gesprächs
Ausgangspunkt des Gesprächs ist, dass die Arbeitskolleg*innen meiner Freundin früher alles auf einem Blatt Papier dokumentieren mussten und sich heute darüber beklagen, dass sie an einem PC nur noch ein paar Klicks machen müssen.
Auf den ersten Blick wirkt es wie jammern auf hohem Niveau. Auf den ersten Blick geht es heute schneller und einfacher.
Diese Mitarbeiter*innen arbeiten viel mit den Händen. So jedenfalls erkläre ich mir dieses Verhalten. Die Mitarbeiter*innen haben früher ihre Aufgabe mit den Händen erledigt und sich dann mit den Händen Stift und Papier genommen und es aufgeschrieben. Das bedeutet, dass sie heute einen Medienbruch erleben.
Medienbruch
Die Arbeit mit den Händen wird beendet, der Raum gewechselt, dann überlegt, was man gemacht hat. Dann werden die Fragen gelesen, einzeln und evtl. unchronologisch beantwortet und diese Antwort wird mit Hilfe der Maus, des Fingers oder der Tastatur eingegeben. In jedem Fall nur noch bedingt mit den Händen.
So viel zum Exkurs Medienbruch.
Dokumentation und Rückverfolgung
Da wir beim Thema Dokumentation waren, stellte sich meine Freundin die Frage, ob die Herkunft von Fleisch mittlerweile auf den Packungen nachvollziehbar ist. Ich habe zumindest schon davon gehört, dass Herkunft und Verarbeitung mittlerweile bei vielen Produkten online abrufbar sind. Daraufhin sagte sie, dass sie diesen Angaben nicht vertraut. Woher soll denn beim Abfüllen einer Packung noch nachvollziehbar sein, wessen Fleisch nun in welcher Packung gelandet ist?
Konfigurationsmanagement in der Fleischverarbeitung
Jetzt kommen wir zum Konfigurationsmanagement. In meinem ersten Beispiel werden wir Hackfleisch herstellen. Um das Konfigurationsmanagement anzuwenden brauchen wir aber vorab mindestens das Versionsmanagement. Der Vollständigkeit halber werden wir uns zusätzlich das Chargenmanagement ansehen.
Chargenmanagement
Das Chargenmanagement wird genutzt, um Herstellungsprozesse voneinander zu entkoppeln. Immer wenn wir eine Menge von Produkten voneinander künstlich entkoppeln wollen, reden wir von einer neuen Charge. (Achtung Statistik) Innerhalb einer Charge gehen wir von einer Gleichverteilung aller Eigenschaften aus.
Die Abgrenzung mehrerer Chargen ist immer dann wichtig, wenn sich Herstellungsparameter verändern und diese Änderungen im Nachhinein bedeutsam werden könnten.
Chargen in der Hühnerzucht:
Der Hühnerproduzent bekommen an einem Tag 300 Küken geliefert, die alle innerhalb von zwei Tagen geschlüpft sind. Diese 300 Küken werden mit verschiedenen 10 unterschiedlichen Futtermitteln aus 15 unterschiedlichen Chargen des Futterlieferanten gemästet. So wachsen sie zu 300 stattlichen Hühnern heran.
Im Durchschnitt hat jedes ein Gewicht von 2 Kg, 1,95 Beine, 1,98 Flügel, keinem der Hühner fehlen 2 Beine und/oder 2 Flügel. D.h. Das Gesamtgewicht beträgt 600 Kg, es gibt 585 Schenkel und 594 Flügel. Manchen Hühnern fehlt also mal ein Flügel und/oder ein Bein. Diese Faktoren beschreiben also die Charge der 300 Hühner.
Am nächsten Tag wurden 200 weitere Küken angeliefert, welche zu 200 Hühnern herangewachsen sind. Diese 2. Charge kann ganz andere Eigenschaften haben als die Erste.
Die Betriebe Müller, Schmitz und Bayer liefern Rinder, Schweine und Hühner in unterschiedlichen Mengen an eine Schlachterei zur Zerlegung. Diesen (Rohstoff-)Lieferanten vergeben wir jetzt für jede der Lieferungen eine Chargennummer:
Müller_Rind_Ch1 – verkürzt M_R_CH_1
Müller_Schwein_Ch1 – verkürzt M_S_CH_1
Müller_Huhn_Ch1 – verkürzt M_H_CH_1
Analog dazu:
Schmitz_Rind_Ch1 – verkürzt S_R_CH_1
Schmitz_Schwein_Ch1 – verkürzt S_S_CH_1
Schmitz_Huhn_Ch1 – verkürzt S_H_CH_1
Bayer_Rind_Ch1 – verkürzt B_R_CH_1
Bayer_Schwein_Ch1 – verkürzt B_S_CH_1
Bayer_Huhn_Ch1 – verkürzt B_H_CH_1
Wie oben beschrieben nutzen wir die vergebenen Chargenkürzel um die Lieferungen voneinander abzugrenzen. Die Lieferanten liefern schließlich auch an anderen Tagen Tiere.
Die Tiere werden abgeladen und durch die Zerteilung geschickt. D.h. der Verarbeiter weiß, vorne sind 100 Schweine eines Lieferanten einer Charge angekommen, also müssen hinten u.a. 100 Schweinenacken bzw. 200 halbe Schweinenacken ankommen. Jeder Produktart einer Charge eines Lieferanten wird jetzt eine Version zugeteilt. Diese sind also diesem Lieferanten zuzuordnen.
Versionsmanagement
Von Versionen sprechen wir immer dann, wenn eine Sache zum ersten Mal auftaucht. Die Version wird allerdings erst dann bedeutsam, wenn diese Sache verändert wird. Immer wenn eine Sache verändert wird, gibt es eine neue Version. Wenn eine Sache aufgespalten wird, dann gibt es zwei neue Versionen.
Die Versionen eines Rinds
Um es einfach zu halten, wird ein Rind in diesem Beispiel nicht wie üblich zunächst halbiert.
In diesem Beispiel trennen wir als erstes den Nacken und den Bauch heraus, anschließend werden beide zerteilt.
Zunächst vergeben wir allen angelieferten Rindern eines Lieferanten die Version 1: Rind_V1
Wenn ich ein Rind vor mir habe und ein Stück abschneide, dann habe ich das Rind ja verändert. Das Rind ist also eine neue Version seiner selbst.
Der herausgetrennte Nacken ist eine neue Version des Rindes der Version 1. Auch das Rind selbst hat sich ja verändert, dessen Version muss sich also auch ändern. Wie kann das gelingen. Wir führen mehrere Ebenen der Version ein – einen Versionsbaum.
Das Rind hat nach der ersten Veränderung nun die Version 2: Rind_V2
Was passiert nun mit dem Nacken? Klar könnte man für den Nacken nun auch die Version 1 (Nacken_V1) bilden. Es geht uns allerdings um Rückverfolgbarkeit. Dazu bauen wir einen Versionsbaum auf.
Der Nacken ist also eine Unterversion des Rind_V1. Folglich erhält der Nacken die Version Rind_V1.1 und das Rind die Version Rind_V2
Wenn ich nun z.B. den Bauch des Rinds abtrenne, wird das Rind_V2 verändert. Das Rind liegt jetzt in der Version 3 vor: Rind_V3
Analog zu oben wird der Bauch also als Rind_V2.1 bezeichnet.
Nacken und Bauch werden natürlich auch weiterverarbeitet. Dabei ist wie oben beschrieben darauf zu achten, dass es jeweils einen Nachfolger gibt und eine Unterversion.
So sieht der Baum jetzt aus:
Konfigurationsmanagement
Eine Konfiguration beschreibt, aus welchen Teilen etwas besteht. Eine Konfiguration ist immer dann wichtig, wenn man feststellen möchte mit welchen Teilen ein Produkt produziert wurde.
Ein Bleistift besteht grundsätzlich aus zwei Stücken Holz und einer Mine. Allerdings unterscheiden sich die Stifte. Der eine Bleistift soll eine weiche Spitze haben, der andere eine harte. Außerdem kann ein Bleistift aus der Produktion eines Tages hervorragend sein, die Produktion des nächsten Tages jedoch nicht.
In Programmen wird unter Konfiguration verstanden, welche Einstellungen vorgenommen wurden, mit denen ein Programm funktioniert. Diese Einstellungen sind die Software-Variante der Bauteile.
Die Hackfleisch-Konfiguration
Um Hackfleisch herzustellen brauchen wir eine bestimmte Menge Fett, unterschiedliches Fleisch und andere Zutaten. In diesem Beispiel sehen wir uns nur an, was passiert, wenn wir in der laufenden Produktion die Zutaten in der richtigen Menge hinzufügen.
Für unsere erste Charge benötigen wir 50 rechte Schweinenacken des Lieferanden Müller und 100 linke Schweinebäuche des Lieferanden Schmitz.
Korrekt bezeichnet also:
50 x M_S_CH_1_V1.1.1
100 x S_S_CH_1_V2.2
Im Endprodukt sind die gemeinsamen Eigenschaften dieser Charge gleichverteilt.
50 dieser Nacken und 100 Bäuche kommen jetzt in den Fleischwolf um daraus 200 Portionen Hackfleisch herzustellen. Also weiß der Hersteller, aus welchen teilen welches Herstellers dieses Hackfleisch nun besteht. Das ist die erste Konfiguration: K1
Um die Produktion nicht zu unterbrechen, werden nach 150 Portionen weitere Bäuche und Nacken hinzugefügt. Da diese einen anderen Fettgehalt haben müssen Sie anders zusammengestellt werden. Wie viele Nacken und Bäuche bereits durch den Fleischwolf durch sind, kann jedoch niemand genau sagen.
Es werden hinzugefügt:
70 x B_S_CH1_V1.2 (70 linke Schweinenacken des Lieferanten Bayer)
40 x M_S_CH_V2.1.1 (40 rechte Schweinebäuche des Lieferanten Müller)
Jetzt haben wir Konfiguration 2 in der Abfüllung.
Die Konfiguration 2 besteht daher aus:
50 x K1
70 x B_S_CH1_V1.2
40 x M_S_CH_V2.1.1
Die K2 besteht aus der Konfiguration 1 und den hinzugefügten Zutaten. Ab diesen Zeitpunkt bekommt jede jetzt hergestellte Packung einen neuen Code. Somit lässt sich die Herkunft aller Bestandteile sehr präzise feststellen. Klar kann es sein, dass genau in einem Moment das Fleisch eines Herstellers nicht in der Packung landet, wenn man sich jedoch alle Packungen ansieht, werden diese wiederum gleichverteilt sein.
Für Sie als Verbraucher, könnte es auch ein Hinweis sein, wenn Sie feststellen, dass ihr Hackfleisch von 100 einzelnen Lieferanten kommt. Es könnte ein Anzeichen dafür sein, dass der Fleischwolf sehr groß ist oder dafür, dass laufend neue Tierteile hinzugefügt werden.
Nicht verwechseln
Die Chargennummer für die neu produzierten Portionen muss natürlich eine neue sein, da es eine maßgebliche Veränderung im Produktionsprozess gab, schließlich gibt es eine neue Konfiguration.
Die Chargennummer gibt Aufschluss darüber, dass es eine Änderung gab. Diese kann u.a. darin bestehen, dass eine andere Maschine benutzt wurde, ein Mitarbeiter seine Schicht beendet hat usw.
Die Konfigurationsnummer gibt an, dass sich die Zusammensetzung des Produkts geändert hat.
In der Lebensmittelproduktion kommt es oft vor, dass sich die Charge ändert, die Konfiguration jedoch nicht. In anderen Industrien kann es genau andersherum sein. Man muss sich also immer ansehen, warum sich etwas ändert. In der Regel muss man jedoch davon ausgehen, dass sich die Chargennummer spätestens dann ändert, wenn sich die Konfiguration ändert.
Konfigurations-Fazit
In erster Linie ist es gut für das Unternehmen. Sollte sich zu einem Zeitpunkt herausstellen, dass das Fleisch eines betroffenen Zulieferers oder eines Stück Fleisch nicht markttauglich ist, kann er ganz gezielt Produkte zurückrufen. Er braucht also nicht mehr eine ganze Tagesproduktion zurückbeordern, sondern ganz gezielt einzelne Packungen, in denen die fehlerhafte Version eingesetzt wurde. Darauf basierend können Lieferanten genauer beurteilt und evtl. entstandene Schäden genauestens geltend gemacht werden. So Kann dem Fleischverarbeiter nicht vorgeworfen werden mehr zurückbeordert zu haben als nötig. Dies würde seinen Schaden künstlich vergrößern und würde entsprechend von Gerichten abgewiesen werden.
Für den Verbraucher hat es natürlich auch Vorteile, wenn man sie denn nutzen möchte. Er kann gucken, ob das Fleisch so hergestellt wurde, wie er sich das gewünscht hat.
Wer sich die Herkunft seines Fleisches mal ansieht, der kann grob zwei Szenarien vorfinden.
Im ersten Fall kommen die Tiere für das Fleisch von einem Hof in der Nähe und werden in einem Betrieb verarbeitet und abgepackt. So würde man es sich vielleicht auch vorstellen und bei z.B. Bio-Produkten wird dies auch auf so sein.
Im zweiten Fall kommen die Tiere von insgesamt vielleicht 20 Höfen und werden in 3 unterschiedlichen Betrieben verarbeitet und abgepackt. Dieses Szenario wünschen sich vielleicht nicht alle Verbraucher, wird so ähnlich jedoch die häufige Realität sein.
Nehmen wir ein anderes Beispiel, ein eher technisches.
Ein Auto besteht aus unglaublich vielen Einzelteilen. Bei jedem dieser Teile kann es in der Produktion zu Fehlern kommen, die teilweise erst nach Jahren entdeckt werden. Jedes dieser Teile wird auch noch während der bereits laufenden Produktion verbessert, also abgeändert.
Das bedeutet, dass ein Auto das im Sommer gebaut wurde, aus anderen Teilen besteht, als das aus dem Winter.
Bei dem Auto im Sommer wurde ein gerader Luftansaugstutzen der Version 1 verbaut. Da man für die Winterproduktion im Motorraum den Luftfilter geändert hat, muss nun der Ansaugstutzen gekrümmt sein, damit alles noch in das Auto passt. Das bedeutet, dass der Luftfilter und der Ansaugstutzen jetzt in der Version 2 verbaut werden. Das bedeutet, das Auto wird im Winter in der Grundkonfiguration 2 gebaut. Hier spreche ich von Grundkonfiguration, da es ähnlich wie oben mit den Versionen auch einen Konfigurationsbaum gibt.
Wenn mein Auto in 3 Jahren in die Werkstatt muss, weil der Ansaugstutzen getauscht werden muss, würde ich evtl. das falsche Bauteil erhalten, wenn es als Grundkonfiguration nicht in den Auto Daten hinterlegt ist. Diese Anpassungen passieren recht häufig, sodass zwischen dem Beginn einer Baureihe und dem Ende zig verschiedene Grundkonfigurationen gebaut werden. Dazu kommen natürlich noch die Sonderkonfigurationen, weil z.B. Extras wie ein spezielles Soundsystem, welches übrigens auch in verschiedenen Versionen verbaut wird.
Wenn all diese Daten hinterlegt werden und jede Änderung, erlaubt es Kunden und Herstellern große Vorteile.
Wenn sich z.B. herausstellt, dass die Version 2 einer Batterie die nur in 3 Versionen ausgeliefert wurde, häufig zu Fahrzeugbränden führt, dann kann ganz gezielt danach gesucht werden, in welchen Grundkonfigurationen diese Version verbaut wurde. Beim nächsten Werkstattbesuch kann diese Batterie dann gegen Version 3 getauscht werden. Dies wird dann ebenfalls in die Grundkonfiguration eingetragen. Es könnte ja sein, dass Version 3 einen anderen Fehler hat. Wenn man dieses Konfigurationsmanagement nun mit noch mehr Daten füttert, wie welcher Mitarbeiter hat diese Batterie wann hergestellt, und mit welchen Materialien und Werkzeugen, dann müssen die Batterien evtl. bei einer noch viel kleineren Anzahl Autos getauscht werden. Vielleicht haben nur die Batterien einen Fehler, die von genau einem Mitarbeiter an einem Tag mit einer Maschine hergestellt wurden. Mit einem guten Konfigurationsmanagement müssen so statt 50.000 Batterien nur 70 getauscht werden. Das geht natürlich nur dann, wenn die Daten vorliegen und der Fehler entsprechend eingegrenzt werden kann. Aber selbst, wenn man den Fehler „nur“ darauf zurückführen kann, dass ein Werkzeug in 3 Wochen die fehlerhaften Batterien produziert hat, wäre die Einsparung massiv.
In Deutschland halten sich Schadenersatzforderungen wegen solcher Fehler noch ziemlich in Grenzen, in den USA jedoch können solche nicht beseitigten Fehler horrende Forderungen verursachen, teils in der Höhe von mehreren Millionen Euro. Da lohnt sich sogar der Tausch von 50.000 Batterien! Ein Aufwand der weder nötig noch sinnvoll ist. Es sind ja auch 50.000 Batterien die nun als Sondermüll entsorgt werden müssen.
Im Grunde nur eine Frage der Zeit, wann Umweltverbände in den USA gegen diese Praxis klagen und gewinnen.
Im Grunde ist Konfigurationsmanagement nichts kompliziertes, man muss es nur tun und die Daten, die i.d.R. vorliegen, nutzen und verknüpfen. Wer das nicht macht, könnte im Übrigen auch mir schwerwiegenden rechtlichen Konsequenzen rechnen.