Umsetzungsvorschlag

Umsetzungsvorschlag - Modul 426

Software mit agilen Methoden entwickeln

Lektionenplan

Idee/Konzept:

  • Die Lernenden führen (handlungsorientiert) ein Projekt in “real live” durch. Sie nehmen entsprechende Rollen an, planen, reflektieren und “erleben” so die Aspekte der agilen Softwareentwicklung.
  • Die Scrum-Teams führen ein Projekt in etwa 3 Sprints durch
    (zwei Wochen pro Sprint bei 4-Lektionen-Modul-Tagen
    vier Wochen pro Sprint bei 2-Lektionen-Modul-Tagen)
  • Dabei wenden die Teams selber die Tools an und führen alle Zeremonien (Meetings) selbständig durch und erstellen die entsprechenden Artefakte (Dokumente)
  • Mini-Inputs immer dann, wenn das Projekt das entsprechende Thema streift
  • Noten gibts für:
    - Basic-Check (schr. Miniprüfung über die Vorgehensmodelle, Scrum und Grundbegriffe)
    - Das Verhalten im Scrum-Team (subjektive Lehrpersonenbewertung)
    - Projektfortschritt
    - Vortrag (Bewertung: 50% durch LP und je 25% durch zwei SuS)

Anzahl LektionenThemenKompetenzenTools
2 (2)Einführung ins Thema
Überblick über Vorgehensmodelle
1
2 (4)Das agile Manifesto
Was ist und wie funktioniert SCRUM
Mikro-Scrum-Spiel[*] mit drei 2-Minuten-Sprints in ca. 7-er Teams, plus Planung/Review/Retrospective
Formeller Start Sprint 0
1
Sprint 0Erarbeiten der Projektbasis (Vision, User-Stories, Backlog)
2 (6)Was ist eine “Vision”. Das Scrum-Team erarbeitet/erfindet ihre Vision und bestimmt einen Product-Owner1
2 (8)Was ist ein Produkt-Backlog. Was ist eine (gute) User-Story.
Das Scrum-Team entwickelt und sammelt die User-Stories -> erstellt Produkt-Backlog
1
2 (10)Was passiert in Meetings (Übersicht über Scrum-Meetings, speziell das “Daily Scrum” und die 3 Scrum-Fragen)1
2 (12)Daily Scrum
Produkt-Backlog erarbeiten
Sprint-Backlog für Sprint 1 erarbeiten/priorisieren
1
Sprint 1Projektstart
2 (14)Formeller Start Sprint 1
Daily-Scrum
Wie geht/was passier am Sprint-Planning
Die Teams führen das Sprint-1-Planning durch
1 bis 2 Inputs/Vorträge aus [XX]
1, 2, 4
2 (16)Wie geht das Estimating-Meeting, Einführung Planning-Poker
Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]
1, 2, 3
2 (18)Daily-Scrum
Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]
2, 3, 4
2 (20)Wie geht/was passiert im Sprint-1-Review
Die Teams machen im Plenum ihr Sprint-Review
Sprint 1 wird formell beendet
4
Sprint 2
2 (22)Formeller Start Sprint 2
Daily-Scrum
Sprint-2-Planning
Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]
4
2 (24)Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]3, 4, 5
2 (26)Daily-Scrum
Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]
3, 4
2 (28)Wie geht/was passiert an der Sprint-Retrospktive (Start/Stop/Keep/More/Less-Stern)
Die Teams machen unter sich die Sprint-2-Retrosp. und im Pleum ihr Sprint-2-Review
Sprint 2 wird formell beendet
4
Sprint 3
2 (30)Formeller Start Sprint 3
Daily-Scrum
Sprint-3-Planning
Arbeit am Projekt
4
2 (32)Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]3, 5, 6
2 (34)Daily-Scrum
Arbeit am Projekt und 1 bis 2 Inputs/Vorträge aus [XX]
4, 5, 6
2 (36)Die Teams machen unter sich die Sprint-3-Retrospektive und im Plenum ihr Sprint-3-Review
Sprint 3 wird formell beendet
Retrospektive über das Modul, den Kurs und Abschluss
4
Projektende

Siehe auch Unterrichtsressourcen


[*] Mikro-Scrum-Spiel (45 min):

  • Die Klasse in 7-er bis 9-er Scrum-Teams aufteilen. Scrummaster bestimmen lassen. Die Scrum-Teams treten gegeneinander an (Wettkampf).
  • Es braucht ca. 50 Ping-Pong- oder Tennisbälle und 2 (Jutte-)Säcke
  • Es wird ein (einfacher Parcours / Weg der die Bälle zurücklegen müssen) bestimmt. Die Bälle müssen auf diesem Weg mehrmals die Tischoberfläche und auch den Boden berühren.
  • Die Bälle müssen einzeln von Anfang bis zum Ziel durchgereicht werden wobei jeder durchgereichte Ball neben Boden und Tisch vom ganzen Scrum-Team (Teilnehmer:innen) berührt und losgelassen werden müssen.
  • Die Bälle sind am Start in einem Sack enthalten und am Ziel werden sie wieder in einem Sack aufgesammelt. Wenn die Bälle aufgebraucht sind, müssen die Bälle vom Ziel wieder zum Start gebracht werden.
  • Das Team organisiert sich selber!! (Der ScrumMaster organisiert die Meetings - vor jedem Sprint wird ein Sprint-Planning-Meeting - am Ende des Sprints wird ein Sprint-Review und eine Sprint-Retrospektive durchgeführt)
  • Ein Sprint dauert 2 Minuten (jemand aus dem Team muss die Zeit stoppen)
  • Bälle, die den Weg verlassen, gelten als NotOK-Fälle. Bälle, die das Ziel erreichen gelten als OK-Fälle.
  • OK- und NOK-Fälle müssen von jemand des Teams gezählt werden. Am Schluss wird damit ein Burndown-Chart dargestellt

[XX] Mögliche Themen als Lehrpersonen-Input und/oder als (bewerteten) Schüler-Vortrag (7-10 min)

  • [01] Was sind die Aufgaben und die notwendigen Eigenschaften eines ScrumMaster
  • [02] Was sind die Aufgaben und die notwendigen Eigenschaften eines ProductOwner
  • [03] Was sind die Aufgaben und die notwendigen Eigenschaften eines Entwickerteam-Mitglieds
  • [04] Was sind die Rollen anderer Stakeholder und dessen Aufgaben (Sponsor/Geldgeber, Besteller/Auftraggeber, Steuerungsgremium, Benutzer-vertreter, Lieferanten, “mein” Vorgesetzter)
  • [05] Entwicklungsumgebungen Marktübersicht, Marktleader, Kosten (Eclipse, IntelliJ, VisualStudio Code, VisualStudio, ..)
  • [06] Entwicklungsumgebungen Funktionelle Unterschiede (Eclipse, IntelliJ, VisualStudio Code, VisualStudio, ..)
  • [07] Übersicht über Scrum-Tools. Was gibt es auf dem Markt? Funktionen, Marktleader, Kosten.
  • [08] Scrum-Tool-Funktionen in GitHub, in GitLab, in BitBucket. Unterschiede, Vor-/Nachteile
  • [09] Spezialisierte Scrum-Tools. Funktionen, Marktübersicht, Marktleader, Kosten (Trello, Jira, Taiga, ..)
  • [10] Git vs. Subversion. Unterschiede, V-/N-teile
  • [11] Die gängigen und seltenen Git-Befehle und die Details wie sie (im Hintergrund) funktionieren
  • [12] Spezielle Funktionen von Git-Befehlen wie Stage, Merge, Cherry-Picking, PullRequest, u.a.m.
  • [13] Übersicht über Git-Clients (-PlugIns, -APIs, -Addons, -Console/n, -Apps/Clients
  • [14] Übersicht über Versionsverwaltungs-Systeme/-Server (CVS, SVN, GIT)
  • [15] GitHub, GitLab und BitBucket. Marktübersicht und -leader, Vor-/Nachteile
  • [16] Cont.Integration/Autom.-Inst.-Tools. CI/CD. Übersicht was es gibt
  • [17] CI/CD. Konkrete Tools. Beispiel inkl. Live-Demo
  • [18] Testing-Tools. Grundsätzliches, was gibt es alles0 (Selenium, …)
  • [19] Autom. Testing & Tools. Backend/Server/Funktionen
  • [20] Autom. Testing & Tools. Frontend/Funktionen (Web-/Fatclient)
  • [21] Konzepte und Beispiele für Wiederverwendung
  • [22] CleanCode (Regeln, Beispiele, Best Practices)
  • [23] Re-Engineering und Refactoring (Regeln, Beispiele, Best Practices)
  • [24] Übersicht über DesignPatterns
  • [25] DesignPatterns (2-3 Beispiele theoretisch, konzeptionell und praktisch vorgeführt)
Änderung vorschlagen GitHub