Systems Engineering Trends

Jede Woche Neuigkeiten aus der Welt des Systems Engineering

AgilitätAnforderungen

Systems Engineering mit agilen Anforderungen

Agilität wird inzwischen immer öfter im Systems Engineering angewandt. Dabei nehmen die Anforderungen einen wichtigen Stellenwert ein, da diese das Bindeglied zwischen Kunde und Produkt sind. Agiles Anforderungsmanagement sorgt dafür dass der Kunde früh und kontinuierlich erkennt, ob das Produkt die Anforderungen erfüllt. Bei komplexen Systemen brauchen wir zwangsläufig mehrere Ebenen. Hier stellt das Scaled Agile Framework® (SAFe®) ein gutes Rahmenwerk dar, welches dem klassischen Systems Engineering-Ansatz überlegen ist.

Dieser Artikel fasst die Ergebnisse zu agilen Anforderungen von Frankco Curtolo zusammen, welche er 2018 im Rahmen seiner Aktivitäten bei der INCOSE veröffentlicht hat.

Ich brauche hier nicht noch einmal zu wiederholen, warum sich Systems Engineers für agile Methoden interessieren: Durch steigende Komplexität, höheren Wettbewerb und neue Technologien müssen Entwickler die Länge der Iterationen verkürzen. Das hilft, früher Rückmeldungen einzuholen und besser auf Änderungen zu reagieren.

Anforderungsmanagement und agiles Projektmanagement

In seinem INCOSE-Artikel Requirements Management applied in an agile Project Management environment (PDF) untersucht Franco Curtolo, wie gut sich SAFe im Anforderungsmanagement im Systems Engineering anwenden lässt. SAFe hat eigentlich zum Ziel, die Transformation von Organisationen zu unterstützen. SAFe basiert dabei auf drei Säulen: Agile Entwicklung, Systemdenken und Lean Management. Insofern ist eine solche Untersuchung gerechtfertigt.

Anforderungsmanagement hat einen hohen Stellenwert im Systems Engineering, schließlich stellen die Anforderungen die Brücke zum Kunden (und anderen Stakeholdern) dar. Das V-Modell geht hier von einer Dekomposition der Anforderungen (linker Arm) aus. SAFe hat hier eine modellbasierte Sicht und hält Anforderungen in Epics, Capabilities, Features und Stories fest. Diese Sichtweise hilft eine auf den Kundennutzen ausgerichtete Dekomposition zu realisieren.

Ebenso gibt uns SAFe eine differenziertere Sicht auf die Entwicklungszyklen. Während das klassische Systems Engineering von langen Iterationen und Quality Gates geprägt ist, Unterscheidet SAFe zwischen Agile Release Train (ART), Program Increment (PI) und Iteration. Auch dies hilft, auf den verschiedenen Ebenen so schnell wie möglich zu reagieren, auch wieder mit einen Blick auf den Kundennutzen.

Mehrwert von agilen Anforderungen

Das von Franco Curtolo untersuchte Vorgehen, also die Anwendung von SAFe für Anforderungsmanagement im Systems Engineering, hat mehrere Vorteile: Zum einen können viele Aktivitäten kontinuierlich und parallel durchgeführt werden. Dazu gehören Continuous Exploration, Continuous Integration und Continuous Deployment. Releases werden veröffentlicht, wenn es notwendig ist (on demand).

Selbst ohne ein Release ermöglicht das hier beschriebene Vorgehen, frühzeitig und häufig Rückmeldung vom Kunden (und anderen Stakeholdern) einzuholen. Dies reduziert Entwicklungsrisiken und stellt einen effektiven Einsatz der vorhandenen Ressourcen sicher. Ein wichtiger Stakeholder ist die Regulierungsbehörde, die ebenfalls frühzeitig ins Boot geholt werden sollte, um böse Überraschungen bei der Abnahme zu vermeiden.

Und zuletzt schafft dieser Ansatz mehr Raum für Innovation, da gerade in den unteren Elementen mehr Spielraum für alternative Lösungsansätze besteht.

Fazit

Agilität im Anforderungsmanagement hat viele Vorteile. Für Organisationen, die SAFe bereits einsetzen, ist der Ansatz von Franco Curtolo besonders interessant. Schließlich brauchen diese das bestehende Rahmenwerk dann nur für die Produktentwicklung zu erweitern. Doch selbst wenn es schon einen anderen Ansatz gibt, können einzelne Taktiken übernommen werden.

Häufig stellt sich die Frage, wie gut diese Ansätze auch für Hardware geeignet sind. Doch im Systems Engineering begegnen wir nur noch selten reinen Hardwareprojekten. In der Regel haben wir es mit einem Hardware-Software-Verbund zu tun. Hier hilft es, mit dem agilen Mindset an das Gesamtsystem heranzugehen (Systemdenken). Denn auch wenn sich agile Methoden besser für die Softwareentwicklung eignet, ist der beschriebene Ansatz auch für das Gesamtsystem relevant.

Zuletzt möchte ich noch mit zwei Zitaten aus dem Artikel schließen, das erste von Edward V. Berard:

Auf Wasser zu laufen und Software basierend auf einer Spezifikation zu entwickeln ist beides leicht – wenn sie gefroren sind

Edward V. Berard

Darauf antworten SAFe und Lean:

Das stimmt, aber wir brauchen den See nicht auf einmal einzufrieren. Es reicht der Bereich für den nächsten Schritt

SAFe & Lean

Photo by Elisa Clairet on Unsplash

Michael Jastram

Creator and Author of SE-Trends