You are here

Methodenüberblick Scrum, Kanban, XP

Methoden wie Scrum, Kanban und XP bieten unterschiedliche Techniken um Teams zu helfen agiler zu werden. Gemeinsam basieren sie auf den Zielen des agilen Manifests

Gemeinsames Ziel dieser Methoden ist die Förderung von agilen Kern-Fähigkeiten von Teams.

 

Kern-Fähigkeit
Scrum
Kanban
Liefern wertvoller Inkremente in kurzen Zyklen
Am Ende eines Sprints wird getestete Software geliefert und die Produktqualität überprüft. Durch den festen Zeittakt der Sprints ergibt sich ein regelmäßiges Feedback über das fertige Produkt.
Der wichtigste Hebel von Kanban sind kleine Batch-Sizes und das Begrenzen von angefangener Arbeit (work in progress, WIP). Beides führt dazu, dass Inkremente schneller geliefert werden.
Effektives Priorisieren
Das Werkzeug von Scrum zur Priosierung ist der Product Backlog. Funktionalitäten werden für kurzfristige Lieferzyklen priorisiert.
Auch Kanban nutzt das Instrument Product-Backlog. Priorisiert wird im Kanban-System unterstützt durch WIP und Pull-Mechanismen.
Belastbare Aussagen über den Entwicklungs-fortschritt
Am Ende des Sprints demonstriert das Team den Arbeitsfortschritt, d.h. fertige Stories mit automatisierten Tests. Dies zusammen mit Schätzungen in Story Points ist die Basis für eine empirische Fortschrittskontrolle und effektive Prognosen.
Die wichtigsten Messgrößen in Kanban sind die Zykluszeit und das "cumulative flow diagram" (CFD). Damit lassen sich empirische Vorhersagen ohne vorherige Schätzungen machen.

Motivation, Verantwortung und effektive Zusammenarbeit von Personen
Der Scrum Prozess fördert mit seinem Rollenmodell die Verantwortlichkeit des gesamten Teams und damit die Motivation und Verantwortung für das Produkt, den Arbeitsprozess und die Qualität.
Wichtige Elemente in Kanban sind die Visualisierung des Prozesses, Kennzahlen und explizite Regeln (policies). Damit unterstützt Kanban einen Prozess der kontinuierlichen Verbesserung.

 

Der Beitrag von Extreme Programming

Extreme Programming konzentriert sich als Methode stark auf Softwaretechniken. Ohne diese Techniken haben Agile Teams in der Softwareentwicklung einen schweren Stand, die versprochenen Capabilities bereitzustellen und sie sind daher auch längst in diese Methoden aufgenommen worden.
 

Voraussetzungen für agiles Arbeiten in Teams

Unabhängig von der Methode, braucht ein Team Rahmenbedingungen und die richtige Umgebung, um agil arbeiten zu können:

  • Stabilität - ein Team braucht Zeit, um zu einem Team zusammenzuwachsen und das richtige Mass an Stabilität. 
  • Autonomie - ein Team muss die Möglichkeit haben, über das "wie" der Arbeit selbst zu entscheiden. 
  • Cross-Funktionalität - es müssen alle Skills vorhanden sein, damit das Team Inkremente fertigstellen kann.

Auch die Teams selbst müssen entscheiden, ob und wie sie agil arbeiten wollen:

  • Verantwortung für das Produkt übernehmen - in einem Agilen Team wird von den Mitgliedern erwartet, dass sie sich aktiv in die Diskussion um Wertschöpung und Produkt einbringen. In einer agilen Umgebung arbeitet man aktiv an einer engen Verzahnung über den gesamten Wertschöpfungsprozess und der Beseitigung von "chinesischen Mauern" zwischen Abteilungen.
  • Kontinuierliche Verbesserung - wie motiviert ist ein Team, seine Arbeit und Zusammenarbeit kontinuierlich zu verbessern.
  • Teamgeist, Motivation, Leistungswille - wie arbeitet das Team an Möglichkeiten, mehr Austausch und Lernen, bessere Ergebnisse und mehr Spass und Befriedigung bei der Arbeit zu finden.

Das Klarstellen dieser Punkte ist eine wichtige Voraussetzung bei einer Einführung von Scrum oder Kanban.