Softwareprojekt: "Agile Softwareentwicklung in einem Open-Source-Projekt"

Modulbeschreibung

Typ: Projekt (ECTS: 10)
Dozenten: Franz Zieris
Stephan Salinger
Lutz Prechelt
Sprache: Deutsch
Zeitraum: 03.09.2012 bis 12.10.2012
Terminhinweis:

Blockveranstaltung in der vorlesungsfreien Zeit: 03. September - 12. Oktober 2012

Inhalt:

Dieses Softwareprojekt findet im Kontext eines Open-Source-Projektes statt. Die Teilnehmer arbeiten sich – nah an der Berufsrealität – in ein bestehendes Softwaresystem innerhalb eines komplexen Ökosystems ein. Sie folgen dabei einem agilen, iterativen Entwicklungsprozess und durchlaufen mehrfach die typischen Phasen eines Softwareprojekts. Die aus der Vorlesung „Softwaretechnik“ bekannten Methoden und Vorgehensweisen werden hierbei vertieft. Im Einzelnen:
- Anforderungsermittlung
- Architektur und Modularisierung verstehen, Schnittstellenspezifikation
- Wartung, Reengineering bestehender Softwareteile
- Durchsichten von Anforderungen, Implementierungen und Testfällen
- Modul-, Integrations- und Systemtests; Testautomatisierung
- Versions- und Konfigurationsverwaltung, Build-Prozesse, Continuous Integration
- Dokumentation von Prozessen und Produkten
Eine spätere Ausdehnung der Projekte in Form von Abschlussarbeiten ist möglich.

Zielgruppe: Studierende im Bachelor- oder Masterstudium Informatik
Voraussetzungen: - aufgrund begrenzter Rechner-Kapazitäten sind eigene Notebooks stark empfohlen
- Für Bachelorstudenten: Softwaretechnik, Grundkenntnisse in Git (siehe Literaturhinweise); hilfreich: ALP IV, Erfahrung in Java-GUI-/Eclipse-Plugin-Entwicklung
- Für Masterstudenten: zusätzlich Grundkenntnisse in Scrum (siehe Literaturhinweise); empfohlen: Sofwareprozesse
Literatur: - Einstieg in Git:
  Scott Chacon "Pro Git", Kap. 1-3 (evtl. 5)
  René Preißel & Bjørn Stachmann "Git: Dezentrale Versionsverwaltung im Team - Grundlagen und Workflows", sehr gute und ansprechende Einführung (und darüber hinaus)
- Einstieg in Scrum:
  Ken Schwaber & Jeff Sutherland "Scrum Guide"


Organisatorisches

Anmeldung

Die Anmeldung erfolgt (vorerst) per E-Mail an franz.zieris [at] fu-berlin.de mit folgenden Informationen:
  • Vor- und Nachname
  • gültige E-Mail-Adresse (z.B. für Rückfragen)
  • Studiengang (Bachelor, Master), aktuelles Semester und Matrikelnummer

Mailingliste

Die Mailingliste dieser Veranstaltung ist se_p_agil [at] lists.spline.inf.fu-berlin.de. Alle angemeldeten Teilnehmer sind vom Veranstalter als Abonnenten eingetragen. Jeder Teilnehmer hat sicherzustellen, dass die Mails von dieser Mailingliste nicht in Junk/Spam/Bulk-Ordnern verschüttet gehen, da über diese Liste verbindliche Ankündigungen getätigt werden.

FAQ

Sind die Voraussetzungen obligatorisch?
Die Vorlesung Softwaretechnik muss bestanden sein; die aufmerksame und (soweit möglich) aktive Lektüre der angegebenen Web-Literatur sollte zur Aneignung der Grundkenntnisse in Git und Scrum ausreichen. Die Anschaffung des Git-Buches ist ausdrücklich nicht erforderlich.

Wie nötig sind eigene Notebooks?
Nicht in allen Arbeitsräumen stehen Rechner zur Verfügung, sodass nur eine sehr begrenzte Anzahl von Teilnehmern ohne eigenes Arbeitsgerät zu der Veranstaltung zugelassen werden kann.

Wie wird die Anwesenheit geregelt?
Es wird von 40-Stunden-Wochen ausgegangen, was einem Tagespensum von 8 Stunden entspricht. In der Kernarbeitszeit von 10 - 15 Uhr müssen alle Teammitglieder anwesend sein (exkl. Mittagspause). Detailregelung: siehe Folie 19 des ersten Tages.

Meine Frage wurde nicht beantwortet!
Hier hilft eine Kontaktaufnahme mit Franz Zieris, z.B. per Mail: franz.zieris [at] fu-berlin.de.


Scrum

Allgemeine Festlegungen

  • Das Daily Scrum findet Di-Fr um 11:00 Uhr statt.
  • Montags findet zwischen 10 und 12 Uhr das Sprint Planning statt; ein Daily Scrum ist hier unnötig.
  • Der Sprint Review und die Sprint Retrospektive werden am Freitag von 14 bis 16 Uhr stattfinden.

Product Backlog

Zum Product Backlog.

Sprint Goals

Zu den Sprint Backlogs.

Sprint 1

Am Ende der KW 37:
  • haben wir ein Saros, das zusätzlich über einen funktionierenden, sitzungsunabhängigen 1:1-Chat verfügt;
  • funktioniert Partial Sharing encoding-problemfrei, auf den gängigen Betriebssystemen.

Das Sprint Goal wurde nicht erreicht.

Sprint 2

Am Ende der KW 38:
  • haben wir ein Saros, das zusätzlich über einen funktionierenden, sitzungsunabhängigen 1:1-Chat verfügt;
  • funktioniert Partial Sharing encoding-problemfrei, auf den gängigen Betriebssystemen.
  • verfügen wir über eine Spezifikation des Speicherverhaltens bei der Sitzungseinladung
    • vom PO abgesegnet und technisch machbar
  • verfügen wir über eine Spezifikation zur Lösung vom Session-6 [Spiering12]
    • vom PO abgesegnet und technisch machbar

Das Sprint Goal wurde nicht erreicht.

Sprint 3

Am Ende der KW 39:
  • haben wir ein Saros, das zusätzlich über einen funktionierenden, sitzungsunabhängigen 1:1-Chat verfügt;
  • funktioniert Partial Sharing encoding-problemfrei, auf den gängigen Betriebssystemen.
  • verfügen wir über eine Spezifikation des Speicherverhaltens bei der Sitzungseinladung
    • vom PO abgesegnet und technisch machbar
  • ist diese Spezifikation implementiert -- bei Einladungen werden demnach keine OutOfMemoryExceptions geworfen
  • verfügen wir über eine Spezifikation zur Lösung vom Session-6 [Spiering12]
    • vom PO abgesegnet und technisch machbar

Das Sprint Goal wurde nicht erreicht.

Sprint 4

Am Ende der KW 40:
  • haben wir ein Saros, das zusätzlich über einen funktionierenden, sitzungsunabhängigen (und natürlich getesteten) 1:1-Chat verfügt;
  • funktioniert Partial Sharing encoding-problemfrei, auf den gängigen Betriebssystemen;
  • hat Saros kein Speicherproblem mehr beim Einladen;
  • ist die Spezifikation zur Lösung von Session-6 implementiert

Das Sprint Goal wurde nicht erreicht.

Sprint 5

Am Ende der KW 41:
  • wird am 08.10.2012 festgelegt


Material

Folien der Vorträge

Vorlagen für Wochenbericht

Bugs zum Angewöhnen

Bug-ID Priorität Kurzbeschreibung Bereich
  3 - mittelhoch GTalk-Nutzer haben Probleme bei der Benutzung der Google-Server Netzwerk?
3439301 2 - mittel Trailing Whitespaces (in Dateinamen? In Dateien?) machen Probleme. Konsistenz
3540379 2 - mittel Umarbeiten einer internen Helper-Methode zur Überprüfung von vergebenen Ordnernamen Interna/Konsistenz
2808232 2 - mittel Unendlicher Loop beim Wiederverbinden Interna
3514625 1 - niedrig Autocomplete soll sich schließen, wenn es keine Berechtigung mehr hat (ein anderer Teilnehmer hat den betreffenden Code gelöscht) GUI/User Experience
3528461 1 - niedrig Falsche Menueinträge im Offline-Zustand, allerdings nur kurz GUI/User Experience

Behoben

Bug-ID Priorität Kurzbeschreibung Bereich
3455372 3 - mittelhoch Cursor verspringt aus dem Chat, wenn der Verfolgte etwas tut. GUI/User Experience
3512584 2 - mittel Scrollen im Chat funktioniert nicht bzw. nur sehr langsam GUI/User Experience
3514675 2 - mittel Unnötige BubbleNotifications entfernen, die einem dritten Teilnehmer mitteilen, dass der zweite auch mitmacht GUI/User Experience
3544360 1 - niedrig Zu hart formulierte Fehlermeldung. GUI/User Experience