Mit ‘SCRUM’ getaggte Artikel

SCRUM als Dienstleister

Montag, 14. September 2009

“Ihr macht SCRUM? Und wie macht Ihr das als Dienstleister?”

Wenn wir mit Bekannten und Kunden darüber sprechen, welches Vorgehen wir bei uns in der Softwareentwicklung einsetzen, dann hören wir häufig diese Frage. So verlockend SCRUM auch ist, es scheint sich auf dern ersten Blick nicht so sehr für den Einsatz als Dienstleister zu eignen. Es sprechen offensichtlich  zwei Gründe dagegen:

  1. SCRUM ist ein iteratives Vorgehensmodell. Es ist quasi Teil der Philosophie, dass zu Beginn des Projektes nicht der gesamte Umfang des Projektes definiert ist und sich dieser Schritt für Schritt aus den Fortschritten des Projektes entwickelt.
  2. Der Kunde und seine Ansprechpartner kennen z.T. nicht  die Notwendigkeiten eines Software-Projektes. Sie verstehen sich daher nicht als Teil des Projektes und sind kaum in der Lage, die Rolle des Product Owner richtig zu spielen. Und wer kann sonst der Produkt Owner sein, wenn nicht der Kunde?

Und um es gleich vorweg zu nehmen: wir haben auch noch keinen Königsweg gefunden. Anhand unserer Erfahrungen aus dem letzten Jahr können wir aber einige Ideen mitgeben:

Zu Punkt 1 muss man zunächst auf das deutsche Gesetz schauen, damit das Dilemma klar wird. Wenn man zu einem Festpreis einen sog. “Werkvertrag” mit dem Kunden abschließt, dann schuldet man dem Kunden für den Werklohn den “Erfolg”. Man muss also das “Werk” fertigstellen und zwar so, wie es mit dem Kunden vereinbart wurde. Wenn es keine Definitionen zum Werk gibt, dann schuldet der Auftragnehmer ein Ergebnis mit den “durchschnittlichen” Eigenschaften, die man so erwarten dürfte. Diese Rahmenbedingung zwingt den Dienstleister, Rahmen und Umfang der gewünschten Software zu definieren. Das ist völlig unabhängig von SCRUM. Und ebenso unabhängig von SCRUM stellt es den Dienstleister vor die Aufgabe, ein Angebot abzugeben, zu dem er am Ende stehen muss. Als Dienstleister  muss ich also im Falle eines Werkvertrages den Gesamtumfang kennen und eine Schätzung des Umfanges haben, zu der ich stehen kann. Dies ist kein SCRUM Problem und wird auch mit SCRUM nicht gelöst (was man irrtümlich jedoch hofft).

Alternativ kann man auf eine vertrauensvolle Zusammenarbeit mit dem Kunden bauen und eine Entlohnung nach Aufwand vereinbaren. Das ist für den Dienstleister bequemer, verlagert das finanzielle Riskio jedoch auf den Auftraggeber, ohne auch die Entscheidungshoheit auf den Auftraggeber zu verlagern, sofern er Kunde keine Ahnung von Softwareprojekten hat. Insofern ist dieser Ansatz wohl nur etwas für Dienstleister-Kunden-Beziehungen, denen ein hohes Maß an Vertrauen zugrunde liegt.

Zu Punkt 2:  Wenn der Kunde die Rolle des Product Owner nicht kennt, dann muss man ihm helfen. So einfach ist das – und so schwer umzusetzen. Wenn der Kunde nämlich jemand ist, der sich nicht selber bemüht, diese Rolle auszufüllen, dann muss der Dienstleister dem Kunden jemanden zur Seite stellen, der diese Arbeit in Vertretung des Kunden übernimmt. Im einfachsten Fall könnte das ein sehr bemühter SCRUM Master sein, der nie müde wird, den Kunden immer wieder anzusprechen, hinzuweisen und einzubinden. Aber auch ein Berater, der keine andere Aufgabe hat, als die Visionen des Kunden “anwaltlich” zu übernehmen wäre denkbar.

Beide Punkte zeigen mal wieder eines: SCRUM ist kein Heilmittel, dass problemloses Projektmanagement ohne Aufwand verspricht. Es ist ein Werkzeug, das richtig eingesetzt werden muss, damit es seine ganze Macht entfalten kann.


Andreas Jene


Erfahrungsbericht Aglie Softwareentwicklung mit SCRUM

Montag, 16. März 2009

Wir haben lange verschiedene Formen des Projektmanagements für unsere Softwareprojekte ausprobiert. Erst mit SCRUM habe ich das Gefühl, die Kontrolle über unsere Softwareprojekte zurückbekommen zu haben.

Gleichzeit entspricht SCRUM genau dem, was wir eigentlich immer von allen Kollegen erwartet haben: eigenständige und verantwortungsvolle Softwareentwicklung. Allerdings lernen wir, die wir uns immer in der Verantwortung für die Ergebnisse und die Steuerung der Projekte sehen, jeden Tag dazu. Z.B. wie ein kleiner ungeschickt formulierter Kommentar des “Chefs” bei Mitarbeitern schnell zu Misverständnissen führen kann. Wenn man nicht aufpasst bauen sich Blockaden in der Kommunikation auf und die Situation wird schwieriger – zwischenmenschlich und im Projekt. Die “Chefs” können eben nicht immer in die Köpfe der Mitarbeiter schauen – und andersrum geht es auch nicht.

Was das mit SCRUM zu tun hat? Zum einen gibt es im SCRUM das Regelwerk zur Durchführung von Projekten, inkl. Sprints, Rollenverteilung, Meetingzyklen usw. – dazu wurde schon viel Literatur verfasst.
Zum anderen ist SCRUM eine Frage der Arbeitskultur. Und dies ist wohl der Punkt, an dem sich das Gelingen oder Mislingen eines jeden Projektprozesses entscheidet!

Was ich meine ist: die reine Einführung des SCRUM Regelwerkes wird nicht funktionieren, wenn es nicht von ALLEN Beteiligten in gleichem Maße gewünscht ist. Jeder muss es wollen und auch unterstützen – Product Owner, Scrum Master und auch das Team! Manchmal habe ich in Gesprächen den Eindruck, dass der Wille zum SCRUM Prozess hauptsächlich bei den sog. Projektmanagern liegt. Ist ja auch klar, da diese den stärksten Wunsch haben, irgendwie das Projekt unter “Kontrolle” bringen zu können. Wenn der Wille aber nicht gleichermaßen auch z.B. beim Team vorhanden ist, dann hat der Projektmanager nur die Möglichkeit, den Prozess über Druck auf die Mitarbeiter durchzusetzen. Und damit wäre er dann schon direkt kontraproduktiv, da der Druck früher oder später die Eigenständigkeit des Teams erstickt und eben diese im SCRUM erwünscht ist.

Ich habe mit Absicht Projektmanager geschrieben, nicht SCRUM Master, denn wie wir alle wissen, ist der SCRUM Master kein verantwortlicher Manager. Und das ist genau der Punkt: unterschiedliche Arbeits- und Denkkultur. Wir versuchen zwar das Neue (SCRUM) umzusetzen, im Zweifelsfall verfallen wir aber immer wieder in alte Ansichten (Projektmanager, Gannt-Charts).

Es ist wichtig, dass sich jeder Einzelne für seine Verantwortung in einem SCRUM Prozess bewusst ist. Diese Verantwortung ist der Preis für einen hohen Grad an Eigenständigkeit und viele Rechte, die der Einzelne sonst nicht hätte. Mit diesen Rechten und Pflichten sollte sich jeder Beteiligte identifizieren – und dann damit auch umzugehen wissen. Jeder, der sich damit nicht auseinandersetzt und somit (beabsichtigt oder nicht) Rechte und Pflichten verletzt, sorgt auf seine Art für eine Destabilisierung des Prozesses.

Mein Fazit: SCRUM funktioniert, wenn ALLE Beteiligten es auch wirklich unterstützen. Der “Aufwand” lohnt sich!


Andreas Jene


Mini-SCRUM Zwischenergebnis

Mittwoch, 16. Juli 2008

Seit Anfang 2008 benutzen wir in unserer internen Produktentwicklung das SCRUM Vorgehensmodell (Infos: http://de.wikipedia.org/wiki/Scrum) . Nun möchte ich hier nicht über dieses agile Vorgehensmodell an sich philosophieren, sondern über die Besonderheiten und Zwischenergebnisse in unserem kleinen Feldversuch.

Das Besondere an unserem Projekt ist, dass es so klein ist. Das Team besteht aus einem einzigen Entwickler, die sehr engen Vorgaben für das Ergebnis kommen von einer weiteren Person.

Daraus ergibt sich zunächst ein Problem mit der Rollenverteilung: wir können Product Owner und Scrum Master nicht ohne weiteres personell trennen. Unser Zwischenergebnis: die Rolle des SCRUM Masters tritt in den Hintergrund. Da der SCRUM Master eigentlich nur die Aufgabe hat, die SCRUM Prozess aufrecht zu erhalten und Probleme aus dem Weg zu räumen, wird seine Rolle unwichtiger, solange alle sich gleichermaßen bemühen, den Prozess umzusetzen. Die Rolle des Product Owner ist wichtiger, da er die Verantwortung für alle Entscheidungen und Priorisierungen hat. Ein SCRUM mit einer Person als Product Owner (Chef) und einer Person als Entwickler (Mitarbeiter) bedeutet vor allem eines: abgeben können, nicht als Chef bestimmen, Eigenständigkeit fördern. Also eigentlich das, was man will.

Durch die “Kleinheit” des Ansatzes rücken ausserdem SCRUM-Aspekte in den Mittelpunkt, die bei großen Teams und langen Sprints vielleicht nicht auftreten würden. So sind die geplanten Sprints sehr wenig robust gegen Einflüsse von Aussen und geraten dadurch sofort in Gefahr:

  • Überraschende Krankheit des einzigen Mitarbeiters stoppt sofort die ganze Arbeit
  • ein einzelner falsch eingeschätzter Task behindert sofort das gesamte Fortkommen
  • Zu ehrgeizig “gepackte” Sprints können viel schlimmer enden.

Ergebnis: Sprints sollten nicht zu kurz sein (Gesamtumfang >= 2 Mann-Wochen hat sich als Minimum gezeigt) und etwas mehr Reserve im Sprint belassen.

Lohnt sich das Vorgehen denn dann bei so kleinen Teams? In unserem Fall ist diese Frage klar mit “JA” zu beantworten. An oberster Stelle der Vorteile ist die ständige Absprache und Steuerungsmöglichkeit des Projektes, die auch den in unserem Fall sehr notwendigen Know-How-Transfer gut auffangen kann. Das Projekt erreicht zwar nicht immer alle Ziele, bleibt aber stets unter Kontrolle. Wildwuchs an der Software wird von Anfang an verhindert.

So weit das erste Zwischenergebnis aus unserem Feldversuch “Mini-SCRUM”


Andreas Jene