- 1 Section
- 10 Lessons
- unbegrenzt
- Entwicklungsumgebungen & Toolchain10
- 1.1IDEs im Vergleich: VS Code, IntelliJ, Eclipse, PyCharm
- 1.2Projektstruktur und Build-Tools: Maven, Gradle, npm
- 1.3Paketmanager: pip, npm, Maven Central
- 1.4Bibliotheken auswählen und bewerten
- 1.5Bestehende Anwendungen lesen, verstehen und anpassen
- 1.6Linter, Formatter und Codequalitätswerkzeuge
- 1.7Vorgehensmodelle in der Entwicklung: Scrum, Kanban, XP
- 1.8Code-Dokumentation: JavaDoc, Docstrings, OpenAPI
- 1.9Statische Codeanalyse und SonarQube
- 1.10Aufgaben Toolchain
Vorgehensmodelle in der Entwicklung: Scrum, Kanban, XP
In den ersten Lektionen ging es um Werkzeuge: IDEs, Build-Tools, Linter. Diese Lektion macht einen Schritt zurück und fragt: wie organisiert man eigentlich die Arbeit eines Entwicklungs-Teams? Wer entscheidet, was als Nächstes gebaut wird? Wie viele Features pro Woche sind realistisch? Was passiert, wenn der Kunde plötzlich seine Meinung ändert?
Diese Lektion behandelt agile Vorgehensmodelle – Scrum (Sprint-basiert, mit Rollen und Events), Kanban (Fluss-basiert, kontinuierlich), und Extreme Programming (XP). Du lernst das Agile Manifest und siehst, wie die drei Modelle zusammen oder einzeln eingesetzt werden. IHK-Rahmenplan B1a.
1) Warum agile Methoden?
Klassische Vorgehensmodelle wie das Wasserfall-Modell oder das V-Modell (vgl. K52 L1) gehen davon aus: erst plant man alles durch, dann setzt man es um. Das funktioniert bei vorhersagbaren Aufgaben wie Brückenbau. Bei Software klappt es selten, weil:
- Anforderungen ändern sich während des Projekts.
- Beim Bauen lernt man, was wirklich nützlich ist.
- Märkte und Konkurrenz erzwingen schnelle Reaktion.
- Software ist „weicher" als physische Produkte – schnelle Iteration möglich.
2001 formulierten 17 Software-Entwickler das Agile Manifest: vier Werte und 12 Prinzipien, die agile Methoden eint. Bis heute Bezugspunkt.
2) Das Agile Manifest – die vier Werte
3) Scrum – das verbreitetste agile Framework
Scrum (von Jeff Sutherland und Ken Schwaber, formalisiert 1995) ist heute das dominante agile Framework. Es organisiert Arbeit in Sprints – feste Zeitfenster (typisch 2 Wochen), in denen ein nutzbares Produkt-Inkrement entsteht.
4) Der Sprint-Zyklus – klick durch
So läuft ein Scrum-Sprint ab. Klick auf die Phasen, um Details zu sehen:
5) Scrum-Rollen
Scrum kennt nur drei Rollen – kompakt und klar definiert:
6) Kanban – Fluss statt Sprints
Kanban (japanisch für „Signalkarte") stammt aus Toyota's Produktionssystem. In der Software-Welt populär gemacht durch David Anderson. Im Gegensatz zu Scrum: kein fester Sprint, keine Rollen, kein Backlog-Refinement. Stattdessen ein kontinuierlicher Arbeitsfluss über ein Board:
7) Extreme Programming (XP)
Extreme Programming (Kent Beck, 1996) ist weniger ein Management-Framework als eine technische Praxis-Sammlung. XP fokussiert auf das, was Entwickler täglich tun:
- Pair Programming: zwei Entwickler an einem Bildschirm – einer schreibt, einer denkt.
- Test-Driven Development (TDD): erst Test, dann Code – vgl. K52 L5.
- Continuous Integration: Code mehrmals täglich in den Hauptzweig (vgl. K54).
- Refactoring: Code permanent verbessern (vgl. L5).
- Collective Code Ownership: jeder darf jeden Teil ändern.
- Small Releases: häufig auslieferbare Versionen.
- On-Site Customer: Kunden-Vertreter im Team.
- Sustainable Pace: keine Überstunden auf Dauer.
XP-Begriffe wie TDD und CI sind heute Allgemeingut – auch außerhalb von XP-Teams. Wenig Teams nennen sich heute „XP", aber viele Praktiken sind Standard geworden.
8) Direktvergleich: Scrum vs. Kanban vs. XP
| Aspekt | Scrum | Kanban | XP |
|---|---|---|---|
| Iteration | 2-Wochen-Sprint | kontinuierlich | 1-3-Wochen-Sprint |
| Rollen | PO, SM, Team | frei | frei |
| Planung | Sprint Planning | just-in-time | Planning Game |
| Backlog | priorisierte Liste | To-Do-Spalte | User Stories |
| Events | Daily, Review, Retro | nur optional | Daily Standup |
| WIP-Limits | indirekt (Sprint) | explizit (zentral!) | indirekt |
| Änderung mitten drin | nicht ohne Aufwand | jederzeit | schwierig |
| Fokus | Management | Fluss-Optimierung | technische Praktiken |
9) Vor- und Nachteile agiler Methoden
- Pro: schnelles Feedback, anpassungsfähig, transparenter Fortschritt, motivierte Teams.
- Pro: Risiken werden früh sichtbar (in jedem Sprint).
- Pro: Kunden sehen früh echte Software, nicht nur Dokumente.
- Contra: erfordert disziplinierte Teams – nicht „Anarchie".
- Contra: langfristige Planung schwieriger – wann ist Projekt X fertig?
- Contra: Festpreis-Verträge passen schlecht zu agilen Methoden.
- Contra: ohne erfahrenen Scrum Master verkommt Scrum schnell zu „Mini-Wasserfällen".
10) User Stories und Schätzungen
Ein Mini-Glossar, das in IHK-Klausuren oft auftaucht:
- User Story: kurze Beschreibung aus Sicht des Nutzers. Format: „Als <Rolle> möchte ich <Funktion>, um <Nutzen>."
- Akzeptanzkriterien: konkrete Bedingungen, die erfüllt sein müssen, damit die Story als fertig gilt.
- Story Points: relative Komplexitäts-Einschätzung (1, 2, 3, 5, 8, 13 …). Keine Stunden!
- Planning Poker: spielerische Schätzmethode – jeder zeigt verdeckt seine Karte, dann diskutieren.
- Velocity: wie viele Story Points schafft das Team pro Sprint? Wird über Zeit gemessen.
- Definition of Done (DoD): Team-weite Kriterien, was „fertig" bedeutet (z.B. „Code reviewt, Tests grün, dokumentiert").
Zusammenfassung
Agile Methoden reagieren schnell auf Änderungen. Das Agile Manifest (2001) priorisiert Menschen über Prozesse, funktionierende Software über Doku, Zusammenarbeit über Verträge. Scrum: Sprints (2 Wochen), 3 Rollen (PO, Scrum Master, Team), Events (Planning, Daily, Review, Retro). Kanban: Fluss-basiert, WIP-Limits, kein Sprint. XP: Praktiken wie Pair Programming, TDD, Continuous Integration. User Stories + Story Points + Velocity. Nächste Lektion: Code-Dokumentation.
