i

Voraussetzungen

Was will man WIRKLICH haben?

Kundengespräch

Voraussetzungen wofür?

Bevor ein Projekt genauer geplant werden kann, muss man zunächst herausfinden, was genau man eigentlich braucht, also die Voraussetzungen analysieren. Eine solche Voraussetzungsanalyse hast du selbst bestimmt auch schon mehrfach durchgeführt, zum Beispiel wenn du dir ein neues Smartphone oder einen neuen PC gekauft hast. Vielleicht hast du dir ein Smartphone mit einer möglichst guten Kamera ausgesucht oder einem besonders hochauflösenden Display. In diesem Fall waren Kamera oder Display deine Voraussetzungen, stellen also das mit der Anschaffung zu erreichende Ziel dar. In der Software-Entwicklung geht man ähnlich vor, jedoch strukturiert man die Voraussetzungsanalyse präziser. Zunächst geht es also darum herauszufinden, welche Features der Kunde erwartet, welche er braucht (nicht immer das gleiche!) und vor allem, was der Kunde sich von der Software genau verspricht. Ohne eine solche Analyse wüsste kein Entwickler, was er zu tun hat.

Was der Kunde denkt und was der Kunde will

Voraussetzungen müssen insbesondere bei Projekten ohne Scrum klar und deutlich kommuniziert sein. Ein gutes Beispiel dafür ist die Exact Instructions Challange aus dem Kommunikationsteildes Kapitels. Dies ist insbesondere deshalb in der Software-Entwicklung problematisch, weil Kunden in der Regel kein tiefgreifendes Verständnis für Software mitbringen. Kunden wissen nicht, was sie WIRKLICH brauchen, auch wenn sie das Gegenteil davon glauben und noch zahlreiche Zusatz-Features verlangen, die sie niemals benutzen würden. [1] Diesen Effekt nennt man auch Goldplating.

Voraussetzungen müssen also nicht nur erkannt, sondern auch validiert, evaluiert und priorisiert werden. In der Regel kann man ja nicht alle auf einmal implementieren und hat wenig Budget für Fehltritte. Wie du in den Aufgaben der letzten Seite sicher erkannt hast, ist eine unzureichende Voraussetzungsanalyse ein häufiger Grund für das Fehlschlagen eines Software-Projektes. Es ließe sich alleine über das Management von Voraussetzungen bereits ein eigenes Kapitel schreiben, in den folgenden Seiten soll daher vor allem deren Umsetzung in Scrum-Projekten beleuchtet werden.

Aufgabe 1

Requirements Engineering gibt es wie bereits angesprochen nicht nur in der Software. Wir nehmen an, euer Kurs hat die Möglichkeit dank unglaublicher Fähigkeiten künstlicher Intelligenz einen neuen, künstlich intelligenten Sportlehrer zu designen. Überlege dir Anforderungen, die du an einen optimalen Sportlehrer stellen würdest. Sammelt anschließend alle eure Anforderungen an der Tafel.

Aufgabe 2

Dein Budget für die Umsetzung ist begrenzt! Du musst entscheiden, welche deiner Anforderungen dir am wichtigsten sind. Die werden dann zuerst entwickelt. Eine beliebte Methode Voraussetzungen zu priorisieren, ist das Spielgeldsystem. Jeder von euch bekommt dazu 10 Tafelstriche virtuelles Spielgeld. Diese 10 Tafelstriche verteilt jeder beliebig auf die gesammelten Anforderungen. Je mehr Tafelstriche pro Anforderung, desto wichtiger ist sie.

Quellen

Suche

v
9.3.4.2
www.inf-schule.de/software/scrum/planung_requirements/requirements
www.inf-schule.de/9.3.4.2
www.inf-schule.de/@/page/phdlZGuEOHxV02Jg

Rückmeldung geben