Wie kann eine gute Software entstehen, ohne die Bedürfnisse der Stakeholder zu verstehen? Deshalb sollte jedes Softwareprojekt von einem professionellen Requirements Engineering begleitet werden, sagt unser Trainer Michael Mey und nennt 5 gute Gründe dafür.
Was der genaue Nutzen von Requirements Engineering (RE) ist und warum sich der Aufwand in der Regel lohnt, fragt sich sowohl mancher Kunde als auch Dienstleister.
In der Praxis kommt es des Öfteren vor, dass beide Seiten das Thema Requirements Engineering vernachlässigen und es als unnötigen Ballast oder Kostentreiber ansehen.
Dabei sollte bereits die Erstellung einer Ausschreibung durch den Kunden Teil einer Anforderungsanalyse sein, denn eine Ausschreibung ohne Beschreibung der Anforderungen ist eigentlich relativ wertlos.
Doch bevor wir näher auf die Gründe und den Nutzen von Requirements Engineering eingehen, sollten wir zuerst klären, was Requirements Engineering eigentlich bedeutet.
Der Begriff «Requirements Engineering» (kurz RE) kommt aus dem Englischen. «Requirements» bedeutet Anforderungen, «Engineering» bedeutet Entwicklung oder Konstruktion. Als Synonym wird auf Deutsch auch häufig das Wort Anforderungsmanagement gebraucht.
Entsprechend geht es beim Requirements Engineering um die systematische Ermittlung, Spezifizierung, Validierung und Verwaltung von Anforderungen. Requirements Engineering ist deshalb ein wichtiger Bestandteil bei der Entwicklung von Systemen, Produkten und Software.
Das Ziel von Requirements Engineering ist die kundenorientierte Herstellung von Software bzw. Produkten:
Dennoch muss man beachten, dass sich Randbedingungen, Funktionswünsche, Begeisterungsmerkmale, Ziele, aber auch Normen und Gesetze häufig bereits im Zeitraum einer Entwicklung ändern können.
Das bedeutet, dass Requirements Engineering eher eine kontinuierliche Disziplin ist, statt eine isolierte Aufgabe in einer bestimmten Projektphase.
Durch die stetig steigende Komplexität unserer heutigen Welt zeichnet sich ein deutlicher Trend weg von klassischen und hin zu agilen Vorgehensmodellen ab.
Hier beziehe mich auf die Definition von IREB® (International Requirements Engineering Board). IREB® ist eine Non-Profit-Organisation und weltweit anerkanntes Expertengremium für die Zertifizierung von Fachkräften im Requirements Engineering. IREB® nennt sechs zentrale Aufgaben und Verantwortlichkeiten:
Die Qualität im Requirements Engineering spiegelt sich unmittelbar in der Qualität der Anforderungen wider. Diese werden anhand von diversen Attributen gemessen, wie u.a.:
Speziell das letzte Attribut «prüfbar» verweist auf eine weitere wichtige Disziplin im Hinblick auf die Qualität. Denn Anforderungen dienen auch als Akzeptanzkriterien beim Testing.
Wirtschaftlich betrachtet wirkt Requirements Engineering lediglich indirekt, bspw. in dem sich Entwicklungs- und Pflegekosten reduzieren lassen oder die Kundenzufriedenheit gesteigert wird.
Laut Studien der Marktforschungsinstitute Forrester Research und Meta Group Research sind jedoch 60-80% der gescheiterten Projekte auf schlechtes oder nicht vorhandenes Requirements Engineering zurückzuführen.
Deshalb ist die Spezifikation von Anforderungen eine kritische und an sich schwierige Aufgabe, die professionell angegangen werden sollte.
Requirements Engineering hilft dabei, viele Fehler schon in der Konzeptionsphase zu erkennen, die später nur mit hohen Kosten zu beheben sind. Der Nutzen von Requirements Engineering ist folglich nicht von der Hand zu weisen, auch wenn er nicht genau zu beziffern ist.
Kommentar