MSP-Projektwoche

Aus THM-Wiki
Wechseln zu: Navigation, Suche
Kurs
Kursname Methoden des Software-Entwicklungsprozesses
Kurstyp Projektwoche
„Projektwoche“ gehört nicht zu den zulässigen Werten (Vorlesung, Seminar, Praktikum, Projektkurs, Sonstiges) für das Attribut „Kurstyp“.
Dozent KQC
Semester WS 09/10
Studiengang Master

Intension

In der MSP-Projektwoche sollen Praktiken und Tools der agilen Software-Entwicklung im Team erprobt werden. Die Erfahrungen mit dem bisherigen Übungsbetrieb zu MSP haben gezeigt, dass die Methoden und Prozesse der Software-Entwicklung nicht durch wöchentliche Übungen oder gar durch Frontalunterricht zu vermitteln sind. Teampraktiken und die Best Practices agiler Software-Entwicklungsmethoden können vermutlich nur in einer längeren Zeitspanne erprobt werden, deshalb der didaktische Versuch einer Projektwoche.

Organisation

Koordination, Kommunikation und Kooperation finden auf der FH-Plattform eStudy statt und werden dort im Kurs "MSP-Projektwoche" (MSP-PW) organisiert. In der Planer-Komponente des Kurses finden Sie den gedachten Verlauf der einzelnen Projekttage.

Tag 1: Paarprogrammierung

Die XP-Praktik Paarprogrammierung soll durch Schreiben von Unit-Tests zu einzelnen Trac-Tickets erprobt werden. Beide Partner programmieren abwechselnd einen Unit-Test für ein Trac-Ticket. Die zur Auswahl stehenden Tickets werden im Folgenden genannt. Von jedem Paar ist sowohl ein Feature- als auch ein Bug-Ticket zu bearbeiten. Die Unit-Tests und Code-Änderungen müssen bis 18.00 Uhr vom jeweiligen Programmierer in den Trunk eingecheckt und das neue Feature in der Produktion intensiv getestet worden sein. Arbeitsabläufe, Ergebnisse und Lessons Learnt (hierzu bitte Ihre Erfahrungen mit denen aus empirischen Studien vergleichen: [1] und [2]) sind im Wiki auf einer eigenen Seite zeitnah zu dokumentieren und hier zu verlinken.

Die Kursleitung verfolgt die Aktivitäten der Partnerteams primär am Bug-Tracker. Notieren Sie bitte neben einer guten Fehler/Feature-Beschreibung den Unit-Test des Features bzw. des Bug-Fixes auf dem Trac-Ticket. Verweisen Sie hierzu im Kommentar Ihres Commits mit der Notation #Ticket-Nummer auf das Ticket. Trac erstellt bei der Darstellung des Kommentars im Source-Browser automatisch einen Link auf das Ticket. Umgekehrt verweisen Sie bitte im Ticket durch die Formatierung [Commit-Nummer] auf den Kommentar Ihres Commits.

Feature-Tickets

Als Quelle weiterer Feature-Tickets sei auf das Forum Feature-Requests im Foyer des eStudy-Portals verwiesen.

Sie können auch Feature-Wünsche aus Ihrer MSP-HÜ, die Sie aus Zeitgründen nicht realisieren konnten, aufgreifen und hierzu ein Trac-Ticket erstellen und es anschließend bearbeiten.

Bug-Tickets

Bitte wählen Sie aus dem Trac-Report "Active Tickets" pro Partnerteam ein Bug-Ticket: https://trac.mni.fh-giessen.de/eStudy/report/1

Als Quelle weiterer Bug-Tickets sei auf das Forum Bug-Reports im Foyer des eStudy-Portals verwiesen.

Sollten Sie auf ein Ticket stoßen, dessen berichteter Fehler bereits behoben wurde, schließen Sie dieses Ticket entsprechend und schreiben Sie hierfür einen Unit-Test.

Vergabeprinzip: "First come, first served"

Vermerken Sie auf dem Ticket mit Kommentar und Ticket-Zuordnung und hier im Wiki mit Ihrer beider Wiki-Signatur, welches Ticket Sie bearbeiten werden.

Ort der Paarprogrammierung

Vermerken Sie bitte im Kursforum "Organisatorisches", in welchem Raum auf dem Campus (Seminarraum, Hörsaal, Cafeteria etc.) Sie und Ihr Partner in der Zeit zwischen 11.30 und 16.00 Uhr zu finden sind. Ihr Kursdozent wird Sie besuchen.

Tag 2: User Stories und Planning Game

Zunächst sollen in XPWeb ca. 10-15 User Stories pro Team erstellt werden. Danach erfolgt die Priorisierung durch den Kunden. Die Gewichtung (= Aufwandsschätzung) der User Stories geschieht online im Rahmen eines Planning Games. Wir werden hierzu das Tool Planning Poker einsetzen. Dazu erstellen die Teamleitungen jeweils ein Spiel mit den User Stories aus XPWeb und laden alle Teilnehmer der MSP-Projektwoche samt Kursleitung (Kowal, Thelen, KQC) und anwesenden Master-Kommilitonen (Henry, Volkmer) zum Planning Poker per Kursmitteilung ein.

Die ermittelten Schätzungen werden anschließend auf die User Stories in XPWeb übertragen.

Tag 3: Iteration Planning

Im Rahmen des Planning Games von XP wird heute die Iterationsplanung eingeübt. Mithilfe von XPWeb werden die Entwickleraufgaben (Tasks) für alle User Stories der aktuellen Iteration definiert, den Entwicklern zugeordnet und in "idealen Programmiertagen" gewichtet.

Darüber hinaus werden folgende XP-Praktiken erprobt:

Tag 4+5: Projektarbeit

Dokumentation der Teamarbeiten und -ergebnisse