Scrum im Sopra

Aus Das Sopra Wiki

Im Sopra wird das Vorgehensmodell Scrum in leicht vereinfachter Form angewendet. Anpassungen des Prozesses sind vor allem Vereinfachungen um für die Projektgröße übertriebenen Verwaltungsaufwand zu vermeiden, Änderungen um die in Scrum beschriebenen Artefate auf Gitea zu übertragen, und die auf den Prozess aufgesetzten Zulassungskriterien.

Scrum-Artefakte in Gitea[1][2]

  • Ein Sprint wird in Gitea durch einen Milestone (Issues -> Milestones) dargestellt. Die Gitea-Milestones bekommen dann den Namen Sprint<woche> (Beschreibung) also zum Beispiel Sprint00 (Hausaufgabe).
  • Das Product Backlog besteht in Gitea aus allen Items (Issues) die noch keinem Sprint zugeordnet wurden.
  • Eine User Story ist ein Issue dem das Label user story zugewiesen wurde. Zu jedem Sprint planning sollten alle User Stories außerdem ein Label für die Priorität (prioritiy: high,...) haben.
  • Ein Task ist ein Issue ohne spezielle Labels.
  • Ein Sprint Backlog besteht aus allen Items die einem Sprint zugewiesen wurden (Issues -> Milestones -> <Sprintname>). Alle Items im Sprint Backlog müssen eine Priorität (normalerweise prioritiy: high) und eine Aufwandsabschätzung haben (z.B.: estimate: 2,...).

Das Git-Repository verwendet mindestens zwei Branches:

  • Master: Hier wird das Spiel aktiv entwickelt.
  • Release: Hier wird jeweils die Arbeit für einen abgeschlossenen Sprint mittels Pull-Request veröffentlicht. Dieser Branch (nur dieser) wird dazu verwendet die Arbeit der Sprints und das Spiel zu bewerten und repräsentiert den aktuellsten auslieferbaren Stand des Produkts.

Backlog Items und Kooperation im Sopra

Die Arbeit im Sopra wird durch items im Product Backlog und Sprint backlog organisiert. Jedes Item im Sprint Backlog wurde im Sprint Planning für den Sprint ausgesucht und die notwendige Arbeitszeit um das Item gemäß DoD fertig zu stellen wurde geschätzt. Folgende Aufgaben sollten im Sprintbacklog geplant werden:

  • Arbeit am Spiel (z.B.: programmieren; das Suchen, Erstellen und Integrieren von Assets; recherche von Algorithmen usw.)
  • Arbeit am Spieldesign (z.B.: schreiben am GDD und recherche über die Problemdomäne, gemeinsame Ideenfindung usw.)
  • Qualitätsicherung (z.B.: wiederkehrende Aufgaben wie Clean Code und Architekturplanung usw.)
  • Organisationsaufgaben (z.B.: Product Owner taks, kontakt mit den Kundenvertretern usw.)
  • Coaching (z.B.: Pair Programming, andere Gruppenmitglieder unterstützen, Präsnetationen vorbereiten und üben)

Einzig Vorlesungen, Präsentationen und die wöchentlichen Treffen sind bereits von der notwendigen Stundenzahl abgezogen und sollen nicht noch zusätzlich als Backlog Items erstellt werden.

Abweichungen vom Scrum Modell im Sopra

In Scrum ist es üblich, Aufgaben in verschiedenen Granularitätsstufen zu beschreiben, darunter die Beschreibungen einzlener Funktionen aus der Benutzersicht, die sogenannten User Stories, die wiederum in einzelne Teilaufgaben, die Tasks zerlegt werden. Um den Prozess im Sopra möglichst überschaubar zu halten, weichen wir von diesem Modell wie folgt ab:

  • Im Sopra liefert das das GDD in dem allermeisten Fällen eine Ausreichende Beschreibung der Spielfreatures (vergleichbar mit User Stories). Im Sprint Planning werden die Tasks deshalb meistens direkt vom GDD abgeleitet.

References