M426 Software mit agilen Methoden entwickeln

KompetenzbandHZGrundlagenFortgeschrittenErweitert
A – Agile Methoden kennen1A1G: Ich kann die linearen Vorgehensmodelle wie das Wasserfall-Modell, das V-Modell und RUP sowie die zyklischen Modelle wie das Spiralmodell und die unterschiedlichen Prototypenverfahren erläuternA1F: Ich kann das "Agile Manifesto" und dessen Prinzipien erklären und aufzeigen, was daran gut ist und wo Probleme auftauchen könnenA1E: Ich kann die linearen und die zyklischen Vorgehensmodelle erkennen und aufzeigen, wie das Beste von allem kombiniert werden kann
1A2G: Ich kann das SCRUM-Modell mit dem zyklischen Ablauf, den Rollen, den Zeremonien (Meetings/Sitzungen) und die Philosophie von SCRUM erklärenA2F: Ich kann aufzeigen, wie ein Vorhaben in eine "Vision", in "Epics" und in "User-Stories" formuliert werden kannA2E: Ich kann ein Vorhaben mit meinem Team in einen SCRUM-Ablauf einkleiden und die richtigen Schritte planen
1A3G: Ich kann die drei Aspekte erklären, wie man eine Anforderung in einem Satz für eine User-Story formuliertA3F: Ich kann unter Einhaltung der DoR eine User-Story beschreiben, sie gemeinsam mit dem Team einordnen und deren Aufwand mit Story Points bewerten (Planning Poker) sowie Abnahmekriterien dafür bestimmen (DoD)A3E: Ich kann den "guten" Schnitt zwischen User-Story und Aufgaben-Tasks zusammen mit dem Team bestimmen
B – Agile Iteration realisieren2B1G: Ich kann bestehende Softwaremodule interpretieren und erklären, wo für die Umsetzung einer User Story die Software ergänzt werden mussB1F: Ich kann die Software für die Umsetzung einer User Story implementierenB1E: Ich kann bestehende Software für die Umsetzung einer User Story anpassen (Refactoring)
2B2G: Ich kann die Bedeutung einer lauffähigen Software im Rahmen der agilen Softwareentwicklung erläuternB2F: Ich kann die von mir umgesetzte User-Story anhand der lauffähigen Software präsentieren und zeigen, dass die DoD eingehalten sindB2E: Ich kann eine Sprint-Demo vorbereiten (inkl. Burndown Chart) und durchführen
C – Komponenten wiederverwenden3C1G: Ich kann das Prinzip von Softwarekomponenten (Wiederverwendbarkeit, Aufgabenaufteilung, Schnittstellen) an einem Beispiel erläuternC1F: Ich kann für eine Applikation, unter Berücksichtigung der Wiederverwendbarkeit, Softwarekomponenten evaluieren und auswählenC1E: Ich kann in einem Entwurf Softwarekomponenten identifizieren, deren Wiederverwendbarkeit beurteilen und begründet integrieren
D – Vorgehen reflektieren und verbessern4D1G: Ich kann erklären, wie ich mich auf das Daily Scrum vorbereiteD1F: Ich kann meine Erfahrungen und Erkenntnisse an der Retrospektive einbringen und geeignete Verbesserungsmassnahmen ableitenD1E: Ich kann eine Retrospektive vorbereiten und anleiten sowie die gewonnenen Erkenntnisse priorisieren und in konkrete Verbesserungsmassnahmen überführen
E – Versionsverwaltung anwenden5E1G: Ich kann ein Repository klonen, Änderungen committen und pushen sowie Änderungen vom Server übernehmen (fetch, pull) und das Anwenden von Branches erklären (z. B. Git-Flow)E1F: Ich kann mit Merge Requests umgehen und Branches gezielt anwenden (z. B. Git-Flow)E1E: Ich kann Merge-Konflikte lösen, den Git-Tree kritisch hinterfragen und Verbesserungen umsetzen (z. B. rebase, cherry-pick)
F – Umgang mit Clean Code und Refactorings6F1G: Ich kann erklären, was zur guten Lesbarkeit von Code wichtig ist und welche Regeln es zu beachten gibtF1F: Ich kann einen Code durch die Anwendung der "Clean Code"-Empfehlungen besser lesbar machen und ein Refactoring durchführenF1E: Ich kann Funktionsbereiche zur besseren Verständlichkeit so umschreiben, dass die (zyklomatische) Komplexität entflochten wird

Hinweis

Eine Softwarekomponente kann auch mit Hilfe eines Entwurfsmusters umgesetzt sein. Darum wird im Handlungsziel das Entwurfsmuster nicht explizit aufgeführt und dem HZ trotzdem Rechnung getragen.


Änderung vorschlagen GitHub