Agile Softwareentwicklung
Agile Entwicklung steht für flexible, inkrementelle und kundennahe Softwareentwicklung. Im Gegensatz zu klassischen Modellen wie dem Wasserfallmodell setzt Agile auf kontinuierliche Verbesserung, kurze Feedbackzyklen und enge Zusammenarbeit im Team.
Grundlagen
Agile Prinzipien
Die agile Bewegung basiert auf dem Agilen Manifest (2001), das vier zentrale Werte betont:
- Individuen und Interaktionen statt Prozesse und Werkzeuge
- Funktionierende Software statt umfassender Dokumentation
- Zusammenarbeit mit dem Kunden statt Vertragsverhandlung
- Reagieren auf Veränderung statt striktem Planverfolgen
Dazu kommen 12 Prinzipien, u. a.:
- Frühe und kontinuierliche Auslieferung funktionierender Software
- Enge, tägliche Zusammenarbeit zwischen Fachleuten und Entwicklern
- Technische Exzellenz und gutes Design fördern Agilität
Scrum
Scrum ist der am weitesten verbreitete agile Rahmen (Framework). Es basiert auf festen Rollen, definierten Ereignissen und klaren Artefakten.
Rollen
- Product Owner: Verantwortlich für den geschäftlichen Nutzen des Produkts
- Scrum Master: Unterstützt das Team, beseitigt Hindernisse
- Entwicklungsteam: Umsetzt die Anforderungen aus dem Product Backlog
Artefakte
- Product Backlog: Liste aller Anforderungen (z. B. User Stories)
- Sprint Backlog: Aufgaben, die im aktuellen Sprint bearbeitet werden
- Increment: Das fertige Ergebnis am Sprintende
Ereignisse
- Sprint Planning: Planung der Sprintziele
- Daily Scrum: 15-minütiges tägliches Standup zur Abstimmung
- Sprint Review: Vorstellung der Ergebnisse, Feedback durch Stakeholder
- Sprint Retrospective: Team-Reflexion zur Verbesserung des Prozesses
Extreme Programming (XP)
Extreme Programming ist eine agile Methode mit Fokus auf technische Praktiken und Codequalität.
Merkmale von XP
- Testgetriebene Entwicklung (TDD): Erst Tests schreiben, dann Code
- Pair Programming: Zwei Entwickler arbeiten gemeinsam an einer Aufgabe
- Kontinuierliche Integration: Häufiges Zusammenführen von Code in das Hauptprojekt
- Refactoring: Laufende Verbesserung des Codes ohne Funktionsänderung
- Kurze Release-Zyklen: Regelmäßige Auslieferung an den Kunden
Agile Begriffe im Überblick
User Story
Eine User Story beschreibt eine Anforderung aus Sicht des Nutzers:
Als Rolle möchte ich Ziel, um Nutzen.
Beispiel:
Als Nutzer möchte ich meine Bestellungen einsehen, um den Lieferstatus zu überprüfen.
Product Backlog
Das Product Backlog ist eine priorisierte Liste von Anforderungen, die vom Product Owner gepflegt wird. Es ist dynamisch und wächst mit dem Projekt.
Sprint
Ein Sprint ist ein fester Zeitraum (meist 2–4 Wochen), in dem ein funktionsfähiges Produktinkrement entwickelt wird.
MVP – Minimum Viable Product
Ein MVP ist die minimal lauffähige Version eines Produkts, mit der möglichst früh Kundenfeedback eingeholt werden kann. Ziel: schnelles Lernen mit wenig Aufwand.
Prüfungsnahe Fragen
- Was unterscheidet agile Entwicklung von klassischen Vorgehensmodellen?
- Was versteht man unter testgetriebener Entwicklung?
- Wie ist eine User Story aufgebaut?
- Welche Vorteile bietet ein MVP?
Projektmanagement
Diese Seite vermittelt zentrale Konzepte und Methoden des Projektmanagements, die für die Abschlussprüfung relevant sind. Dazu gehören klassische und agile Vorgehensmodelle, Projektstrukturierungswerkzeuge und wichtige Begriffe aus der Praxis.
Klassische Vorgehensmodelle
Diese Seite stellt klassische Vorgehensmodelle der Softwareentwicklung vor, wie das Wasserfallmodell, V-Modell und Spiralmodell.