Agile Methoden und Projekte


Agile Methoden und Projekte
0
Categories : Informatikdidaktik , Methodik

Agile Methoden und Projekte im Informatikunterricht. Ein Video aus der Reihe Informatikdidaktik kurz gefasst. Nachfolgenden steht das Transkript des Videos.

Projektarbeit ist eine typische Arbeitsform für Informatikerinnen und Informatiker. Nach den Anfängen der Informatik wurden die Projekte immer größer und größer. Und es stellte sich heraus, dass nur strukturiertes Vorgehen in Projekten das Risiko zu scheitern minimierte. Warum aber scheitern immer noch so viele Großprojekte? Die Kommunikation zwischen Auftraggeber und Auftragnehmer lief hauptsächlich über große umfangreiche Dokumentationen. Insbesondere die Anforderungen wurden schriftlich fixiert, um am Ende gerichtsfest zu sein. Nicht berücksichtigt wurde, dass sich Anforderung ändern können und eine Lücke klaffte zwischen dem was der Auftraggeber wollte und was der Auftragnehmer verstanden hatte.

Dieses doch sehr starre Vorgehen wurde mit der Zeit, um weitere flexible Methoden ergänzt und 2001 wurde das sogenannte agile Manifest formuliert, dass viele dieser Vorgehensweisen zusammenfasst. Danach sind Individuen und Interaktionen wichtiger als Prozesse und Werkzeuge. Die Kommunikation gewinnt an Stellenwert. Funktionierende Software wird wichtiger als die umfassende Dokumentation, auch um mit dem Kunden darüber ins Gespräch zu kommen. Das bedeutet, dass die flexible Zusammenarbeit mit dem Kunden wichtiger ist als die Vertragsverhandlung.

Und der letzte Leitsatz ist, dass Reagieren auf Veränderung wichtiger sei als das Befolgen eines Plans, so dass neue Kundenwünsche und veränderte Rahmenbedingungen eingebunden werden können.

Aus diesen Leitlinien folgen auch grundlegende Werte und Eigenschaften agiler Projekte, ein sogenanntes agiles Mindset. Für Projekte in der Schule sind sicherlich Kommunikation und Einfachheit zentral. Darüber hinaus sollten Feedback und Transparenz sowie Selbstorganisation und Respekt in agilen Projekten nicht fehlen.

Welche agilen Methoden aus der Praxis eignen sich nun für den Schulunterricht? Und wie müssen sie gegebenenfalls angepasst werden?

Die von Brichzin, Kastl und Romeike (2019) vorgestellten Erfahrungsberichte agiler Projekte in der Schule lassen den Schluss zu, dass folgende Methoden gut geeignet sind:

  1. Einmal sind das die sogenannten User-Stories und Tasks, die an einem Scrum-Bord oder Project-Board gesammelt werden.
  2. Außerdem sollten die Arbeitsphasen in kurze Iterationen oder Sprints unterteilt werden, an deren Ende ein fertiger Prototyp steht.
  3. 10-15-minütige Stand-up-Meetings, sogenannte Dailys sind auch vorhanden.
  4. Als typische Arbeitsmethode in der Softwareentwicklung sollte das Pair-Programming eingesetzt werden.
  5. Und am Ende steht eine Retrospektive, also die Reflexion des Arbeitsprozesses.

User Stories sind dabei eine ganz bestimmte Art von Anforderungen, die mit Titel und Priorität aus Benutzersicht beschrieben werden. Eine Beschreibung einer solchen User Story könnte lauten: Zwischen 2 Bäumen ist eine Hängematte angebracht. User-Stories werden anschließend in Arbeitspakete, sogenannte Tasks, unterteilt, die mit ihren Arbeitsumfang angegeben werden. Zum Beispiel für Schule in den T-Shirt Größen S, M oder L. Beispielhaft könnte das ein Task für jedes Objekt der Benutzungsoberfläche, also jeden Baum und die Hängematte sein. Die User Stories und Tasks werden im Backlog für das gesamte Projekt notiert.

Spannende Variationen für Schulprojekte sind sogenannte Student-Stories. Während im herkömmlichen Projektunterricht sogenannte Fixpunkte genutzt werden, um Schülerinnen und Schülern zu jedem Zeitpunkt die notwendigen Informationen zukommen zu lassen, sind Student-Stories Lernaufgaben, die analog zu User-Stories formuliert werden und in Tasks aufgeteilt werden. Und sich somit nahtlos in den Projektablauf eingliedern.

Wichtiges Merkmal von agilen Vorgehensweisen sind sogenannte Sprints. Das heißt, Phasen der Planung, Arbeit und Reflexion, die sich immer wiederholen und an deren Ende funktionierende Prototypen stehen. In jedem Sprint werden User Stories und Tasks ausgewählt, die bearbeitet werden. Der vorhandene, vorzeigbare Prototyp wird um Funktionen erweitert.

Kommunikation ist der Kern agiler Projekte. Deswegen sollte sie regelmäßig, aber dann kurz und effizient durchgeführt werden. Dafür werden in der Regel täglich, zum Beispiel zu Beginn jeder Unterrichtsstunde, 5- 15 Minuten ein Stand-Up-Meeting durchgeführt. Ein Treffen im Stehen, in dem reihum die Fragen beantwortet werden:

  • Was habe ich bisher getan?
  • Welche Probleme sind aufgetaucht?
  • Was werde ich demnächst tun?

Wenn ein analoges Project-Board vorhanden ist, geschieht dies in der Regel um dieses Board herum, sodass alle Tasks und Aufgaben gesehen werden können und auch weiter gehängt werden.

Als wichtigste Arbeitsform im Programmierprojekten sollte das sogenannte Pair-Programming genutzt werden. Diese kollaborative Arbeitsform fördert in besonderem Maße das Programmierenlernen. Wichtig ist dabei, dass die Schülerinnen und Schüler sich regelmäßig abwechseln in den Rollen Driver und Navigator. Das heißt, sie tauschen alle 15-30 Minuten ihre Rolle an der Tastatur beziehungsweise daneben. Um trotzdem individuelle Leistung bewerten zu können, gibt es die Methode des Truck-Number-Checks. Das heißt, den Schülerinnen und Schülern muss zu jederzeit klar sein, dass sie individuell zu Ihrem Quellcode befragt werden können.

Kommen wir nun zum Gesamtbild von agilen Prozessen in der Schule. Nach dem Start werden alle Anforderungen in einem sogenannten Backlog gesammelt in Form von User Stories und Tasks. In kleineren Schulprojekten ist das Backlog häufig identisch mit dem Project-Board.

Anschließend starten sogenannte Sprints, in denen die Aufgaben abgearbeitet werden.

Ein solcher Sprint kann beispielsweise 2 oder 4 Wochen dauern. In Schulprojekten haben sich zum Beispiel 6 Stunden als geeignet erwiesen.

Im Sprint wird mittels Pair-Programming gearbeitet. In jeder Unterrichtsstunde treffen sich die Schülerinnen und Schüler zum kurzen Stand-up-Meeting, in dem sie über ihren Arbeitsstand berichten und offene Probleme ansprechen. Teil des Sprints sind auch ein Produkttest, das Anfertigen eines lauffähigen Prototypens und eine kurze Reflexion. Der Prototyp kann dem Kunden oder zum Beispiel der Lehrkraft vorgezeigt werden und am Ende des gesamten Prozesses steht eine sogenannte Retrospektive, die Reflexion des Projektes. Abschließend sei noch gesagt, dass für diese Schulprojekte bewusst auf Rollen wie Scrum-Master oder Product-Owner verzichtet wurde und es gibt  weitere geeignete Methoden aus dem agilen Methodenkoffer, die es wert sind, einmal ausprobiert zu werden: Zum Beispiel agile Spiele zum Einstieg in agile Methoden oder Planning-Poker zur Aufwandsschätzung oder Timeboxing zum Fokussierten arbeiten.

Literatur:

Brichzin, P., Kastl, P., Romeike, R. (2019) Agile Schule. Methoden für den Projektunterricht in der Informatik und darüber hinaus. hep-Verlag.

Stechert, P. (2015) Ein RFID-Projekt in der Fachinformatiker-Ausbildung unter Berücksichtigung von Threads, Software-Reviews und der Methode Webquest. In: Gallenbacher, J.: INFOS 2015: LNI S. 283-292