Requirements Engineering Methoden

Was bedeutet Requirements Engineering?

 

Requirements Engineering (RE) ist ein Prozess zur Ermittlung, Dokumentation, Validierung und Verwaltung von Anforderungen. Die Anwendung von RE bzw. Requirements Engineering Methoden findet derzeit insbesondere im Bereich Systems Engineering und bei der Softwareentwicklung statt. Die korrekte Identifikation und Definition der Anforderungen sind entscheidend für den Erfolg eines Projektes.

Die Zielsetzung von RE ist die Spezifizierung und Verwaltung von Anforderungen an Systeme, sodass diese die Bedürfnisse der Kunden bzw. Stakeholder erfüllen.

Beim RE bzw. bei der Anwendung von Requirements Engineering Methoden wird zwischen drei Anforderungsarten unterschieden:

  • Funktionale Anforderungen: Diese betreffen ein Ergebnis, welches durch eine bestimmte Funktion oder System erreicht werden soll.
  • Qualitätsanforderungen: Diese Anforderungen beziehen sich auf Qualitätsaspekte, welche sich nicht durch funktionale Anforderungen abdecken lassen (beispielsweise Leistung, Sicherheit oder Zuverlässigkeit).
  • Randbedingungen: Diese dienen in erster Linie zur Erfüllung der funktionalen Anforderungen und Qualitätsanforderungen.

In der Regel ist der erste Schritt im RE bzw. zur Durchführung von Requirements Engineering Methoden die Ermittlung der Anforderungen. Dies umfasst die Identifizierung der Anforderungen, die der Kunde oder Benutzer an die Software oder an das Produkt hat, sowie die Analyse und Kategorisierung dieser Anforderungen. Hierbei ist es wichtig, dass alle Stakeholder an diesem Prozess beteiligt werden, um sicherzustellen, dass die Anforderungen vollständig und korrekt erfasst werden.

Die Identifizierung von Anforderungen kann auf verschiedene Weise erfolgen. Einige häufig verwendete Requirements Engineering Methoden umfassen Interviews mit den Anwendern oder Kunden, die Durchführung von Umfragen, die Analyse von Geschäftsprozessen und die Analyse von Dokumentationen wie Handbücher oder Prozessstandards. Die Anforderungen können in verschiedenen Formen erfasst werden, einschließlich textbasierten Dokumenten, Diagrammen, tabellarischen Darstellungen oder anderen Requirements Engineering Methoden.

Nach der Erfassung der Anforderungen sind diese zu spezifizieren. Die Spezifikation der Anforderungen umfasst die Beschreibung der Anforderungen in einer formalen Sprache, die eindeutig und präzise formuliert sein muss. Dies kann anhand der Verwendung von Modellen, wie beispielsweise UML (Unified Modeling Language) oder SysML (Systems Modeling Language) Diagrammen, oder durch die Verwendung von strukturierten Texten erfolgen.

Ein weiterer Aspekt des Requirements Engineerings ist die Validierung der Anforderungen. Die Validierung umfasst die Überprüfung der Anforderungen, um sicherzustellen, dass diese korrekt und vollständig sind. Ziel ist es, sicherzustellen, dass alle Anforderungen mit den Bedürfnissen und Erwartungen der Benutzer oder Kunden übereinstimmen.

Neben der Validierung ist auch die Verwaltung der Anforderungen ein Bestandteil des Requirements Engineerings. Die Verwaltung umfasst die Organisation und Verfolgung der Anforderungen während des gesamten Entwicklungsprozesses. Dies kann durch die Verwendung von Anforderungsmanagement-Tools wie zum Beispiel Microsoft Azure, DevOps, Jira, DOORS und OpenProject erfolgen.

Beispiele für Requirements Engineering Methoden werden im Folgenden erläutert.

 

Was ist agiles Requirements Engineering?

 

Agiles Requirements Engineering ist ein Ansatz, der auf der agilen Softwareentwicklung basiert und sich auf die kontinuierliche Verbesserung und Anpassung der Anforderungen an eine Software fokussiert. Der Schwerpunkt des agilen RE liegt bei der Erfassung und Formulierung von flexiblen, leichtgewichtigen und iterativen Anforderungen, die während des gesamten Entwicklungsprozesses angepasst werden können.

Agiles RE setzt auf enge Zusammenarbeit zwischen den Stakeholdern und dem Entwicklungsteam, um sicherzustellen, dass die Anforderungen ständig validiert, priorisiert und angepasst werden. Es wird in der Regel auf der Grundlage von User Stories oder ähnlichen Requirements Engineering Methoden durchgeführt, die es den Stakeholdern ermöglichen, ihre Anforderungen in einer leicht verständlichen Sprache zu formulieren.

Requirements Engineering in agilen Projekten bzw. das Querschnittsfeld Agiles Projektmanagement kommt insbesondere für einen IT System Engineer zum Einsatz. Um ein umfassendes Verständnis zu gewinnen, ist demnach die Teilnahme an einem Projektmanagement Seminar sinnvoll.

 

Welche Requirements Engineering Methoden werden angewendet?

 

Es gibt verschiedene Requirements Engineering Methoden und Techniken, die bei der Ermittlung, Spezifikation, Validierung und Verwaltung von Anforderungen an Software oder andere Systeme eingesetzt werden können:

 

  • Interviews: Diese Engineering Requirements Methode beinhaltet das Befragen von Stakeholdern und Experten, um ihre Anforderungen und Erwartungen an das System zu ermitteln.

 

  • Workshops: Stakeholder und Entwicklungsteam werden zusammengebracht, um Anforderungen gemeinsam zu erarbeiten, Prioritäten zu setzen und ggf. Missverständnisse zu klären.

 

  • Use Cases: Use Cases sind eine der Requirements Engineering Methoden zur Spezifikation von Anforderungen, die sich auf die Beschreibung von Interaktionen zwischen Benutzern und dem System konzentrieren.

 

  • User Stories: User Stories sind kurze, informelle Beschreibungen von Anforderungen, die sich auf die Bedürfnisse von Benutzern konzentrieren und in der Sprache der Benutzer formuliert sind.

 

  • Prototyping: Diese Requirements Engineering Methode beinhaltet die Erstellung von Prototypen, um Anforderungen zu validieren und Feedback von Stakeholdern zu sammeln.

 

  • Brainstorming: In einer Brainstorming-Session werden Ideen gesammelt, um neue Anforderungen zu identifizieren und bestehende Anforderungen zu verbessern.

 

  • Dokumentenanalyse: Diese Requirements Engineering Methode beinhaltet die Analyse von vorhandenen Dokumenten wie Benutzerhandbüchern oder Spezifikationen, um Anforderungen zu identifizieren.

 

  • Survey: Surveys (Umfragen) können sowohl online als auch offline durchgeführt werden und können in verschiedenen Formaten wie beispielsweise Fragebögen oder Interviews gestaltet sein.

Requirements Engineering Methoden können bei Bedarf auch kombiniert werden.

Für die Seminar Vorbereitung zum Thema Requirements Engineering Methoden wird auf die Inhalte der Seite https://www.ireb.org/de/cpre verwiesen.

 

Welche agilen Ansätze gibt es im RE und für Requirements Engineering Methoden?

 

Agile Ansätze im RE bzw. in Requirements Engineering Methoden sind darauf ausgerichtet, die Zusammenarbeit zwischen den Entwicklern und den Benutzern oder Kunden zu verbessern, um sicherzustellen, dass das System die Anforderungen erfüllt:

 

  • Backlog Refinement: Backlog Refinement ist eine agile Requirements Engineering Methode, um sicherzustellen, dass das Backlog aktuell und klar ist. Die Anforderungen werden verfeinert und priorisiert.

 

  • Sprint Reviews: Sprint Reviews sind regelmäßige Meetings zwischen den Entwicklern und den Benutzern oder Kunden. In dessen Rahmen wird Feedback gesammelt und Anforderungen werden aktualisiert oder neu hinzugefügt.

 

  • Customer Collaboration: Die Zusammenarbeit mit dem Kunden ist ein zentraler Aspekt der agilen Requirements Engineering Methoden. Der Kunde wird in den Entwicklungsprozess eingebunden, um sicherzustellen, dass das System seinen Bedürfnissen und Anforderungen entspricht.

 

  • Einsatz geeigneter Requirements Engineering Methoden.

 

Wie kann ich für ein besseres RE sorgen, bzw. für die bessere Anwendung von Requirements Engineering Methoden?

 

Es gibt mehrere Möglichkeiten, wie ein besseres RE durchgeführt werden kann bzw. wie Requirements Engineering Methoden angewendet werden können:

 

  • Beteiligung der Stakeholder: Es ist zwingend erforderlich, die Bedürfnisse und Anforderungen aller Stakeholder zu verstehen, einschließlich der Benutzer, Kunden und Entwickler.

 

  • Dokumentation: Die Anforderungen müssen klar und eindeutig dokumentiert werden, um sicherzustellen, dass alle Beteiligten sie verstehen. Als Informationen sollten insbesondere die Priorität, die Verantwortlichkeit und die Abhängigkeiten dokumentiert werden.

 

  • Regelmäßige Überprüfung: Sie sollten sicherstellen, dass die Anforderungen regelmäßig überprüft und aktualisiert werden.

 

  • Verwendung von Tools: Es gibt verschiedene Tools, die helfen können, die Anwendung von Requirements Engineering Methoden zu verbessern, wie z.B. Anforderungsmanagement-Tools, Prototyping-Tools und Kollaborationstools.

 

  • Einsatz geeigneter Requirements Engineering Methoden.

Warum sind RE bzw. Requirements Engineering Methoden im Bereich Projektmanagement wichtig?

 

Durch RE bzw. durch die Anwendung von Requirements Engineering Methoden und Techniken kann insbesondere das Risiko verringert werden, dass ein fehlerhaftes System entwickelt wird. Des Weiteren bieten Requirements Engineering Methoden eine Grundlage für eine Aufwands- und Kostenabschätzung im Rahmen der Entwicklung.

 

————————————————————————————————————————————–

Quellen:

  1. International Requirements Engineering Board: “IREB Certified Professional for Requirements Engineering – Foundation Level” – Lehrplan Version 3.1.0, 2022.
  2. Glinz, M. et al.: „Handbuch für das CPRE Foundation Level nach dem IREB-Standard“, Version 1.1.0, 2022.
  3. De Gea, C. et al.: “Requirements Engineering Tools”. IEEE Software. 28 (4): 86–91, 2011.

Dick, J. et al.: “Requirements Engineering”, 4. Edition, Springer, 2017.

< Zurück zur Übersicht