Julian, was genau ist “Konfiguration”?🤨
Wer hat das im Projektalltag noch nicht erlebt? Man sitzt in einem Meeting, redet und diskutiert, kommt nicht weiter, weiß aber nicht so recht warum. Es beschleicht einen das Gefühl, man redet aneinander vorbei. Das kann viele Gründe haben, ein heißer Anwärter ist ein fehlendes gemeinsames Verständnis von Begriffen.
Einer dieser Begriffe ist das Wort Konfiguration, das je nach Kontext ganz unterschiedliche Bedeutungen haben kann:
Variantenkonfiguration
Konfiguration im Sinne eines Konfigurationsmanagements
Konfiguration im Sinne einer Parametrisierung
Um die Verwirrung komplett zu machen: mitunter hat man in einem Projekt oder Prozess mit allen drei Deutungen gleichzeitig zu tun, und sie hängen auch noch irgendwie miteinander zusammen. Dazu aber später mehr.
Wortherkunft
cōn-fīgere (latein)
zusammenfügen, zusammennageln
Die Vorsilbe con- steht im lateinischen für “zusammen-”. Und figere, man denkt es sich schon, steht für “fügen”, “heften”, “festmachen”. Eine “Figur” ist also nichts anderes als etwas “Gefügtes” 😉. Und eine Konfiguration demnach etwas “Zusammengefügtes”, oder genauer, der Vorgang des Zusammenfügens.
Bei einer Konfiguration füge ich also einzelne Bestandteile zu etwas Größerem zusammen. Und mit etwas Abstand betrachtet, stimmt das ja auch für alle drei Deutungen.
Verschiedene Bedeutungen von “Konfiguration”
1️⃣ Variantenkonfiguration
Auch hier hilft ein Blick ins Wörterbuch: Lateinisch variare steht für “buntmachen”, “abwechseln”, “färben”. Die Variante ist also eine bestimmte “Färbung” meines Produktes oder die Färbung eines Bestandteil meines Produktes. Und bei der Variantenkonfiguration geht es genau darum: Ich (z.B. als Kunde) füge mir einzeln “gefärbte” Bestandteile (Varianten) zu einem Produkt zusammen (Zusammenfügung=Konfiguration).
Beispiel gefällig? Ich konfiguriere eine Fahrradvariante. Den Rahmen hätte ich gern in der “Färbung” Trekking Herrenrad, 54cm. Färbung ist hier natürlich nicht wörtlich zu verstehen, gemeint ist die Variante des Rahmens. Dann noch bitte die Gangschaltung in der 21-Gang-Variante, den Gel-Sattel, und das ganze in marine-blau (diesmal Färbung sogar wortwörtlich).
Voilà, wir haben uns aus einzelnen Varianten der Bestandteile eine (von vielen vielen möglichen) Fahrradvarianten zusammengestellt — sprich, “konfiguriert” 👍.
Streng genommen müsste man meiner Meinung nach übrigens in vielen Fällen eigentlich eher von Variantenselektion als von -konfiguration sprechen. Aber das ist ein anderes Thema, über das ich sicher auch noch schreiben werde 😉.
2️⃣ Konfigurationsmanagement (z.B. ISO 10007)
Wer die Suchmaschine seiner Wahl bemüht, findet diverse Definitionen (bspw. ISO 10007 oder ANSI/EIA-649). Hier zum Beispiel aus der ANSI:
Konfigurationsmanagement ist ein Managementprozess zur Herstellung und Erhaltung einer Übereinstimmung der Produktleistungen sowie der funktionalen und physischen Eigenschaften des Produktes mit den Anforderungen, dem Produktdesign und den operativen Informationen während des gesamten Produktlebenszyklus.
Mir gefällt die ANSI-Definition sehr gut, da sie wichtige Aussagen enthält:
Es handelt sich um einen Managementprozess
Er stellt sicher, dass das Produkt mit seinen Anforderungen übereinstimmt
… und das alles über den gesamten Produktlebenszyklus.
Egal welche Norm man zugrunde legt, im Kern funktioniert das immer so: Wenn wir verantwortlich für ein Produkt sind, müssen wir zunächst festlegen, welche “Elemente” für uns wichtig sind (sogenannte Konfigurationseinheiten). Der Begriff des Elements kann und soll dabei weit gefasst sein, das heißt, wir schauen nicht nur auf die physischen Bestandteile (Bauteile) eines Produkts, sondern auch auf alle Informationen, die im Rahmen der Entwicklung (und des gesamten Lifecycles) wichtig sind. Also Anforderungen, Zeichnungen, Spezifikationen, usw. — Das Identifizieren dieser relevanten Konfigurationseinheiten heißt im Normsprech dann treffenderweise Konfigurationsidentifikation. Die Konfiguration ist dann die Menge der Konfigurationseinheiten, die wir im Rahmen der Konfigurationsidentifikation identifiziert haben. Klar soweit? 😉
Hier ein Beispiel - zugegeben anachronistisch und wenig digitalisiert, aber es geht ja ums Prinzip:
Der leitende Ingenieur Ingo bei einem Fahrradhersteller soll ein neues Fahrrad entwickeln. Um ein ordnungsgemäßes Konfigurationsmanagement zu haben, legt er (oder sein Azubi Anton) sich erstmal einen Aktenordner mit verschiedenen Registerkarten an, die da sein könnten:
Anforderungen
ISO 4210 (Norm für Fahrradkonstruktion)
Anforderungen aus dem Vertrieb (was wollen die Kunden)
Spezifikation
Rahmen
Bremssystem
Antrieb/Schaltung
Fertigungs-Unterlagen
Rahmen Schweisszeichnung
Montageanweisungen
Damit wäre die Konfigurationsidentifikation erledigt, die Konfiguration erstellt. In den einzelnen Registerabschnitten werden nun peu-à-peu die aktuell gültigen relevanten Informationen abgelegt. Im Register ISO 4210 also die ISO 4210:2023, dem aktuellen Stand der Norm für Fahrradkonstruktion. Etwas später, sobald die zuständigen Konstrukteure mit Ihrer Arbeit soweit fertig sind, dann auch die Konstruktionszeichnungen für den Rahmen, die Bremse, usw.
Zwischendurch darf Anton (der Azubi) einmal die Woche den ganzen Aktenordner fotokopieren und ins Archiv stellen (Snapshot). Spätestens wenn die Entwicklung abgeschlossen und vom leitenden Ingenieur Ingo der Reifegrad der Spezifikation freigegeben wurde, bekommt der dann fotokopierte Ordner mit fettem roten Filzstift die Aufschrift “Konstruktion freigegeben” (AS-DESIGNED Baseline).
Wie genau jetzt Konfigurationsmanagement sicherstellt, dass ein Produkt seine Anforderungen erfüllt, und was das alles mit Traceability zu tun hat… auch darüber werde ich ein andermal noch mehr schreiben!
3️⃣ Parametrisierung eines Smart Product
Im Betriebssystem Windows den eigenen Lieblingshintergrund einstellen, das CAD-System an die Bedürfnisse des eigenen Unternehmens anpassen, oder im Fahrradcomputer die Radgröße eingeben, damit die Geschwindigkeit korrekt angezeigt werden kann. Umgangssprachlich fällt auch all das unter den Begriff “konfigurieren”. Um es wieder in den Kontext der Wortherkunft von “Konfiguration” zu bringen: man könnte sagen, man fügt die einzelnen Schalter und Stellhebel zusammen, die einem das Produkt so anbietet.
Ein vielleicht besserer Begriff als Konfiguration an dieser Stelle ist Parametrisierung. Mein (SW-)Produkt bietet mir verschiedene Schalter und Einstellmöglichkeiten an, für die ich jeweils einen Parameter setzen kann. Im Fall des Fahrrad(computer)s handelt es sich sogar um ein Produkt aus SW- und elektromechanischen Bestandteilen. Wer viel mit Linux zu tun hat, wird die *.conf-Dateien (wie Configuration) kennen, und manch einer entsinnt sich vielleicht noch an die .ini-Dateien unter Windows. Aber das Prinzip ist immer das Gleiche. Über das Setzen von Schaltern lässt sich das Verhalten der Software oder des Produkts beeinflussen.
Zusammenfügung (😉) des Gelernten
Wir haben in den vorhergehenden Abschnitten gelernt, dass das Wort “Konfiguration” in ganz verschiedenen Kontexten verwendet werden kann. In der Einleitung habe ich geschrieben, dass zur allseitigen Verwirrung die drei Kontexte auch noch zusammen in einem Projekt oder Prozess vorkommen können. Wie versprochen, auch dazu noch ein paar Worte.
Oder erstmal ein Beispiel:
Viktor aus dem Vertrieb hat Ingenieur Ingo von Anfang an ins Lastenheft geschrieben, dass das Fahrrad bitteschön mit einem Rahmen für Damen und einem für Herren, und außerdem in verschiedenen Rahmengrößen bestellbar sein soll. Drei verschiedene Bremsscheibengrößen sollen es sein, und bei der Schaltung soll der Kunde zwischen 21 und 27 Gängen wählen können. Und schwupp, das Konfigurationselement “Rahmen” der Konfiguration aus dem Konfigurationsmanagement unterliegt selber einer (Varianten-)Konfiguration 😉
Im Ergebnis führt das natürlich dazu, dass es unterschiedliche (=variante) Konstruktionszeichnungen für die unterschiedlichen Rahmen gibt, und damit auch unterschiedliche Sach- und Materialnummern, wie diese unterschiedlichen Rahmen im Logistikprozess identifiziert werden.
Wenn es der Fahrradhersteller sehr genau nimmt, wird er den Azubi Anton, nachdem ich mein Fahrrad bestellt habe, im Rahmen des Konfigurationsmanagements eine neue Fotokopie des Aktenordners erstellen und mit AS-ORDERED by Julian Weyer beschriften lassen. Alles was ich bestellt habe (Trekking Herrenrad, 54cm, Gel-Sattel, 21-Gang-Schaltung, marineblau, wir erinnern uns) wird in meiner Baseline mit Textmarker markiert, alle Varianten die ich nicht bestellt habe, gestrichen oder aus dem Ordner rausgenommen (ob ich selber diese Fotokopie des Aktenordners je zu sehen bekomme, steht auf einem anderen Blatt, aber es geht ja ums Prinzip).
Auch die einzelnen Parameter (umgangssprachlich also die Konfiguration) des Fahrradcomputers können Konfigurationseinheiten im Sinne des Konfigurationsmanagements sein. Heißt: vor Auslieferung des Fahrrads heftet der Monteur, der die Montage und Parametrisierung vorgenommen hat, die Parameterdaten noch in meinem fotokopierten Aktenordner ab, damit immer nachvollziehbar ist, in welchem Zustand ich mein Fahrrad ausgeliefert bekommen habe (AS-DELIVERED).
Klingt kompliziert und verwirrend? Eigentlich empfinde ich das alles sogar als ziemlich logisch und schlüssig — wenn man sich dieser verschiedenen Aspekte bewusst ist, und den Projektkontext jeweils richtig einordnet. Im Zweifel lieber einmal mehr nachfragen: