W04 Anforderungen
Anmerkung: Die Inhalte des Dokuments sind für 2025 überarbeitet aber Änderungen sind weiterhin vorbehalten.
Änderungen
2025-11-11
Erwähne mehrere Anforderungen pro Akzeptanzkriterium
Klarstellen, dass Anforderungen zur Organisation/Strukturierung dienen
Anforderungen und Anforderungsmanagement
- Was sind Anforderungen?
Anforderungen beschreiben die gewünschten Funktionen, Merkmale oder Eigenschaften eines Systems aus der Sicht des Auftraggebers. Sie dienen zur Strukturierung von Iterationen, Planung, und verfolgen von Fortschritt. Anforderungen bilden eine Art "Vertrag zwischen Auftraggeber und Team".
- Ziele von Anforderungen:
Dokumentation und Gedächtnisstütze für Team und Auftraggeber.
Grundlage für die Planung, Umsetzung und Abnahme von Arbeitsergebnissen.
Sicherstellung, dass das Team die richtigen Dinge entwickelt.
Wesentliche Bestandteile einer Anforderung
- Beschreibung der Anforderung:
Sollte die Aufgabenstellung verständlich und nachvollziehbar darlegen.
Bewährtes Format (User Story): „Als <Benutzerrolle> will ich <das Ziel> [, so dass <Grund für das Ziel>]“.
Priorität sollte aus der Beschreibung oder Metadaten ersichtlich sein.
Muss kleinteilig genug sein, damit mehrere pro Iteration bearbeitet werden können.
Sollte Mehrwert für die Projektziele bieten.
Beachte auch nicht-funktionale Anforderungen (z.B. Sicherheitsstandards, Laufzeitumgebung).
- Akzeptanzkriterien:
Prüfbar formulierte Kriterien, die die Vollständigkeit und korrekte Umsetzung der Anforderung beurteilen.
Dienen als Grundlage für die Abnahme durch den Auftraggeber.
Eine Anforderung kann mehrere Akzeptanzkriterien haben.
- Geschätzter Aufwand (Story Points):
Abstrakte Aufwandsschätzung, basierend auf der erwarteten Komplexität im Vergleich zu anderen Anforderungen.
Verwendet oft Skalen wie Fibonacci-Zahlen (0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ∞, ☕, ?).
Die Schätzung ist relativ zu anderen Anforderungen.
Methode: Pointing Poker (jeder schätzt für sich, dann Konsensbildung durch Diskussion abweichender Meinungen).
- Tatsächlicher Aufwand in Zeitstunden:
Der tatsächlich benötigte Arbeitsaufwand nach Implementierung.
Abweichungen zwischen geschätztem und tatsächlichem Aufwand sind normal (anfangs mehr, später weniger).
Abweichungen sollten im Projektverlauf geringer werden.
- Velocity
(Story Points pro Stunde / pro Iteration)
Ein Maß für die Arbeitsgeschwindigkeit des Teams.
Berechnet sich im Nachhinein aus dem Verhältnis von tatsächlichem Aufwand (Stunden) und Story Points oder Story Points pro Iteration.
- Status:
Implementiert? In welcher Iteration?
Durch Auftraggeber:in abgenommen?
Anforderungen können bei der Implementierung in Tasks untergliedert werden. Die Aufteilung in Tasks liegt in der Verantwortung der Gruppe.
Anforderungsmanagement
- Wer erstellt Anforderungen?
Das gesamte Team sammelt Anforderungen. Es gibt keine Trennung zwischen "Entwickler:innen" und "Menschen, die Anforderungen sammeln".
Anforderungen basieren auf Input vom Auftraggeber, von potenziellen Nutzern oder werden eigeninitiativ erstellt.
Werden vom Team erstellt, aber vom AG abgenommen.
- Dokumentation von Anforderungen:
Anforderungen müssen dokumentiert sein.
Geeignete Formate: User Stories, Issues, Tasks, Cards, Prototypen/Mockups.
Wichtig: Nutzt Formate, die mit euren Werkzeugen funktionieren! (Z.B. Google Docs, Projektmanagement-Systeme wie Jira, Trello, Azure DevOps).
Beispiel
- Anforderung 101: Nutzersymbole
Akzeptanzkriterium: Die Spieler werden auf der UI mit farblich unterscheidbaren Symbolen dargestellt.
Geschätzter Aufwand: 1 Punkt.
Tatsächlicher Zeitaufwand: (noch offen)
FAQ
Können wir die vorgegebenen Attribute für die Anforderungen erweitern?
Ja. Die vorgegebenen Attribute stellen die Informationen dar, die jede Anforderung mindestens enthalten soll. Sofern es euch sinnvoll erscheint, könnt ihr also weitere Attribute hinzufügen und die Anforderungen so an euer Projekt anpassen.
Wir haben teilweise eine Velocity von 0. Ist das ein Problem?
Während der Einarbeitungsphase oder über die Weihnachtspause kann es durchaus vorkommen, dass innerhalb einer Iteration keine Anforderungen abgeschlossen werden. Es ist daher kein Problem und grundsätzlich kein Anlass für eine negative Bewertung, sollte die Velocity einer Iteration mal 0 betragen.