Agile Software Entwicklung in der Lehre

Agile Software Entwicklung im Team kann man nicht anhand von Lehrbüchern vermitteln. Die Prinzipien, Regeln und die Gebrauch entsprechender Werkzeuge muss vielmehr in einem realen Szenario über einen längeren Zeitraum erfahren werden.

Am Lehrgebiet Kooperative Systeme haben wir uns in diesem Wintersemester wieder dieser Herausforderung gestellt und sind mit 17 auf drei Teams verteilte Studierende an den Start gegangen. Der Kickoff zur Vorbereitung musste Corona-bedingt virtuell stattfinden. Über vier Tage hinweg gab es sieben Impulsvorträge der Studierenden, einen Design Workshop, mehrere Akte eines Rollenspiels mit einem fiktiven Auftraggeber, ein Planning Game, kurze Demonstrationen zur Nutzung von Git, GitLab, VS Code und Docker sowie ein paar Spiele zur Verdeutlichung von Problemen in der digitalen Zusammenarbeit.

Ziel der Veranstaltung war es, die Teams auf eine umfangreiche Programmieraufgabe vorzubereiten, die sie im Anschluss über 7 Iterationen bzw. 14 Wochen bearbeiten. Damit das gelingen kann, mussten sich die Mitglieder der Teams kennenlernen, die notwendigen technischen Voraussetzungen auf ihrem lokalen Rechner und einer Virtuellen Maschine schaffen, sich technische Grundlagen gegenseitig beibringen, ein gemeinsames Verständnis der Aufgabenstellung erlangen und User Stories bzw. GitLab Issues für die 1. Iteration festlegen. Zur Erreichung dieser Ziele hatten wir – Marc Burchart und ich – knapp 26 Stunden zu Zeit.

Aufgabenstellung

Die Aufgabenstellung eines jeden Teams bestand darin, eine kooperative Anwendung für die Lernplattform Moodle zu entwickeln. Welche Art von Anwendungen das sind, werde ich zu Beginn des nächsten Jahres an dieser Stelle vorstellen.

Lessons learned

Das grundlegende Konzept dieser Lehrveranstaltung wird schon seit vielen Jahren an unserem Lehrgebiet erfolgreich eingesetzt. Ich selbst hatte nun zum vierten mal das Vergnügen. Für die gänzlich virtuelle Gestaltung der Veranstaltung hatte ich meine Erfahrungen aus den EuroPLoP 2020, DELFI/ECTEL, der CSEDM und dem Workshop Next Generation LMS einfließen lassen. Folgende Ansätze haben sich grundsätzlich bewährt, sind jedoch auch noch nicht technisch perfekt gelöst:

  • Startpunkt: Es braucht ein Dokument, von dem aus alle verwendeten Werkzeuge erreichbar sind, die Agenda nachvollzogen und Neuigkeiten mitgeteilt werden können. Besser wäre es, wenn man eine Anwendung hätte, die die nachfolgenden Tools in sich vereint.
  • Kollaboratives Schreiben via Sciebo/OnlyOffice: Sowohl im Plenum, als auch in den Teams müssen Ergebnisse schriftlich manifestiert werden. Ein Shared-Text-Editor ist essentiell.
  • Dateiablage via Sciebo/OwnCloud
  • Shared Whiteboard via miro: Nicht alles lässt sich in Worte fassen. Flussdiagramme, Schaubilder der Software Architektur oder auch das Teambuilding mittels Standogrammen erfordern flexible Zeichenwerkzeuge. In miro konnte man Zeichnungen auf Papier als Foto einstellen und mündlich (via Zoom) wie schriftlich diskutieren. In miro verliert man manchmal die Orientierung und arbeitet auf unterschiedlichen Zoomstufen. Pfeile lassen überhaupt nicht nutzen und die Markierung mehrerer Objekte ist sehr umständlich. Für das Schreiben von Texten ist miro abgesehen von den Sticky Notes gänzlich ungeeignet.
  • Kommunikationsräume via Zoom (durch die FernUni (vor)gegeben): Die Beteiligten müssen sich im Plenum und auch innerhalb ihrer Teams austauschen können. Leider kann sich in Zoom nur der Host frei zwischen den Räumen bewegen, während die teilnehmenden Studierenden und Lehrenden wie eine Kindergartengruppe von Raum zu Raum bugsiert werden muss. Nervig waren auch die häufigen Session-Abstürze, unter denen alle Beteiligte zu leiden hatten. Alternativen wie Discord oder Wonder.me bieten leider nicht die notwendige Bild und Tonqualität oder, wie MS Teams, verfügen über keine Gallerieansicht aller Teilnehmenden.

Spiele, oder besser serious games

Um mögliche Probleme einer räumlich getrennten Zusammenarbeit im Hinblick auf die Aufgabenstellungen zu verdeutlichen, haben wir uns in diesem und in den letzten Jahren eine Reihe von Spielen überlegt. Grundsätzlich nehmen die Studierenden hierbei die Rolle der Spielenden und der Beobachtenden ein. Letztere Rolle ist wichtig, um das Erlebte zu reflektieren und Erkenntnisse für die Gestaltung sozio-technischer Systeme zu ziehen.

  • Zählen bis 20: Alle Teilnehmer können sich in einem Konferenzsystem sehen und hören. Sie sollen nun abwechselnd von 1 bis 20 zählen. Sobald sich mehrere Personen einander ins Wort fallen, muss wieder bei eins zu zählen begonnen werden.
    Lernziel: Dieses Spiel ist in Präsenz bereits ein Herausforderung. Im Digitalen kommt die Latenz bei der Übertragung von Bild- und Toninformationen erschwerend hinzu. Latenz ist ein Problem in der synchronen Zusammenarbeit. Die Beteiligten erfahren zudem die Bedeutung von Group Awarenss (dt.: Gruppenwahrnehmung) für die Koordination von Aktivitäten in der Gruppe. Mangels Absprachen gibt es keine festgelegte Reihenfolge und auch keine Konvention darüber, wie eine zeitliche Sperre für die Beanspruchung des Audio-Kanals den anderen kommuniziert werden kann.
  • Irrdeka: In einem Labyrinth sind verschiedene Objekt platziert, zu denen ein Spieler einem zweiten Spieler, der ein leeres Labyrinth vor sich sieht, leiten muss.
    Lernziel: Ohne eine Verständigung über die Vorgehensweise (Orientierung, Bezugspunkte, Kommandos) und eine präzise Kommunikation gelingt die Navigation durch das Labyrinth nicht.
  • Kreuzsatzrätsel: Man nehme eine 3×3 Matrix und lassen den neun Teilnehmenden jeweils ein Kästchen der Matrix mit einem Satz füllen, so dass die Sätze je Zeile (von rechts nach links) und Spalte (von oben nach unten) einen sinnvollen Zusammenhang ergeben. Während des Schreibprozesses können sich alle Beteiligten per Audio (in dem Fall Zoom) abstimmen, während Sie in einem kollaborativen Schreibwerkzug (miro oder Sciebo) die Matrix in Form einer Tabelle ausfüllen.
    Lernziel: Beim kollaborativen Schreiben folgt ein Text einer lineare Abfolge von Absätzen und Sätzen. Orthogonal dazu muss jedoch ein Abgleich mit der Argumentation und der verwendeten Begrifflichkeit erfolgen. Diese orthogonal verlaufenden Dimensionen sind durch die Spalten und Zeilen der Kreuzsätze repräsentiert.
Ergebnis eines Kreuzsatzrätsels
Das Anfertigen von Papier-Prototypen stellen wir als zentrale Entwurfsmethode in Mittelpunkt der Lehrveranstaltung. Papier ist geduldig, unkompliziert, schnell nutzbar. Änderungen lassen sich einfach umsetzen und, zumindest in Präsenz, können sich alle Beteiligten in den Gestaltungsprozess einbringen, ohne ein Zeichenwerkzeug am Rechner erlernen/bedienen zu müssen. Wir haben via Zoom alle gemeinsam Entwürfe erstellen können. Die besten drei von zehn Entwürfen je identifizierten Gestaltungsproblem wurden in miro hochgeladen.