- 1 Abschnitt
- 9 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
- Vorgehensmodelle und Methoden10
- 0.1Klassische Vorgehensmodelle
- 0.2Agile Vorgehensmodelle
- 0.3Hybride Vorgehensmodelle
- 0.4Auswahl des passenden Vorgehensmodells
- 0.5Entwicklungsumgebungen (IDEs)
- 0.6Softwarebibliotheken und Frameworks
- 0.7Auswahl der passenden Bibliotheken und Frameworks
- 0.8Vorgehensmodelle und Methoden8 Fragen
- 0.9Aufgaben
- 0.10Lösungen
Agile Vorgehensmodelle
Agile Vorgehensmodelle sind iterative und inkrementelle Ansätze zur Softwareentwicklung, die auf Flexibilität, Zusammenarbeit und kontinuierliche Verbesserung abzielen. Sie sind besonders nützlich in dynamischen Projektumgebungen, in denen sich Anforderungen häufig ändern.
1. Scrum
Beschreibung und Anwendungsbereiche
Scrum ist ein weit verbreitetes agiles Framework, das sich auf die iterative Entwicklung konzentriert. Es fördert die Zusammenarbeit zwischen funktionsübergreifenden Teams und betont die kontinuierliche Lieferung von Wert durch regelmäßige Inkremente.
Rollen und Verantwortlichkeiten
Product Owner:
- Verantwortlich für die Definition und Priorisierung der Produktanforderungen im Product Backlog.
- Stellt sicher, dass das Team den maximalen Wert liefert.
Scrum Master:
- Unterstützt das Team dabei, Scrum-Prinzipien und -Praktiken umzusetzen.
- Beseitigt Hindernisse, die den Fortschritt des Teams behindern.
Entwicklungsteam:
- Funktionsübergreifendes Team, das die eigentliche Entwicklung und Lieferung des Produkts übernimmt.
- Selbstorganisiert und verantwortlich für die Umsetzung der Aufgaben im Sprint Backlog.
Artefakte und Ereignisse
Product Backlog:
- Liste aller gewünschten Anforderungen und Features für das Produkt, priorisiert vom Product Owner.
Sprint Backlog:
- Liste der Aufgaben und Ziele für den aktuellen Sprint, die das Team basierend auf dem Product Backlog auswählt.
Increment:
- Funktionierende Produktversion, die am Ende jedes Sprints geliefert wird und potenziell auslieferungsfähig ist.
Sprint:
- Zeitlich begrenzte Iteration, normalerweise 2-4 Wochen, in der ein Inkrement des Produkts entwickelt wird.
Sprint Planning:
- Treffen zu Beginn jedes Sprints, bei dem das Team das Sprint-Ziel festlegt und die Aufgaben für den Sprint auswählt.
Daily Scrum:
- Tägliches 15-minütiges Treffen, bei dem das Team den Fortschritt bespricht und Hindernisse identifiziert.
Sprint Review:
- Treffen am Ende jedes Sprints, bei dem das Team das fertige Increment präsentiert und Feedback einholt.
Sprint Retrospective:
- Treffen am Ende jedes Sprints, bei dem das Team reflektiert und Maßnahmen zur Verbesserung der Arbeitsweise festlegt.
Implementierung von Scrum im Team
- Bildung eines funktionsübergreifenden Teams mit klar definierten Rollen.
- Einführung der Scrum-Ereignisse und -Artefakte.
- Regelmäßige Überprüfung und Anpassung der Prozesse zur kontinuierlichen Verbesserung.
2. Kanban
Beschreibung und Anwendungsbereiche
Kanban ist ein visuelles Managementsystem, das darauf abzielt, den Workflow zu optimieren und die Effizienz zu steigern. Es ist besonders nützlich für die kontinuierliche Lieferung und Verbesserung.
Prinzipien und Praktiken
Visualisierung der Arbeit:
- Nutzung eines Kanban-Boards, um den Arbeitsfluss und den Status der Aufgaben sichtbar zu machen.
- Typische Spalten auf einem Kanban-Board: „To Do“, „In Progress“, „Done“.
Limitierung der parallelen Arbeiten:
- Begrenzung der Anzahl der Aufgaben, die gleichzeitig in Bearbeitung sind, um Überlastung zu vermeiden und den Fokus zu erhöhen.
Fokus auf den Arbeitsfluss:
- Kontinuierliche Überwachung und Optimierung des Arbeitsflusses, um Engpässe zu identifizieren und zu beseitigen.
Management durch Zusammenarbeit:
- Förderung der Zusammenarbeit im Team und zwischen Teams, um den Workflow zu verbessern und Hindernisse gemeinsam zu lösen.
Implementierung von Kanban im Team:
- Einführung eines Kanban-Boards zur Visualisierung der Arbeit.
- Festlegung von Work-in-Progress (WIP)-Limits für die einzelnen Spalten.
- Regelmäßige Überprüfung und Anpassung des Workflows zur kontinuierlichen Verbesserung.
Vergleich von Scrum und Kanban
| Merkmal | Scrum | Kanban |
|---|---|---|
| Struktur | Iterative Sprints mit festen Zeiträumen | Kontinuierlicher Fluss ohne feste Zeiträume |
| Rollen | Product Owner, Scrum Master, Entwicklungsteam | Keine festgelegten Rollen |
| Planung | Sprint Planning vor jedem Sprint | Kontinuierliche Planung und Anpassung |
| Visualisierung | Sprint Backlog und Burn-Down-Charts | Kanban-Board |
| Flexibilität | Feste Sprints, wenig Anpassungen während des Sprints | Hohe Flexibilität, kontinuierliche Anpassung |
Weitere agile Methoden
Extreme Programming (XP):
- Fokus auf technische Exzellenz und kontinuierliche Verbesserung durch Praktiken wie Pair Programming, Test-Driven Development und Continuous Integration.
Lean Development:
- Anwendung von Lean-Prinzipien auf die Softwareentwicklung, um Verschwendung zu minimieren und den Wert für den Kunden zu maximieren.
