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 Lektionen | Themen | Kompetenzen | Tools |
|---|
| 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 0 | Erarbeiten der Projektbasis (Vision, User-Stories, Backlog) | | |
| 2 (6) | Was ist eine “Vision”. Das Scrum-Team erarbeitet/erfindet ihre Vision und bestimmt einen Product-Owner | 1 | |
| 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 1 | Projektstart | | |
| 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)