Agiles Requirements Engineering: Grundlagen und Unterschiede zum klassischen Ansatz

Inhalte
Agiles Requirements Engineering: Grundlagen, Unterschiede zum klassischen Ansatz und häufige Fragen
In agilen Methoden ist das Requirements Engineering nicht explizit festgelegt. Doch spielt es eine Rolle in der Entwicklung? Ja, allerdings erfolgt es iterativ und kontinuierlich während des gesamten Entwicklungsprozesses.
[DEFINITION][Scrum][Scrum ist eine der bekanntesten agilen Methoden und hat sich als Framework für die Entwicklung komplexer Produkte bewährt. Das zentrale Prinzip „Inspect and Adapt“ wird durch regelmäßige Events wie Daily Scrums, Sprint Reviews und Retrospektiven sowie durch kurze Feedback-Zyklen umgesetzt, sodass Teams kontinuierlich ihre Prozesse und Ergebnisse überprüfen und gezielt verbessern können.]
Arbeitsergebnisse werden regelmäßig überprüft, und bei Bedarf werden sowohl das Produkt als auch der Arbeitsprozess angepasst, um kontinuierliche Verbesserungen basierend auf neuen Erkenntnissen oder veränderten Bedingungen zu ermöglichen.
Obwohl bei der erfolgreichen Entwicklung komplexer Produkte die Erhebung und Konsolidierung von Anforderungen eine wichtige Rolle spielen, ist die Integration von Requirements Engineering (RE) in agile Methoden von Interesse. Wo genau benötigen agile Methoden Requirements Engineering und wie gestaltet sich diese Integration?
Um diese Fragen zu beantworten, untersuchen wir zunächst die Rolle des Requirements Engineering in traditionellen Vorgehensmodellen, bevor wir die Herausforderungen und Chancen der Integration in den agilen Kontext beleuchten.
Requirements Engineering in traditionellen Vorgehensmodellen
Traditionelle Vorgehensmodelle strukturieren den Entwicklungsprozess in klar definierte Phasen mit festgelegten Zeitrahmen. Die Reihenfolge dieser Phasen, die enthaltenen Aktivitäten und die Zuständigkeiten sind im Vorgehensmodell festgelegt.
[DEFINITION][Requirements Engineering in klassischen Vorgehensmodellen][Im klassischen Ansatz findet das Requirements Engineering üblicherweise zu Beginn des Prozesses statt. Hier werden die Anforderungen an das zu entwickelnde System umfassend erhoben, abgestimmt und dokumentiert, noch bevor mit der eigentlichen Implementierung begonnen wird. Anschließend folgen weitere Phasen wie das Systemdesign, die Implementierung und der Test. Dies bedeutet, dass alle Anforderungen detailliert spezifiziert sind, bevor die Umsetzung beginnt.]
Requirements Engineering in agilen Projekten
[DEFINITION][Agiles Requirements Engineering][In agilen Projekten steht zunächst die Entwicklung eines Minimum Viable Product (MVP) im Vordergrund. Das MVP ist eine erste Version des geplanten Produkts mit den grundlegendsten Funktionen, um ein Kundenbedürfnis zu erfüllen. Weitere Anforderungen werden in nachfolgenden Iterationen identifiziert und entsprechend ihrer Priorität umgesetzt. Auf diese Weise kann agil und zügig auf neue Kundenanforderungen und sich ändernde Rahmenbedingungen reagiert werden. Im agilen Kontext gibt es keine eigene Phase für die Analyse von Anforderungen.]
Doch wo und wann finden die Hauptaktivitäten des Requirements Engineerings wie die Ermittlung, Dokumentation, Überprüfung, Abstimmung und Verwaltung von Anforderungen genau statt?
- Anforderungsermittlung
Die Verantwortung für die Ermittlung von Anforderungen liegt beim Product Owner (PO). Er interagiert mit den relevanten Interessengruppen und erfasst ihre Bedürfnisse und Anforderungen. Diese werden oft als User Stories im Product Backlog festgehalten. Die Ermittlung ist eine fortlaufende Aufgabe, die über den gesamten Entwicklungszeitraum des Produkts hinwegerfolgt. Im Rahmen von Refinement-Meetings werden die User Stories mit dem Team diskutiert, gegebenenfalls angepasst und verfeinert. Wenn eine User Story ausreichend priorisiert und für den nächsten Sprint geplant ist, präsentiert der PO sie im Sprint Planning Meeting dem gesamten Team. Dabei können weitere Anforderungen identifiziert oder verfeinert werden.
- Dokumentation von Anforderungen
Die Dokumentation einer Anforderung beginnt bereits mit dem Hinzufügen einer User Story zum Product Backlog und der Ergänzung um Akzeptanzkriterien. Neben individuellen Akzeptanzkriterien existieren allgemeine Kriterien, die für alle Anforderungen gelten und beispielsweise den Qualitätsstandard des Teams darstellen. Diese werden in einer separaten Definition of Done (DoD) festgehalten, die für das gesamte Team verbindlich ist. Je nach Komplexität einer Anforderung kann sich währen deines Refinement- oder Sprint-Planning-Meetings herausstellen, dass zusätzliche strukturierte Dokumentationen sinnvoll sind, wie Kontext- oder Zustandsdiagramme, Aktivitätsdiagramme oder Klassendiagramme. Das Product Backlog umfasst Anforderungen auf einer hohen Abstraktionsebene in Form von User Stories. Diese werden erst detailliert und verfeinert, wenn sie für die nächste Iteration ausgewählt werden. Obwohl der Product Owner die Verantwortung für das Product Backlog trägt, können Business Analysten und Entwickler aus dem interdisziplinären Team den PO beim Erstellen und Verfeinern von User Stories unterstützen.
- Prüfung und Abstimmung
Die Überprüfung und Abstimmung von Anforderungen ist von entscheidender Bedeutung, um ein gemeinsames Verständnis zu gewährleisten. Bereits während der Erstellung von User Stories erfolgt eine erste Abstimmung der erfassten Anforderungen mit allen relevanten Interessengruppen. Dieser Prozess wird auch während der Refinement-Meetings und Sprint-Planungssitzungen mit dem Team durchgeführt, um ein einheitliches Verständnis der Inhalte zu erlangen und die erforderliche Klarheit für die Umsetzung der Anforderungen sicherzustellen.
- Anforderungsverwaltung
In einem agilen Projekt werden Anforderungen fortlaufend erfasst und verfeinert, wodurch sich das Product Backlog kontinuierlich verändert. Es erfordert daher eine kontinuierliche Pflege und Verwaltung, um es auf dem neuesten Stand zu halten. Backlog Management ist eine fortlaufende Aufgabe, um das Product Backlog zu pflegen. Gleiches gilt für das Sprint Backlog, das den aktuellen Stand der Arbeiten im laufenden Sprint widerspiegeln soll. Im Unterschied zum Product Backlog liegt die Verantwortung für das Sprint Backlog jedoch beim Team.
Fazit agiles Requirements Engineering
Requirements Engineering behält in agilen Umgebungen die gleiche Bedeutung wie in traditionellen Ansätzen. Da sich Anforderungen in agilen Kontexten kontinuierlich entwickeln können, wird das Requirements Engineering iterativ und während des gesamten Entwicklungsprozesses durchgeführt.
Anstelle von umfangreichen Anforderungsdokumentationen treten leichtgewichtigere Ansätze wie Backlogs, User Stories und Story Maps.
Agilität und Flexibilität sollten nicht als Entschuldigung für unzureichendes Requirements Engineering oder einen unstrukturierten, ad-hoc-basierten Ansatz der Anforderungserfassung dienen.
IREB® Requirements Engineering Schulung und Zertifizierung
Die standardisierte Requirements Engineering Methodik von IREB® schafft bei allen Projektbeteiligten ein einheitliches Verständnis – und legt so die Grundlage für nachhaltigen Projekterfolg. Mit unseren IREB®-Schulungen baust du alle Kompetenzen auf, die du für professionelles, standardisiertes und agiles Requirements Engineering brauchst. Unsere praxisnahen Kurse bereiten dich optimal auf deine IREB®-Zertifizierung vor. Buche jetzt deinen IREB® Requirements Engineering Kurs.
[PRODUCT][1]
Wichtige und häufige Fragen rund um agiles Requirements Engineering
Was ist agiles Requirements Engineering?
Agiles Requirements Engineering bezeichnet die kontinuierliche Erhebung, Dokumentation, Prüfung und Verwaltung von Anforderungen in agilen Projekten. Anders als im klassischen Ansatz werden Anforderungen iterativ und flexibel während des gesamten Entwicklungsprozesses angepasst und verfeinert.
Wie unterscheidet sich agiles von klassischem Requirements Engineering?
Im klassischen Requirements Engineering werden Anforderungen zu Beginn des Projekts vollständig definiert und dokumentiert. Im agilen Kontext erfolgt die Anforderungserhebung und -dokumentation hingegen fortlaufend und iterativ, meist in Form von User Stories im Product Backlog.
Warum ist Requirements Engineering auch in agilen Projekten wichtig?
Requirements Engineering sorgt für ein gemeinsames Verständnis der Anforderungen und stellt sicher, dass das Produkt die tatsächlichen Bedürfnisseder Nutzer erfüllt. Auch im agilen Umfeld ist eine strukturierte Herangehensweise entscheidend, um Qualität und Projekterfolg zu gewährleisten.
Was sind die größten Vorteile des agilen Requirements Engineering?
Die wichtigsten Vorteile sind Flexibilität, schnelle Anpassungsfähigkeit an Veränderungen und eine kontinuierliche Verbesserung des Produkts. Durch regelmäßiges Feedback und iterative Entwicklung können Kundenwünsche besserberücksichtigt werden.
Welche Tools unterstützen agiles Requirements Engineering?
Beliebte Tools sind Jira, Trello, Azure DevOps oder Confluence. Sie helfen dabei, Backlogs zu verwalten, User Stories zu dokumentieren und die Zusammenarbeit im Team zu fördern. Lerne mit unseren praxisbezogenen Trainings zu Jira und Confluence, wie du die Grundlage für selbstorganisierte und agile Strukturen schaffst.