Scrum: Unterschied zwischen den Versionen

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:


===Eigenschaften von Scrum===
===Eigenschaften von Scrum===
*eingeteilt in Sprints (zeitliche Projektabschnitte) fester Länge
*eingeteilt in Sprints (zeitliche Projektabschnitte bzw. Arbeitszyklen) fester Länge
*hohes Maß an Selbstorganisation (kein Teamleiter vorhanden)
*hohes Maß an Selbstorganisation (kein Teamleiter vorhanden)
*Dinge mit höchster Priorität werden zuerst angegangen
*Dinge mit höchster Priorität werden zuerst angegangen

Version vom 15. September 2009, 12:36 Uhr

Ü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
  • schneller Richtungswechsel möglich
  • klares Scoping
  • 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 Effizienz und Produktivität
  • bessere Produkte

Drei Rollen

Scrum kennt drei gleichberechtigte Management-Rollen:

  • Product Owner
  • Scrum Master
  • Team

Scrum erfordert

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

Eigenschaften von Scrum

  • eingeteilt in Sprints (zeitliche Projektabschnitte bzw. Arbeitszyklen) fester Länge
  • hohes Maß an Selbstorganisation (kein Teamleiter vorhanden)
  • Dinge mit höchster Priorität werden zuerst angegangen
  • Dinge mit größten Risiken werden zuerst angegangen (um schnell andere Richtung einschlagen zu können)
  • Dinge sind erst erledigt und werden "released", wenn wirklich alles fertig ist (auch Doku etc.)

Organisation

  • Sprint Planning Meeting (alle)
  • Daily Sprint Meeting bzw. Daily Scrum (alle, Product Owner optional)
  • Sprint Review Meeting (alle)
  • Product Backlog und Sprint Backlog als wichtige Mittel zur Dokumentation des Projekts

Rollen

Product Owner

  • ist verantwortlich für das Produkt (Deliverables) bzw. Ergebnisse des Projekts
  • vereint die klassischen Rollen des Produktmanagers (Chief Engineer), des Projektmanagers (aus Business-Sicht) und in Teilen des Solutionmanagers
  • erstellt und pflegt Produktvision (Roadmap, Big Picture)
  • ist verantwortlich für finanzielle Ergebnisse (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

Scrum Master

  • in Teilen mit der klassischen Rolle des Projektmanagers vergleichbar (nur als Projektbegleiter)
  • Agile Leader, Team-Coach, Moderator
  • 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

Team

  • eigenverantwortlich für Produktentwicklung und technische Umsetzung
  • organisiert sich selbst (ohne Leader)
  • legt selbst verbindlich fest, welche 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
  • dokumentiert Zustand der Tasks im Sprint Backlog (mit Angabe der benötigten Zeit)

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)
  • 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 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.

Literatur / weitere Infos

Siehe auch