Projekte sicher ins Ziel navigieren

By Renate Stuecka | 14/03/2023 | Reading time: 4 min
Requirements Engineering als durchgängiger Bestandteil des Entwicklungsprozesses

"Über das Ziel hinausschießen ist ebenso schlimm, wie nicht anzukommen." Dieser Satz wird Konfuzius zugeschrieben. Und er beschreibt präzise, was passieren kann, wenn dem Requirements Engineering (RE) in Entwicklungsprojekten nicht genügend Aufmerksamkeit gewidmet wird. Obwohl die Relevanz von RE für das Gelingen von Projekten seit langem bekannt ist, scheint es Nachholbedarf bei der konsequenten Umsetzung zu geben. In dieser Artikelserie geben wir einen Überblick über grundlegende Konzepte für RE im Kontext eines durchgängigen Lebenszyklus von Entwicklungsprojekten.

Teil 1: Das Ergebnis des Entwicklungsprojektes

Es mag paradox erscheinen, mit dem Ergebnis zu beginnen, aber ohne die Festlegung eines Projektzieles wird man im Verlauf des Projektes viele teure Umwege machen.

„Nicht anzukommen“, also geforderte Eigenschaften eines Produktes nicht implementiert zu haben, kann fatale Folgen haben. Gleiches gilt für „über das Ziel hinausschießen“, also Implementierung von Features, die nicht verlangt wurden. Die möglichen negativen Folgen reichen von rein wirtschaftlichen Schäden aufgrund ausbleibender Umsätze oder hoher Kosten durch die Implementierung unverlangter Eigenschaften („gold-plating“) bis zur Gefährdung von Leib und Leben, wenn sicherheitskritische Eigenschaften fehlen oder durch „gold-plating“ ohne Not Fehlerquellen eingebaut wurden.


 

Anmerkung: In dieser Artikelserie verwenden wir den englischen Begriff „Requirements Engineering“ oder kurz „RE“ als Bezeichnung für den Prozess der durchgängigen Entwicklung im Einklang mit den Anforderungen. Dazu zählen die Ermittlung, Gewichtung, Auswahl, Spezifikation, Anpassung, Verifikation, Validierung und Management von Anforderungen. Hier finden Sie eine Definition.


 

Natürlich wird in der Regel vor der Entscheidung, ein bestimmtes Projekt anzugehen, geklärt, was das Ziel ist und welche wirtschaftlichen Rahmenbedingungen angenommen werden. Im Verlauf der Durchführung kann sich dieser Kontext jedoch ändern, und in vielen Projekten wird das auch passieren. Oft stellt man fest, dass am Ende mehr Entwicklungskosten aufgelaufen sind als ursprünglich geplant. Mögliche Ursachen sind Missverständnisse an Schnittstellen, „doppelte“ Arbeit, weil Vorgaben falsch interpretiert wurden, technische Komplikationen aufgetreten sind, Aufwände falsch geschätzt wurden oder weil sich kleine Änderungen eingeschlichen haben, die im Verlauf des Projektes zu gravierenden Abweichungen von der Zielvorgabe geführt haben. All das sind typische Anzeichen, dass es beim Requirements Engineering (Definition siehe Kasten) möglicherweise Potenzial zur Verbesserung gibt.

Worum geht es beim Requirements Engineering?

Requirements Engineering (RE) ist wohl die meistunterschätzte Disziplin in der System- und Softwareentwicklung. Und dabei geht es nicht nur darum, zu Beginn eines Projektes mit allen relevanten Stakeholdern gemeinsam Klarheit über das angestrebte Ergebnis zu gewinnen. Die Herausforderung liegt im durchgängigen Requirements Engineering, also dem kontinuierlichen Abgleich der Anforderungen mit den entstehenden Engineering-Artefakten, einschließlich Feedbackschleifen und ggfs. Korrektur sowohl der Anforderungen als auch der Artefakte, je nach Notwendigkeit. Diese Synchronisation über den gesamten Entwicklungsprozess zu ermöglichen und durchzuführen, ist eine der wichtigsten Aufgaben im Requirements Engineering. Ja nach Branche und Projekt können viele unterschiedliche Disziplinen in den RE-Prozess integriert sein, die jeweils eine ganz eigene Sicht auf das zu entwickelnde System haben (siehe Abb. 1). Die Einbeziehung aller relevanten Spezialisten in einen durchgängigen RE-Prozess ist eine wichtige Voraussetzung dafür, dass das Projektergebnis die Erwartungen erfüllt (siehe Abb. 2).

Die am Requirements Engineering Prozess beteiligten Spezialisten und Rollen

Abb. 1 – Die Spezialisten der beteiligten Disziplinen haben jeder einen anderen Blick auf das entstehende System                  (hier am Beispiel der Rollen in einem typischen RE-Prozess für Embedded Systeme)

Eine Grundlage für erfolgreiche Projekte

Typische Fragen, die für die Planung und Durchführung von Projekten geklärt werden sollten, sind beispielsweise:

  • Sind bei der Erhebung der Anforderungen alle gefragt worden, deren Input relevant ist?
  • Ist allen, wirklich ALLEN Beteiligten klar, was das Ziel ist?
  • Haben alle Beteiligten dasselbe Verständnis, dieselbe Interpretation des Zieles?
  • Was passiert, wenn einzelne Aspekte des Zieles nicht wie geplant realisiert werden können (z.B. aufgrund vorher nicht bekannter technischer Restriktionen, oder weil sich Rahmenbedingungen des Kunden/Anwenders geändert haben)?
  • Wie kann regelmäßig überprüft werden, ob noch alle in Richtung desselben Ziels navigieren?
  • Wie kann „unterwegs“ verifiziert werden, ob die Ziele so umgesetzt wurden wie vereinbart?
  • Hat der Tester dasselbe Verständnis des zu testenden Funktionsumfangs wie der Kunde?
  • Wie wird sichergestellt, dass die Einhaltung die vereinbarten Vorgaben getestet wird und nicht nur der implementierte Funktionsumfang?
  • … und wie kann ich das lückenlos nachweisen, z.B. für Zulassungsverfahren?

Und das betrifft nur die „handwerklichen“ Aspekte des RE, die man mit entsprechenden Abläufen, Prozessen und Tools in den Griff bekommt.

Spezialisten aller Disziplinen tragen zum RE-Prozess bei

Abb. 2 – Requirements Engineering sorgt dafür, dass am Ende das gewünschte Produkt unter Beteiligung der erforderlichen Spezialisten entsteht.

Ausblick auf Teil 2

Ein weiterer oft unterschätzter Faktor ist die Qualität der Anforderungen. Darum wird es in Teil 2 dieser Serie gehen. Falls Sie in der Zwischenzeit weitere Informationen zum Thema Requirements Engineering suchen, ist dies ein guter Ausgangspunkt: https://www.sodiuswillert.com/de/loesungen/anforderungsmanagement

Renate Stuecka

Renate Stuecka is a Consultant at SodiusWillert. Prior to joining SodiusWillert, Renate held various management positions in marketing and product marketing with a focus on advanced engineering tools for more than 20 years. Earlier, Renate had specialized in communication systems and led product management and software development teams in that industry. Renate has a Master of Science degree in Computer Science from Technical University Dortmund, Germany.

Leave us your comment

Most read articles

Subscribe to our blog

Watch the product demo

OSLC Connect for Jira: integrate Jira with IBM Engineering Lifecycle Management.

Icon_OSLC Connect for Jira_color_144*144px_SodiusWillert_2020_RVB

 

OSLC Connect for Jira leverages Open Services for Lifecycle Collaboration (OSLC) technology to collaboratively allow linking across design and implementation teams and better manage requirements and compliance.