Requirements Engineering – planvoll und flexibel

Lastenhefte für Automotive Software-Projekte sinnvoll spezifizieren

Die Entwicklung mechatronischer Produkte im Automotive-Bereich ist durch einen zunehmenden Anteil software-basierter Lösungen gekennzeichnet. Dadurch treffen vermehrt auch klassische und agile Vorgehensweisen aufeinander, die es in einem abgestimmten Prozess zu integrieren gilt. Dieser Prozess beginnt bei der Erfassung der fachlichen Anforderungen, dem Requirements Engineering. „Hardware meets Software“ sollte zu einem modernen Umgang mit Lastenheften führen, der die jeweils spezifischen Charakteristiken berücksichtigt und integriert.

 


Was ist Requirements Engineering?

 

Die Entwicklung neuer Produkte oder Software-Lösungen erfolgt in der Regel in Form von Projekten. Um diese Projekte erfolgreich zu machen, ist es wichtig, die Anforderungen, die an die späteren Lösungen gestellt werden, bestmöglich zu kennen. Projekte werden stets arbeitsteilig bearbeitet − somit müssen die Anforderungen, die Auftraggeber und Nutzer haben, systematisch strukturiert und erfasst werden. Als Anforderungen (Requirements) werden fachlich-technische sowie formelle Bedingungen und Fähigkeiten des Systems verstanden. Das Requirements Engineering ist der systematische und disziplinierte Ansatz zur Spezifikation und zum Management dieser Anforderungen (IREB).

 

Wozu Requirements Engineering?

 

Klarheit über die Anforderungen der Kunden zu gewinnen, ist für die Entwickler und Projektmanager unerlässlich, um dessen Bedürfnissen zu entsprechen. Dabei gilt es oftmals, interdisziplinäre Sprachbarrieren zu überwinden, den Kunden an für ihn neuartige Techniken heranzuführen und schlichtweg „nur“ eine vertragliche Grundlage für das Entwicklungsprojekt zu schaffen. Letzteres vielfach ausgedrückt in Lasten- und Pflichtenheften. Aufgrund der Dynamik der Entwicklung insbesondere von IT-basierten Elementen ist dabei jedoch zunehmend verlangt, dass die Lösungen sich flexibel und adaptiv − sprich agil − entwickeln und zudem Designentscheidungen zu einem möglichst späten Zeitpunkt im Entwicklungsprozess getroffen werden.

 

Requirements Engineering in der Produktentwicklung

 

Die Entwicklung mechatronischer Produkte orientiert sich unter anderem an der VDI-Richtlinie 2206. Dabei geht es darum, die drei Disziplinen Mechanik, Elektronik und Informationstechnik (IT) zusammenzubringen. Mit steigendem Anteil der IT und steigender Dynamik müssen Parallelität und effektive Integration der drei Teilbereiche verstärkt werden. Besonders in der IT haben iterativ-inkrementelle (agile) Methoden seit einigen Jahren Einzug gehalten. Für jedes Projektvorgehen gilt dabei: die Anforderungsspezifikation steht am Anfang der Realisierung eines (Teil-)Produkts. Die Vorgehensweisen unterscheiden sich jedoch in der Intensität und im Umfang des initialen Requirements Engineerings.

 

Einordung des Projekt-Kontextes
Einordung des Projekt-Kontextes

Sind Anforderungen und Lösungsweg sicher, zum Beispiel bei Weiterentwicklungen im Sinne eines kontinuierlichen Verbesserungsprozesses, schafft das sogenannte Big Design Up Front die nötigen Rahmenbedingungen für eine effektive und effiziente Projektdurchführung. Sind dagegen der Lösungsweg oder die Anforderungen unklar, ist es notwendig, diesbzgl. im Rahmen einer iterativen Annährung Sicherheit zu gewinnen. Eine vollständige, detaillierte Erfassung aller Anforderungen zu einem sehr frühen Zeitpunkt im Projekt wäre in diesem Fall Ressourcenverschwendung und birgt zudem die Gefahr von Fehlentwicklungen. Aufgrund ihrer Abstraktheit, Komplexität und Neuartigkeit fallen IT-Produktentwicklungen häufig in diese Kategorie.

 

„Schlanke“ Erhebung der Requirements

 

Es gilt also, die Anforderungen an die zu entwickelnde Lösung je nach Kontext des Projekts mit Blick auf den Zeitpunkt der Festlegung, den Umfang und den Detaillierungsgrad adäquat zu erfassen. Bei der Entwicklung mechatronischer Produkte, wie es im Automotive-Bereich vielfach der Fall ist, müssen zudem die hardware- und software-bezogenen Entwicklungsstränge in einem geeigneten Vorgehensmodell integriert werden. Dieses Vorgehensmodell legt insbesondere den Zeitpunkt der Erfassung und Fixierung der Anforderungen fest und definiert die notwendigen Synchronisationszeitpunkte bei der Entwicklung der letztlich integrativen Lösung.

 

Um beim Management der Anforderungen mehr Entscheidungsflexibilität zu erhalten, sollte auch in klassischen, Werkvertrag basierten Vorgehensweisen eine Flexibilisierung der definierten Projektlasten eingeführt werden. Durch die Klassifizierung der Anforderungen in „Must-Haves“, „Should-Haves“ und „Nice-to-Haves“ gewinnt das Requirements Management an Flexibilität – Erkenntnisgewinne im Laufe des Projekts können leicht integriert werden und die Arbeit fokussiert zunächst die wichtigsten Elemente.

 

Aber auch die Form, in der Requirements erfasst werden, spielt eine Rolle mit Blick auf ein stets zu betrachtendes Aufwand-Nutzen-Verhältnis im Requirements Engineering. So helfen Satzschablonen dabei, die Anforderungen systematisch, gleichartig und in gewünschter Qualität zu erfassen. Eine solche Satzschablone, welche sich insbesondere in IT-Entwicklungsprojekten nach Scrum etabliert hat, sind die sogenannten User Stories. Diese leichtgewichtigen Anforderungsformulierungen, stellen den Nutzer der Lösung und dessen Intention in den Vordergrund und helfen somit dem Entwickler bei der bedarfsgerechten und dennoch im Detail flexiblen Entwicklung der Lösung.

 

Mit E-Learning Requirements Engineering erleben

 

In dem VDI-Lernmodul „Lastenhefte für Automotive Software Projekte“ werden diese und andere Aspekte des modernen Requirements Engineering didaktisch hochwertig aufbereitet und interaktiv zu Verfügung gestellt. Veranschaulicht wird dies an einer fiktiven Fallstudie zur Entwicklung eines „Advanced Adaptive Cruise Control“-Systems für ein Oberklasseautomobil. Eine grafisch hochwertig veranschaulichte Benutzerführung führt den Teilnehmer durch die verschiedenen Themen und lässt ihn sein Wissen „in Echtzeit“ überprüfen (https://www.vdi-wissensforum.de/weiterbildung-automobil/lastenhefte-fuer-softwareprojekte/).

 

Welche Erfahrungen mit dem Requirements Engineering haben Sie gemacht? Ich bin gespannt auf Ihre Rückmeldungen.

Kommentar schreiben

Kommentare: 0