Requirements Engineering im Wandel der Zeit

Requirements Engineering

Der Komponist Anton Bruckner (1824-1896) sagte einst: "Wer hohe Türme bauen will, muss lange beim Fundament verweilen."

Dieses Zitat lässt sich sehr gut auf die Systementwicklung übertragen.

Je komplexer ein System wird, desto wichtiger ist es, dass die Anforderungen an das System vollständig, widerspruchsfrei und verständlich formuliert und dokumentiert sind. Das gilt im klassischen Vorgehen genauso wie in agilen Ansätzen oder den heute weit verbreiteten hybriden Projekten.

Requirements Engineering in der Softwareentwicklung

Das Requirements Engineering kann im Grunde in jedem Projekt angewendet werden, in denen es darum geht, Bedürfnisse von Stakeholder zu befriedigen oder Probleme zu lösen. Am meisten findet es aber in Projekten Anwendung, in denen mindestens ein hoher Anteil an Softwareentwicklung enthalten ist. Dabei wäre das systematische und disziplinierte Vorgehen in vielen anderen Bereichen genauso wünschenswert.

Um plakativ zu verdeutlichen, was das in der Praxis bedeutet nehmen wir bewusst ein allgemeines Beispiel. -> Der Bau eines Eigenheims.

In der Regel wird das im klassischen Vorgehen umgesetzt. Erst werden die Anforderungen aufgenommen, detailliert, dokumentiert und abgestimmt. Dann erst beginnt der Bau. Wird dann beispielsweise der Wunsch nach einem Keller während der Anforderungserhebung nicht kommuniziert oder dokumentiert, ist die nachträgliche Umsetzung zumindest schwierig. Spätestens, wenn die Bodenplatte gegossen ist, wird es nahezu unmöglich oder zumindest extrem aufwändig, diese Anforderung nachzuarbeiten.

An dieser Stelle ist es dann auch egal, ob das Haus im klassischen Vorgehen oder mit agilen Ansätzen gebaut wird. Das heißt, auch in der Agilität ist ein Mindestmaß an Planung und Dokumentation unerlässlich.

Die Kerntätigkeiten des Requirements Engineerings

Zu den Hauptaufgaben des Requirements Engineerings gehören das Ermitteln, das Dokumentieren, das Validieren und nicht zuletzt das Verwalten der Anforderungen.
Doch auch vorbereitende, begleitende und weiterführende Tätigkeiten gehören mit dazu.
So ist die Identifikation und das Management von Stakeholdern und weiteren Anforderungsquellen essenziell um die Chance zu haben, alle Anforderungen vollständig zu erheben. Denn nur so kann das entwickelte System am Ende die Wünsche und Bedürfnisse der Stakeholder tatsächlich erfüllen.

Ebenso ist es wichtig, den Kontext eines Systems zu kennen und zu beobachten. Anforderungen an ein System sind in einem spezifischen Kontext definiert. Ändert sich der Kontext (und das macht er in der Regel häufig), können Anforderungen ungültig, fehlerhaft oder unverständlich werden. Besonders gut zu beobachten war und ist das in Ausnahmesituationen wie einer weltweiten Pandemie. Der Kontext änderte sich hier fast täglich. Also müssen auch die Anforderungen nahezu täglich neu bewertet und validiert werden. Aus diesen Kontextänderungen können natürlich auch neue Anforderungen entstehen oder Anforderungen obsolet werden.
In Projekten, die unter agilen Gesichtspunkten aufgesetzt sind, sind regelmäßige Anpassungen fester Bestandteil der agilen Prinzipien. Aber auch ein klassisches Projekt muss in bestimmten Situationen flexibel auf Kontextänderungen reagieren können.

Standardisiertes Vorgehen kann die Qualität der Ergebnisse deutlich verbessern

Das International Requirements Engineering Boards (IREB) hat es sich zur Aufgabe gemacht, dass Anforderungswesen zu standardisieren. Diese Standardisierung erhöht seit 2007 die Qualität des Requirements Engineerings im Allgemeinen und damit auch der Anforderungen im speziellen. Da sich auch die Anforderungen an das Requirements Engineering in den letzten Jahren geändert haben, gilt seit Oktober 2020 ein neuer überarbeiteter Lehrplan. Dieser wurde an den heutigen Stand der Praxis im Requirements Engineering angepasst und trägt auch dem Wandel der System- und Softwareentwicklung in Richtung Agilität Rechnung.

Die Integrata Cegos GmbH bietet zu dieser Standardisierung die Schulungen "IREB® Certified Professional for Requirements Engineering - Foundation Level" und "IREB® - Requirements Engineering Kompakt" an, die auf dem aktuellen offiziellen Lehrplan des IREB basieren.

Durch die Vermittlung von theoretischen Grundlagen werden Requirements Engineers für potentielle Gefahren sensibilisiert und lernen, häufige Fehler in der Dokumentation und Kommunikation zu vermeiden. Das IREB empfiehlt praxiserprobte Tools und Methoden für alle Aufgaben im Requirements Engineering.

Die Theorie in die Praxis transferieren

Eines ist sicher: In der Theorie kann man viel definieren. Aber ob das dann in der Praxis auch (noch) anwendbar ist, muss man regelmäßig überprüfen. Deshalb bietet die Integrata Cegos GmbH auch das Seminar "IREB® - Anwendung in der Praxis" an.
In diesem Seminar wird vermittelt, mit welchen konkreten Lösungsvorschlägen und Methoden die Qualität von Anforderungen erhöht werden kann. Mit Selbstüberprüfung und -verbesserung werden die Fähigkeiten und Fertigkeiten der Teilnehmer als Requirements Engineer kritisch hinterfragt und weiterentwickelt. Beim Verwalten von Anforderungen gibt dieses Seminar anhand von praxiserprobten Methoden wertvolle Hinweise. Unabhängig davon, ob es sich um das klassische/hybride Projektumfeld handelt, oder agiles Requirements Engineering benötigt wird

"The new normal" Requirements Engineering in verteilten Teams

Ein weiterer immer wichtigerer Punkt ist die geografisch verteilte Zusammenarbeit im Requirements Engineering. In vielen Projekten ist die remote-Zusammenarbeit der Stakeholder und/oder Teams inzwischen Normalität geworden. Dazu kommt, dass das Homeoffice immer mehr an Bedeutung gewinnt. Um Anforderungen trotzdem gemeinsam bearbeiten zu können, müssen wir uns von "alten" Methoden wie physischen Kärtchen mit Anforderungen an Sprint-Boards in Büros verabschieden. Nahezu jedes Projekt dokumentiert und verwaltet die Anforderungen mittlerweile in elektronischen Tools. Ein sehr verbreitetes Werkzeug ist hier Jira von Atlassian. In der Regel sind die Anwenderschulungen für die Nutzer in den Unternehmen jedoch sehr knapp gehalten (um es vorsichtig zu formulieren). Der Gedanke, dass Jira so intuitiv benutzbar ist führt oft dazu, dass die Anwender das volle Potential dieser Anwendung gar nicht kennen und damit auch nicht nutzen können. Auch hier kann ein Seminar der Integrata Cegos GmbH helfen. Für Jira-Anwender im Requirements Engineering gibt es die zweitägige Schulung "Jira - Einsatz im Requirements Engineering", die Grundlagen für die Nutzung zur Dokumentation und Verwaltung von Anforderungen vermittelt. Diese Grundlagen gehen aber weit über das hinaus, was in den meisten Unternehmen als Anwenderschulung angeboten wird. Vom Anlegen von Projekten über die Konfiguration von Arbeitsabläufen bis hin zur Erstellung von Individuellen Dashboards und Filtern wird mit praktischen Übungen der Umgang mit Jira geübt und gefestigt.