Requirements Engineering


IHR ANSPRECHPARTNER:
FLORIAN NEUNER
Tel. +49 (0)89 / 610 490
florian.neuner@if.de
DIE NEUE ART DES
REQUIREMENTS ENGINEERING
Requirements Engineering meint die Ermittlung, Analyse und Spezifikation aller Anforderungen, die für die passgenaue Entwicklung eines Softwaresystems nötig sind. Kunde und Auftragnehmer, insbesondere das entwickelnde Team, haben dadurch alle dasselbe Verständnis über die Software und die Anforderungen an sie.
Wohl definierte Requirements und ein kontinuierliches Überprüfen derselben im agilen Entwicklungsprozess sind essenziell für den Projekterfolg und sorgen für eine hohe Ergebnisqualität über den gesamten Projektverlauf.


UNSERE LEISTUNGEN
- Erhebung: Methodische Identifikation der spezifischen Anforderungen aus allen verfügbaren Quellen (z.B. Dokumente, Stakeholder, Systeme).
- Dokumentation: Konsistente und kontinuierlich aktuelle Erfassung aller relevanten Ergebnisse.
- Verifizierung und Priorisierung: Detaillierte Prüfung und Beurteilung der Ergebnisse durch die Projektteams und formelle Abnahme durch den Bedarfsträger.
- Anforderungsmanagement: Implementierung von (Dokumentations-)Prozessen, die am Ende des Projektzyklus als Grundlage für die Erstellung von Testfällen dienen.
GRENZEN KLASSISCHER METHODEN
Am Anfang war der Wasserfall – Jedes Softwareentwicklungsprojekt beginnt mit der Analyse der Anforderungen.
Nach klassischen Projektmanagement-Methoden sollen zunächst sämtliche Anforderungen vollständig erfasst und dokumentiert werden, damit die Entwicklungs- und Testphasen überhaupt beginnen können.
So weit, so gut. Doch die Erfahrung zeigt, dass sich Anforderungen im Entwicklungsverlauf verändern. Hier stoßen klassische Modelle an ihre Grenzen.




AGILE ENTWICKLUNGSMETHODEN
Agile Entwicklungsmethoden adressieren in Teilen dieses Problem und erlauben die Veränderung der Requirements auch während des Projektverlaufs. Super?
Generell ja. Aber Anpassungen der Softwareanforderungen während des Projekts sollten detailliert dokumentiert werden, um stets ein Verständnis darüber zu haben, was, wann und warum geändert wurde.
DOKUMENTATION
Genau das sieht die agile Entwicklung jedoch nicht in der notwendigen Ausprägung vor. Anstelle ausführlicher Beschreibungen dominieren hier kurze User Stories, die zwar die Flexibilität und Agilität eines Entwicklungsprojekts signifikant steigern, eine ausreichende historische Evidenz häufig aber nicht zulassen.




VERWALTUNG VON USER STORIES
Modernes Anforderungsmanagement setzt genau hier an und bringt das Beste beider Welten zusammen. Das Erstellen und Verwalten von User Stories mit innovativen Tools (z. B. Jira), kombiniert mit klassischen Spezifikationen, führt zu einer neuen Art des Requirements Engineering.
Flexibles Anpassen der Anforderungen im Projektverlauf bei gleichzeitiger kausaler und zeitlicher Nachvollziehbarkeit der Veränderungen werden damit möglich – und zum neuen Standard.
AKTUELLE THEMEN
-
19. Juni 2017Stellt man sich den Alltag von Softwareentwicklern vor, reiht sich meist Klischee an Klischee. Dunkle Arbeitszimmer, ungesunde Softdrinks, viel Nerd-Stuff und wenig Arbeit. Doch dieses Bild ist nicht mehr als eine Ansammlung blanker Vorurteile. Die Wirklichkeit sieht anders aus: Entwickler brauchen nicht nur eine hohe Frustrationstoleranz, sondern müssen vielseitig denken und arbeiten. Höchste Zeit also, den Alltag eines Entwicklers mal realitätsnah zu beschreiben.