Scrum

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Der Scrum-Prozess (Quelle Wikipedia)

Überblick

Was ist Scrum

  • Scrum ist eine Methodologie bzw. ein Vorgehensmodell für die Entwicklung von Produkten
  • iterativer und inkrementeller Prozess
    • für Produktentwicklung und Projektmanagement
    • oft und ursprünglich in der Softwareentwicklung
  • klassische Rollen und Strukturen werden ersetzt durch agile Methoden und Abläufe

Vorteile von Scrum

Wenn Scrum richtig angewandt wird, können sich folgende Vorteile ergeben:

  • schnellere Reaktion auf Kundenanforderungen durch frühzeitige Rückmeldungen
  • schneller Richtungswechsel möglich
  • klares Scoping gemäß Wert für den Kunden
  • kleine Produkt-Inkrements (Releases) mit wenigen Features, die dann aber auch funktionieren
  • kein endloses Entwickeln (mit zu vielen Features)
  • Ergebnisse sind schneller am Markt / beim Kunden
  • höhere Identifikation der Beteiligten am Produkt
  • größere Kreativität, Effizienz und Produktivität (und damit auch die Mitarbeiterzufriedenheit)
  • bessere Produkte

Drei Verantwortlichkeiten (ehemals Rollen)

Product Owner und Team

Scrum kennt drei maßgebliche Verantwortlichkeiten (Accountables):

  • Product Owner
  • Scrum Master
  • Entwickler (ehemals Entwicklungsteam) - hiermit sind alle gemeint, die an der Erstellung von Produktinkrementen mitwirken

Eigenschaften von Scrum

  • eingeteilt in Sprints (kurze zeitliche Projektabschnitte bzw. Arbeitszyklen) fester Länge
  • basiert oft auf Schätzungen (Zeit)
  • hohes Maß an Selbstorganisation (kein Teamleiter vorhanden)
  • Kundenzufriedenheit und Menschen stehen im Mittelpunkt (Vermeidung von Überlastungen)
  • Arbeitsweise und das Produkt werden fortlaufend bewertet und angepasst
  • Es werden nur Anforderungen umgesetzt, die einen Mehrwert bieten
  • Anforderungen mit höchster Priorität werden zuerst angegangen
  • Anforderungen mit den größten Risiken werden zuerst angegangen (um schnell andere Richtung einschlagen zu können)
  • Keine neuen Anforderungen oder Änderungen während des Sprints; diese werden ins Product Backlog eingetragen
  • Aufgaben/Features sind erst erledigt und werden "released", wenn wirklich alles fertig ist (auch Doku etc.)
  • Sprint-Ende wird niemals verlängert

Scrum erfordert

  • große Disziplin
  • hohe Selbstverantwortung
  • direkte Kommunikation aller Beteiligten (möglichst räumlich nahe)
  • Umdenken bei allen Beteiligten bzgl. der Rollen

Organisation

  • Sprint Planning Meeting (alle)
    • Team wählt aus dem Product Backlog Anforderungen aus, die im Sprint umgesetzt werden sollen. Diese werden ins Sprint Backlog übernommen.
  • Daily Scrum Meeting (alle, Product Owner optional)
    • Jedes Team-Mitglied berichtet über seine Aktivitäten der letzten Arbeitsstunden und über die nächsten Schritte. Hindernisse werden angesprochen.
  • Sprint Review Meeting (alle)
    • Arbeitsergebnisse werden den Stakeholdern vorgestellt.
  • Sprint Retrospektive Meeting (alle)
    • Reflexion des Sprints
    • Was war gut bzw. schlecht ? Was kann verbessert werden ?
  • Product Backlog und Sprint Backlog als wichtige Mittel zur Dokumentation des Projekts

Rollen / Verantwortlichkeiten

Product Owner

  • ist verantwortlich für das Produkt (Deliverables) bzw. Ergebnisse des Projekts
  • vereint die klassischen Rollen des Produktmanagers, Chief Engineers, Projektmanagers (aus Business-Sicht)
  • erstellt und pflegt Produktvision (Releaseplan, Big Picture)
  • ist verantwortlich für finanzielle Ergebnisse und wirtschaftliche Ziele (Budget, Marge)
  • Schnittstelle zwischen Team und Stakeholdern (Kunde, Vertrieb, Support, 3rd Party, etc.)
  • erstellt Requirements aus den Kundenanforderungen (im Product Backlog)
    • in Zusammenarbeit mit dem Kunden
    • sortiert nach Priorität gemäß Wert für den Kunden (Business Value)
    • möglichst über den nächsten Sprint hinweg (im voraus)
  • erstellt User Stories (im Product Backlog)
    • detaillierte Beschreibung dessen, was vom Team geliefert werden soll (Features)
    • aus Sicht des Kunden und anderer Stakeholder
  • prüft Ergebnisse des Teams am Ende des Sprints (Abnahme)
  • prüft Qualität
  • Eigenschaften: kommunikativ, diplomatisch, technisches Wissen

Entwickler (ehemals Entwicklerteam)

  • eigenverantwortlich für Produktentwicklung und technische Umsetzung
  • organisiert sich selbst (ohne Leader)
  • legt selbst verbindlich fest, welche und wieviele Anforderungen (Requirements) zu einer vorgegebenen Zeit (Sprint) bearbeitet und als User Stories umgesetzt werden (Commitment)
  • erstellt sich selbst Aufgaben (Tasks), um die Features (User Stories) umzusetzen
  • wähle kleine Tasks <= 1 Arbeitstag
  • dokumentiert Zustand der Tasks im Sprint Backlog (mit Angabe der noch benötigten Zeit)
  • Nicht die Zahl der Arbeitsstunden zählt sondern der geleistete Mehrwert
  • 80% der Arbeitszeit als Netto-Auslastung für das Projekt (Kapazität)

Scrum Master

  • Agile Leader, Team-Coach, Moderator
  • nur in Teilen mit der klassischen Rolle des Projektmanagers vergleichbar (nur als Projektbegleiter), ist aber nicht der Projekt Manager
  • verantwortlich für Einhaltung der Scrum-Regeln und Methoden
  • verantwortlich für das Beseitigen von Hindernissen und Konflikten, die das Team am weiterentwickeln hindern
  • schafft optimale Arbeitsbedingungen für das Team (Infrastruktur, Kommunikation, Tools, etc.)
  • sollte kein Entwickler sein (höchstens in einem anderen Projekt), da er sonst nicht objektiv genug seine Rolle wahrnehmen kann
  • auch hat er keine Personalverantwortung für das Team
  • Bindeglied zwischen Product Owner und Team, aber letztendlich nicht verantwortlich für Projekterfolg
  • je besser das Team Scrum anwendet, desto geringer wird die Rolle des Scrum Masters

Literatur:

Artefakte und Ereignisse

Backlogs


Sprint Planning Meeting

Planning

Priorisierung

Probleme und Schwierigkeiten

  • Team soll eigentlich die Anforderungen (Requirements) mit höchster Priorität bearbeiten, was viel Disziplin erfordert
  • Product Owner muss viele Talente (Skills) haben: Bei komplexen Themen und großen Projekten ggf. ein Product Owner Team bilden
  • Neue Rolle für den klassischen Projektmanager bestimmen: Product Owner (Business, Budget, Customer, Controlling) oder Scrum Master (Agile Leader, Prozess, als Projektbegleiter)
  • Anpassung an Unternehmensstrukturen nötig
  • Es ist nicht immer einfach, Prioritäten bei vielen Stakeholdern zu bestimmen.
  • Beseitigung von Risiken und Hindernissen oft nicht in der Hand des Projekts (je weniger man abhängig ist von äußeren Einflüssen desto besser) -> externe Abhängigkeiten
  • Alle am Produkt beteiligten müssen Scrum verstehen und daran beteiligt sein
  • Das Scoping im Team muss mit den Kundenwünschen übereinstimmen, was über die Priorität gesteuert wird. Das muss dem Kunden aber auch so "verkauft" worden sein.
  • da Product Owner und Scrum Master nicht notwendigerweise Mitglied des Entwicklungsteams sein sollen, sind mindestens 4-5 Personen pro Scrum-Projekt nötig.
  • Je größer das Projekt ist und je mehr Entwicklungsprojekte involviert sind, desto umfassender müssen die Anpassungen im Unternehmen sein (Enterprise Scrum).
  • Das Team soll die für die Entwicklung nötigen Tools selbst aussuchen können. Je nach Projekt sind verschiedene Tools nötig, die ggf. im Unternehmen nicht "unterstützt" werden. Beispiel: Revision Control Systeme.
  • Wie werden Change Requests bearbeitet ? -> Abbildung in die Scrum Methodik

Training

Zertifizierung

Siehe Über uns.

Siehe meine Blog-Beiträge:

Literatur / weitere Infos

Anti Patterns und Fehler

Videos und Podcasts

Quellenangaben

  • Bild "Der Scrum Prozess": Quelle Wikipedia, CC-Lizenz

Siehe auch