Ablauf: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 4: | Zeile 4: | ||
Das Softwarepraktikum verwendet [[Scrum]] als Vorgehensmodell für die Softwareentwicklung und ist daher in insgesamt 13 [[Sprint]]s (1 [[Sprint]] pro Woche) unterteilt. | Das Softwarepraktikum verwendet [[Scrum]] als Vorgehensmodell für die Softwareentwicklung und ist daher in insgesamt 13 [[Sprint]]s (1 [[Sprint]] pro Woche) unterteilt. | ||
== Wöchentliches Gruppentreffen == | == Wöchentliches Gruppentreffen mit Tutor == | ||
Jeder [[Sprint]] beginnt und endet am wöchentlichen Gruppentreffen, das wie ein [[Scrum-Meeting]] organisiert ist. In diesem Treffen wird der letzte Sprint besprochen und der nächste Sprint geplant. | Jeder [[Sprint]] beginnt und endet am wöchentlichen Gruppentreffen, das wie ein [[Scrum-Meeting]] organisiert ist. In diesem Treffen wird der letzte Sprint besprochen und der nächste Sprint geplant. | ||
Dazu ist das Treffen in 3 Teile unterteilt. | Dazu ist das Treffen in 3 Teile unterteilt. | ||
Zeile 48: | Zeile 48: | ||
* Was wird bis zum nächsten Meeting gemacht? | * Was wird bis zum nächsten Meeting gemacht? | ||
* Was für Probleme gibt es, die die aktuellen Aufgaben behindern? | * Was für Probleme gibt es, die die aktuellen Aufgaben behindern? | ||
{{BA|Dietsch|Alleine arbeiten: Auf Code-Qualität achten [[Clean Code]], Abschätzungen korrigieren und kommunizieren (auch wegen Punkten), ... }} | |||
== High-Level Ablauf im Sopra == | == High-Level Ablauf im Sopra == |
Version vom 28. April 2014, 17:35 Uhr
Das Softwarepraktikum verwendet Scrum als Vorgehensmodell für die Softwareentwicklung und ist daher in insgesamt 13 Sprints (1 Sprint pro Woche) unterteilt.
Wöchentliches Gruppentreffen mit Tutor
Jeder Sprint beginnt und endet am wöchentlichen Gruppentreffen, das wie ein Scrum-Meeting organisiert ist. In diesem Treffen wird der letzte Sprint besprochen und der nächste Sprint geplant. Dazu ist das Treffen in 3 Teile unterteilt.
Sprint Review (max. 30min)
- Product Owner gibt basierend auf DoD Einschätzung ab, was fertig und was nicht fertig ist.
- Team zeigt, was alles fertig geworden ist und beantwortet Fragen zum Fortschritt.
- Team erklärt dabei, was es für Probleme gab und wie diese gelöst worden sind.
- Product Owner erklärt den aktuellen Stand des Product Backlogs und speziell Änderungen an der Aufwandsabschätzung.
Sprint Planning (max. 60min)
- Was wird im nächsten Sprint gemacht? Product Backlog anschauen, von oben nach unten (PO sollte es geordnet haben). An die Recurring Tasks denken.
- Wer erledigt von den ausgewählten Dingen was (Arbeitsverteilung)?
Wiederkehrende Aufgaben
Während des Semesters kann es sinnvoll sein, folgende Aufgaben in jedem Sprint immer wieder neu zu verteilen:
- Product Owner (ab Woche 2)
- Pflegen und Anpassen von Requirements und User Stories im Product Backlog.
- Verfeinern von Requirements zu User Stories.
- Requirements nach Entwicklungsreife ordnen.
- Gruppentreffen vorbereiten (was ist fertig, wie war die Aufwandsabschätzung).
- Architektur (ab Woche 3)
- Schnittstellen definieren
- Architekturbeschreibungen pflegen
- Einhaltung der Architektur sicherstellen
- Qualitätssicherung (ab Woche 6)
- Code auf Clean-Code Richtlinien prüfen.
- Code Reviews vorbereiten
- ReSharper Konformität herstellen
Sprint Retrospective (max. 15min)
- Diskutieren, was im letzten Sprint im Hinblick auf Menschen, Beziehungen, Prozesse, Tools gut bzw. schlecht gelaufen ist.
- Wo muss etwas verändert oder verbessert werden, damit besser gearbeitet werden kann?
- Plan erstellen, wie diese Änderungen im nächsten Sprint umgesetzt werden können.
Arbeitsorganisation
Außerhalb des offiziellen Gruppentreffens ist es sinnvoll zu versuchen, weitere feste Treffen zu vereinbaren, an denen gemeinsam an der Umsetzung des Spiels gearbeitet werden kann. Oftmals reicht es auch schon, gemeinsame Zeiten zu vereinbaren in denen man von Zuhause aus arbeitet, sich aber gegenseitig über synchrone Kommunikationsmedien (Skype, IRC, Instant Messaging,...) erreichen kann.
Bei diesen Treffen ist es sinnvoll, zuerst ein Daily-Scrum zu machen. Ein Daily-Scrum ist ein Scrum-Meeting, das max. 15min dauert und bei dem jeder Teilnehmer folgende Fragen beantwortet, ohne das andere Teilnehmer Rückfragen stellen oder Kommentare abgeben:
- Was wurde seit dem letzten Meeting gemacht?
- Was wird bis zum nächsten Meeting gemacht?
- Was für Probleme gibt es, die die aktuellen Aufgaben behindern?
High-Level Ablauf im Sopra
- 13 Wochen, organisiert nach Scrum
- Wöchentliche Scrum-Meetings (Tutorentreffen)
- Regelmäßige Präsentationen (Vorführung des Produkts beim Kunden)
- Spielidee (Verkauf der Idee and die Kunden: warum macht das Spiel Spaß, Was ist das Alleinstellungsmerkmal, Wie kann man gewinnen/verlieren?)
- Beta (Aktueller Zwischenstand, Vergleich mit anderen Gruppen)
- Final (Endabnahme durch Kunden)
- Dozenten sind Kunden, Tutoren sind "Sub-Kunden"
- Zusätzlich zum Kunden-Schema: Begleitende Vorlesungen, um Wissen zu vermitteln
- GDD (Was ist das? Wie schreibt man das? Was gehört da rein?)
- Architektur (Wie funktioniert UML, was muss man bei Spielearchitekturen beachten?)
- Code Reviews (Verbesserung der eigenen Codequalität)
- 2 Phasen
- Deisgn
- Festigen der Spielidee, Mechaniken, etc.
- Formalisieren und Aufschreiben
- Finden von Widersprüchen im Design, Unlogischen Abläufen, etc.
- Implementierung
- Entwicklung des Spiels
- Einhalten der getroffenen Designentscheidungen (auch im Bezug auf Architektur)
- Einhalten von Clean-Code Prinzipien
- Deisgn
Hier soll geklärt werden:
- Scrum Meeting / Daily Scrum (max. 15min)
- Was wurde seit dem letzten Meeting gemacht?
- Was wird bis zum nächsten Meeting gemacht?
- Was für Probleme gibt es, die die aktuellen Aufgaben behindern?
- Sprint Review (max. 30min)
- Product Owner sagt, was fertig und was nicht fertig ist.
- Team zeigt, was alles fertig geworden ist und beantwortet Fragen zum Fortschritt.
- Team erklärt dabei, was es für Probleme gab und wie diese gelöst worden sind.
- Product Owner erklärt den aktuellen Stand des Product Backlogs und speziell Änderungen an der Aufwandsabschätzung.
- Sprint Planning (max. 60min)
- Was wird im nächsten Sprint gemacht? Product Backlog anschauen, von oben nach unten (PO sollte es geordnet haben). An die Recurring Tasks denken.
- Wer erledigt von den ausgewählten Dingen was (Arbeitsverteilung)?
- Sprint Retrospective (max. 15min)
- Diskutieren, was im letzten Sprint im Hinblick auf Menschen, Beziehungen, Prozesse, Tools gut bzw. schlecht gelaufen ist.
- Wo muss etwas verändert oder verbessert werden, damit besser gearbeitet werden kann?
- Plan erstellen, wie diese Änderungen im nächsten Sprint umgesetzt werden können.