Geschwindigkeit durch Automatisieren – aber richtig!

Automatisieren ist ein effektiver Weg, um Entwicklungszeiten zu verkürzen und schneller Feedback zu bekommen. Doch Automatisierung zu etablieren ist aufwändig. Weiterhin kann eine nicht funktionierende Automatisierung Probleme maskieren, was wiederum Verzögerungen oder andere Probleme verursachen kann.
Im Folgenden ein Leitfaden.
Hinweis: Nächste Woche, am 4.11. findet um 16:00 CET das System-as-Code-Fest 2025 statt (online und kostenlos). Dort halte ich einen Kurzvortrag. Weitere Vorträge von OOSE (Tim Weilkiens), Bosch, ESA und vielen anderen. Jetzt anmelden! >>
DevOps: Pionier für Automatisierung in der Produktentwicklung
Der Drang zur Automatisierung kommt aus der Softwareentwicklung. Das ist nachvollziehbar, schließlich sind die Werkzeuge, mit denen die Programmierer ihre Arbeit erledigen, dieselben, mit denen sie Automatisierungen umsetzen können, nämlich Softwarecode (oder Scripte).
The second time you find yourself doing something, automate it. Chances are excellent that if you do it twice, you’ll end up doing it 100 times.
Neal Ford, “The Productive Programmer” (2008)
Die Idee, den gesamten Betrieb der Entwicklung zu automatisieren, stammt schon aus den 1970er Jahren. Doch wirklich Fahrt hat das Thema erst in den 2000ern aufgenommen, beschleunigt durch steigende Komplexität, aber auch durch Zugänglichkeit über das Internet und den niederschwelligen Zugang zu den Werkzeugen durch Open Source.
Der Begriff DevOps bezeichnet das automatisierte Zusammenspiel von Softwareentwicklung (Dev), Systemadministration (Ops) und anderen Domänen wie Qualitätssicherung.


Arten der Automatisierung
Persönliche Scripte: Für einen Programmier ist es leicht, für eigene Aufgaben Automatisierungen zu erstellen. Schon die Texteditoren Emacs und vi aus den 1970er Jahren ermöglichten dies.
Teamautomatisierung in der Softwareentwicklung: Anspruchsvoller wird es, wenn Teams ihre Arbeiten automatisieren wollen. Denn dann liegt die Kontrolle nicht mehr bei einer einzigen Person und Fehlbedienung der Scripte kann zu Problemen führen. Weiterhin kann das Update von Werkzeugen dazu führen, dass Automatisierungen nicht mehr funktionieren. Dank Open Source und guter Standards ist dies in der Softwareentwicklung kaum noch ein Problem.
Automatisierung von Fachwerkzeugen: Leider gibt es viele Werkzeuge, die entweder aus historischen oder wettbewerblichen Gründen schwer automatisierbar sind. Viele ältere, aber immer noch verwendete Werkzeuge folgen dem Desktop-Paradigma, ohne elegante Automatisierungs- oder Integrationsmöglichkeiten. Manche Werkzeuge schotten sich auch ab, um es Kunden schwerer zu machen, zu einem anderen Werkzeug zu wechseln. Doch mangelnde Integrationsmöglichkeiten verhindern oft auch das Automatisieren mit externen Werkzeugen.
Hardware-Automatisierung: Bisher ging es primär um die Automatisierung von Software. Doch auch bezüglich Hardware gibt es die Möglichkeit der Automatisierung. In der Entwicklung spielt dies oft beim Testen eine Rolle (dazu gleich noch eine Cas Study).
5 Schritte zur effektiven Automatisierung
Auch wenn ich heutzutage Elon Musk ungern zitiere, so ist der von ihm bei SpaceX gelebte Prozess fraglos effektiv. Was besonders bemerkenswert ist: die eigentliche Automatisierung ist der fünfte, nicht der erste Schritt. Die Schritte sind:
1. Jede Anforderung hinterfragen
Bevor etwas automatisiert wird, muss klar sein, warum es überhaupt existiert. Jede Aktivität, jeder Prozessschritt, jede Regel sollte einen klaren Zweck und eine verantwortliche Person haben. Erst wenn der Zweck nachvollziehbar und aktuell ist, lohnt es sich, über Optimierung oder Automatisierung nachzudenken.
2. Alles entfernen, was entfallen kann
Jeder Prozess neigt dazu, zu wachsen. Über die Jahre kommen Prüfungen, Formulare und Freigaben hinzu, selten fällt etwas weg. Deshalb sollten wir keine Angst vor Streichungen haben: Wenn man später nichts wieder hinzufügen muss, hat man zu wenig entfernt.
Für die Produktentwicklung bedeutet das: Unnötige Reviews, redundante Reports und doppelte Dateneingaben sollten wir löschen, nicht optimieren.
3. Vereinfachen und optimieren
Erst jetzt geht es darum, die verbleibenden Schritte einfacher und robuster zu machen. Das betrifft sowohl Abläufe als auch Schnittstellen und Werkzeuge. Redundanzen, unnötige Wartezeiten und ähnliches sollten radikal vereinfacht werden, denn jede Vereinfachung beschleunigt spätere Automatisierung und verringert Fehlerquellen.
4. Zykluszeit beschleunigen
Sind Prozesse bereinigt und vereinfacht, kann man sie beschleunigen. Ziel ist, Feedback-Schleifen zu verkürzen. Das ist möglich durch Parallelisierung und konsequente Optimierung der Flüsse von Daten, Tests, Bauteilen und allem anderen, was die Wertschöpfung blockiert. Dies ist in der Praxis oft der Punkt, an dem Teams erstmals spürbar Tempo gewinnen, noch bevor das Automatisieren begnonnen hat.
5. Automatisieren – aber gezielt
Jetzt kommt der Schritt, um den es hieer eigentlich gehen soll: Automatisieren. Doch erst jetzt, wenn alles Überflüssige entfernt, vereinfacht und beschleunigt ist, entfaltet Automatisierung ihre volle Wirkung.
Drei Beispiele für die Automatisierung in der Praxis
Gerade im Bereich Hardware fehlt es an guten Beispielen:
Inspektion von Schweißnähten bei SpaceX
In diesem Video berichtet Joe Justice unter anderem, wie SpaceX die Qualität der Schweißnähte verbessert hat. Ursprünglich wurden die Teile der Rakete mit Robotern verschweißt und dann an einem anderen Ort durchleuchtet, um die Qualität zu beurteilen.
Die Qualitätskontrolle wurde als Kandidat für die Automatisierung identifiziert. Dazu haben die Ingenieure ein Röntgengerät direkt hinter den Schweißkopf des Schweißroboters montiert. Sekunden, nachdem die Naht geschweißt wurde, wurde sie auch schon durchleuchtet. Dieses Vorgehen ermöglichte eine Datensammlung auf ganz anderer Ebene: Insbesondere lagen nun die Schweißparameter samt Schweißsensorik zeitgleich mit den Röntgendaten vor und konnten millimetergenau zugeordnet werden. Dies ermöglichte eine Verarbeitung mit Machine Learning, was zu einer drastisch besseren Qualität führte, von der Zeitersparnis ganz zu schweigen.
Design Compiler für die Parametrisierung von Pumpen-Designs
Diese Case Study erwähnte Joachim Pfeffer in unserem Interview bei SE-Trends. Der Design-Compiler von IILS wurde von Stephan Rudolph mitentwickelt, um fertige Designs basierend auf Produktparametern zu bekommen oder um Kabelstränge zu optimieren. Ein Pumpenhersteller hat dies auf ein Design angewendet, das Kunden in für sie relevanten Ausführungen mit unterschiedlichen Pumpleistungen, Abschüssen und ähnlichem bestellen.
Einmal parametrisiert, wird das System mit den Kundenparametern gefüttert und spukt ein fertiges Design aus, eine Arbeit, die vorher Wochen gedauert hat. Allerdings hat ein Doktorrand auch ein Jahr lang daran gearbeitet, das Design zu parametrisieren und für den Design-Compiler aufzuarbeiten.
Verkürzung der Validierungszeit von 12 auf 2 Monate bei ZF
Rene Honcak stellte auf der ReConf 2025 ebenfalls eine spannende Case Study vor, in der er zeigte, wie MBSE und Digital Twins die virtuelle Verifikation und Validierung in der Automobilentwicklung beschleunigen können. Durch die Kopplung von Produktanforderungen mit Simulationsmodellen entsteht ein digitaler Zwilling, der das physische Produkt bereits im Entwicklungsprozess präzise abbildet. So wird eine fundierte Freigabe auf Basis virtueller Tests möglich.
Auch hier ist der erforderliche Aufwand, diesen Punkt zu erreichen, nicht zu unterschätzen. Laut Rene dauerte es mehrere Jahre, die Infrastruktur aufzubauen und Prozesse zu optimieren, um diesen Grad der Automatisierung zu erreichen.
Fazit
Leider können wir, zumindest heute, nicht denselben Grad der Automatisierung in der Produktentwicklung erreichen, den wir in der Softwareentwicklung sehen. Aber sicher ist: Um wettbewerbsfähig zu bleiben, müssen wir Product Velocity gewinnen. Automatisierung ist dazu ein wichtiges Puzzlestück. Doch das Automatisieren muss im richtigen Kontext stattfinden, sonst verpufft die Energie.






