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
- Montag, 03.09.2012:
- Dienstag, 04.09.2012:
- Mittwoch, 05.09.2012:
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 |