Freitag, 27. Mai 2011

SCRUM - agile Softwareentwicklung

Gestern war ich auf einem Vortrag der abat AG über das Vorgehensmodell zu agilen Softwareentwicklung SCRUM, welches von Ken Schwaber, Jeff Sutherland und Mike Beedle entwickelt wurde.

Was SCRUM ist, sollte man als Informatiker eigentlich wissen. Wer es noch nicht kennt, dem werde hier geholfen.

Meine Definition von SCRUM schon einmal vorweg. SCRUM ist wie ein Teamspiel beim Sport aufgebaut: es gibt den PRODUCT OWNER, der die Rolle des Schiedsrichters übernimmt. Den SCRUM MASTER der als Kapitän die Mannschaft durch die einzelnen SPRINTS einer Staffel führt. Und natürlich das TEAM was die Mannschaft an sich Symbolisiert. Damit sind eigentlich schon fast alle Begriffe von SCRUM definiert. Natürlich ist dies noch nicht alles.

Daher habe ich hier nun ein Video eingefügt, dass SCRUM in 10 Minuten vollständig darlegt.


So, nach diesen zehn Minuten sollte SCRUM und seine Begriffe vollständig erklärt worden sein. Daher möchte ich nun darauf eingehen, warum, wieso und weshalb man SCRUM nutzen sollte und welche Nachteile dieses Vorgehensmodell hat.

Früher oder zum Teil auch heute noch, nutzte man Anstatt von agilen Vorgehensmodellen die Wasserfallmethode. Das Problem dabei ist die Verständigung zwischen Kunden, Berater und Programmierern. So konnte es sein, das beim Wasserfallmodell am Ende ein Produkt entsteht, das der Kunde, der PRODUCT OWNER, gar nicht haben wollte. Das ist bei einem agilen Vorgehen anders. Hier werden die einzelnen Produktionsschritte einer Software in Iterationen aufgeteilt - wie wir schon gelernt haben, sind bei SCRUM die einzelnen Iterationen als SPRINTS definiert. Am ende einer jeden Iteration wird dem Kunden das Beta-Produkt gezeigt und er kann Änderungswünsche einbringen.

Diese Änderungswünsche werden ebenfalls mit Prioritäten in die folgenden Iterationen eingebaut, somit können jedoch andere Produkt-Features hinten raus fallen. Agil bedeutet bei SCRUM also auch, Reagieren mit Konsequenzen. Somit kann auch nicht gesagt werden, was bei der Entwicklung genau heraus kommt. Es kann nur gesagt werden, in die Richtung geht es und es wird genau das Richtige für den Kunden sein.

Somit hat ein agiles Modell den großen Vorteil, dass nicht am Kunden vorbei entwickelt wird. Den der Kunde hat ja bekanntlich immer Recht.

Dazu muss man aber auch sagen, das es bei SCRUM zwar schneller ins Programmieren geht, aber das Planung & Tracking, Konzept & Dokumentation, Organisation & Projektstruktur sowie das Change Management nicht ersetzt werden kann und auch nicht wird.

So nun möchte ich noch einmal kurz die Vorteile und die Nachteile aufzählen, damit jeder selber für sich entscheiden kann, welchen Benefit SCRUM für die Softwareentwicklung im Team bringt und welchen nicht.

Vorteile:
  • frühe Softwareentwicklung
  • Motivation durch Eigenverantwortung & Feedback
  • verbesserte Softwarequalität
  • es wird nicht am Kunden vorbei entwickelt

Nachteile:
  • Umfang der Software kann nicht vorhergesagt werden
  • Keiner weiß genau, was bei der Entwicklung heraus kommt
  • hohe Anforderung an Kommunikation und Change Management
  • die Grenzen von Softwarearchitektur werden nicht außer Kraft gesetzt
  • SCRUM Entwicklung mit einem Festpreis nur schwer Möglich
  • bei regional verteilten Teams zu Aufwendig
  • Nearshore und Offshore nur begrenzt möglich
  • Zeitaufwand für die Fachbereiche des Kunden

Jetzt kann man denken, dass es ja mehr Nachteile als Vorteile gibt. Aber wägt mal ab, und ihr werdet meines Erachtens zu einem Ergebnis kommen, das die agile Softwareentwicklung priorisiert.

Weitere Informative Links zu SCRUM sind:

2 Kommentare:

  1. Hallo Jan,
    schöne Darstellung des Themas. Es freut mich dass dich unser Vortrag inspiriert etwas über das Thema zu schreiben.
    Wir schicken in den nächsten Tagen noch den Foliensatz an Gaby, damit sie ihn an euch verteilen kann.
    Es würde mich freuen wenn wir noch mal etwas von dir hören.
    Viele Grüße
    Hans
    abat AG

    AntwortenLöschen
  2. Da ich noch eine Frage an euch habe, werde ich versuchen über meinen Professor an deine eMail-Adresse zu kommen.
    Viele grüße auch zurück!

    AntwortenLöschen