Jedes Produkt oder Projekt beginnt mit einer Anforderungsliste. Sie bildet im klassischen Projektmanagement das gemeinsame Verständnis, was entwickelt resp. produziert werden muss. Einige Anforderungen sind von Anfang an bekannt, andere ergeben sich erst im Verlauf der Erarbeitung.
Wie schafft man es, die Anforderungen sauber im Voraus zu planen, dass die Kund:innen wissen, welche Bedürfnisse die User ihrem Produkt gegenüber haben? Hier bietet sich das vorgängige Requirements Engineering an.
“Requirements Engineering ist das systematische Vorgehen beim Spezifizieren und Verwalten von Anforderungen an ein System, ein Produkt oder eine Software”. Requirements Engineering ist in allen klassischen Entwicklungsvarianten ein zentraler Schritt in der Erhebung der Spezifikation, welche in den Anforderungskatalog geschrieben werden. Dieser Katalog bildet die Grundlage für die Business Anforderungen und definiert den Gesamtumfang des Systems. Basierend darauf schätzt das Entwicklungsteam den Aufwand für die Umsetzung und somit auch den Preis.
Im klassischen
Wasserfall-Projekt
werden
die Anforderungen nach Projektstart nicht mehr angefasst und alles wird wie besprochen abgearbeitet. Änderungen sind nicht vorgesehen. Dies kann damit enden, dass die Anforderungen im Lastenheft nach Abschluss des Projekts die Bedürfnisse der Nutzer nicht mehr deckt. Hier entstehen Diskussionen, Änderungsprozesse und im schlimmsten Fall Unzufriedenheit auf allen Seiten. Die Erfahrung zeigt, je schnelllebiger die Zeit, umso wichtiger ist es, auf geänderte Vorzeichen rasch eingehen zu können. Deshalb verfolgen wir bei der YOO das Prinzip des agilen Requirements Engineerings.
Nachdem unsere Kund:innen Spezifikationen und Anforderungen niedergeschrieben haben, dreht sich die Welt weiter. Die Konkurrenz lanciert ein ähnliches Produkt, eine Pandemie verändert das Zusammenleben von heute auf Morgen. Mit starren Vorgaben werden Sie auch bei perfekter Vertragserfüllung seitens der Entwickler nicht glücklich. Was tun?
Simon Sinek spricht in seinen Keynotes oft über das Infinite Game, also das endlose Spiel. Während im endlichen Spiel vorgesteckte Ziele nach festgelegten Regeln erreicht werden und dieses irgendwann zu Ende geht, geht das unendliche Spiel davon aus, dass es nie gewonnen werden kann, sondern man kontinuierlich arbeitet und das Spiel am Laufen hält.
Dieses Prinzip ist speziell bei digitalen Wertschöpfungsketten essenziell für das Überleben des Produkts. Die Schnelllebigkeit der digitalen Welt erlaubt keinen Stillstand. Ein Produkt ist heute schneller ersetzt als früher. Daher ist das agile Requirements Engineering dem klassischen Requirements Engineering voraus: Es ist nicht nur eine Phase, sondern ein konstanter Teil der Entwicklung, sowohl im Konzept wie auch in der Software. Wie im Infinite Game ist es mit einer einmalig festgehaltenen Spezifikation nicht zu Ende. Eine konstante Evaluierung resp. Anpassung der Ziele und die entsprechende Anpassung der Anforderungen an die Ziele erlaubt es, sich flexibel um die Bedürfnisse der User zu kümmern. Mehr dazu lesen Sie in unserem Blog-Post Iterativ in Schritten zum Ziel.
Die Entwicklung wird nicht durch ein fertiges Dokument gesteuert und gebremst, sondern weiter gewartet, aktualisiert und fortlaufend den aktuellen Bedürfnissen der Nutzer:innen angepasst. Diese wichtigen Aufgaben übernimmt ein Product Owner.
Zudem ermöglichen inkrementelle Produktergebnisse schnelles User-Feedback. So können die aktuellen Bedürfnisse eingeholt werden. Und am wichtigsten -
unser Ohr ist immer offen für die Inputs und Änderungswünsche unserer Kund:innen. Diese Wünsche können im agilen Umfeld schneller und ohne viel Diskussions-Brimborium in den Entwicklungsprozess eingebracht werden.
So leben wir Agilität!
Bildquelle: https://hourigan.ie/