Lade Inhalt...

Agiles Projektmanagement mit Scrum

Seminararbeit 2008 28 Seiten

Informatik - Angewandte Informatik

Leseprobe

Inhaltsverzeichnis

1 Entstehung und Ursprung von agiler Softwareentwicklung

2 Methoden der Softwareentwicklung
2.1 Klassifikation von Softwareentwicklungsmethoden
2.2 Agile Methoden der Softwareentwicklung

3 Scrum als Methode der agilen Softwareentwicklung
3.1 Was passiert wann? Der ScrumProzess
3.2 Ohne sie geht nichts – Die Rollen bei Scrum
3.2.1 ProductOwner
3.2.2 Team
3.2.3 ScrumMaster
3.3 Wie alles beginnt – Die Strategische Planungsphase
3.3.1 Alles beginnt mit der Vision
3.3.2 Planungsebenen in Scrum
3.3.3 Product Backlog
3.4 Die Implementierung beginnt – Der Projektablauf
3.4.1 Die Taktische Planungsphase
3.4.2 Umsetzung des Sprints
3.4.3 Nachbereitung des Sprints

4 Praxiseinsatz von Scrum

Literaturverzeichnis

1 Entstehung und Ursprung von agiler Softwareentwicklung

Ende der 50er / Anfang der 60er Jahre entstehen die ersten Softwareentwicklungen – anfangs noch wenig komplex und meist nur zu wissenschaftlichen Zwecken. Vor allem unzureichende Hardware verhindert leistungsfähige und wirtschaftlich einsetzbare Prog­ramme. Mitte der 60er beginnen Computer die Unternehmenswelt im großen Stil zu erobern und somit steigen die Anforderungen an Hard- und Software. Wo Hardware durch den Einsatz von Transistoren und integrierten Schaltkreisen problemlos den wachsenden Ansprüchen gerecht wird, stockt es bei der Entwicklung von Software. Immer komplexer werdende Programme benötigen ganz neue Planungstechniken, Arbeits- und Denkweisen, die zu diesem Zeitpunkt noch nicht vorhanden sind. Dies führt oft zu einer hohen Anzahl von Fehlern in den Programmen, Nichteinhaltung von Projektfristen und dramatischen Fehlkalkulationen bei den Entwicklungskosten. 1965 war es schließlich so weit, dass man von der sog. Softwarekrise zu sprechen begann und neue Methoden der Softwareentwicklung dringend erforderlich wurden. [DK05, S. 15­18]

Die Geburtsstunde des noch heute etablierten Begriffs Software Engineering war 1968 auf der ersten SoftwareEngineering-Konferenz in GarmischPartenkirchen. Um die Softwarekrise bald beenden zu können, wollte man Planungstechniken aus den Ingenieurswissenschaften für die Softwareentwicklung adaptieren. Die dabei entstandenen Techniken werden heute oft als die „klassischen Methoden der Softwareentwicklung“ bezeichnet und brachten nur einen begrenzten Erfolg. Grund hierfür ist ein gravierender Unterschied zwischen Softwareentwicklung und Ingenieurswissenschaft: Beispielsweise beim Bau einer Brücke sind die meisten Faktoren wie Flussverlauf und Untergrund bereits vor Baubeginn ermittelbar und ändern sich nur sehr selten im Projektverlauf. Bei der Softwareentwicklung stellt sich der Sachverhalt ganz anders dar: Gerade in einem stark dynamischen Umfeld sind die einst erhobenen Anforderungen schnell überholt. [DH04]

Das Schlüsselwort lautet hier „Flexibilität“ (oder auch oft als „Agilität“ bezeichnet). Zu diesem Zwecke wurden in den vergangenen 15 Jahren viele sog. „Agile Softwareentwicklungsmethoden“ entwickelt, die Risiken wie Terminverzögerung, geänderte Kundenanforderungen, zu hohe Fehlerrate und weiterentwickelte Geschäftsprozesse minimieren sollen. Eine der am schnellsten wachenden agilen Methoden ist Scrum. Diese Methodik zeichnet sich, laut einem seiner Mitbegründer Ken Schwaber [Sc07], vor allem durch seine Einfachheit in der Erlernung und Anwendung aus. Scrum gibt seinem Anwender einige wenige Verfahren und Werkzeuge (sog. Artefakte) an die Hand, mit denen sich selbst komplexe Projekte bewerkstelligen lassen. Aber Scrum ist nicht nur in der Theorie sehr vielversprechend. Wie die beiden Yahoo!-Produktmanager Deemer und Benefield [DB07] berichten, wenden viele Unternehmen, darunter Marktriesen wie Yahoo! selber, Microsoft, Google, Motorola, SAP oder Cisco, Scrum erfolgreich an und wollen auch zukünftig daran festhalten.

Das folgende Kapitel befasst sich ausführlicher mit der Klassifizierung von Softwareentwicklungsmethodiken. Dadurch wird vor allem deutlich, welchen Platz agile Vorgehensmodelle und speziell Scrum im SoftwareManagement einnehmen.

Kapitel 3 beschreibt Scrum detailliert und bildet damit das Herzstück dieser Ausarbeitung. Neben der Beschreibung des ScrumProzesses wird dabei auf alle auftauchenden Rollen, Vorgänge und Meetings ausführlich eingegangen.

Das Ende dieser Ausarbeitung soll zeigen, wie weit verbreitet Scrum aktuell ist und wo weitere Potentiale dieser Methodik liegen.

2 Methoden der Softwareentwicklung

2.1 Klassifikation von Softwareentwicklungsmethoden

Um Scrum besser zu verstehen, werden im Folgenden die verschiedenen Klassen der Softwareentwicklungsmethoden vorgestellt. Laut Dornberger und Habegger [DH04] wird in einem ersten Schritt zwischen der „Softwareentwicklung ohne Methode“ und der „Methodischen Softwareentwicklung“ unterschieden.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 1: Klassifikation der Softwareentwicklungsmethoden

Der linke Ast des Klassifikationsbaums in Abb. 1 wird auch oft als reines „Hacking“ bezeichnet. Hierbei fängt ein Entwickler ohne vorherige Planung direkt mit der Implementierung an. Die Nachteile liegen auf der Hand: Zwar werden hierdurch Zeit und Kosten gespart, aber durch Personalwechsel im Entwicklerteam oder geänderte Anforderungen ist eine Weiterentwicklung oder Erweiterung oft nur schwer bis gar nicht möglich. Wenn überhaupt, eignet sich diese Methode bei kleinen Projekten mit einem oder wenigen Entwicklern.

Wie bereits in Kapitel 1 kurz erläutert, unterscheidet man in der methodischen Softwareentwicklung heute zwischen klassischen und agilen Methoden. Klassische Vertreter sind beispielsweise das Wasserfallmodell, das VModell und das objektorientierte Vorgehensmodell. Ziel von den Vertretern dieser Art ist es, die Entwicklung so gut wie möglich planbar zu machen, um möglichst gegen allen Eventualitäten gerüstet zu sein. Beim Vorgehen haben die klassischen Methodiken dabei alle eines gemeinsam: Die Entwicklung ist in eine Reihe von Phasen eingeteilt, die nacheinander durchlaufen werden bis das fertige Produkt erstellt ist. Daraus folgt in der Regel, dass Anforderungsanalyse und Fertigstellung zeitlich sehr weit voneinander entfernt sind und nachträgliche Anforderungsänderungen oft nur schwer zu handhaben sind [DH04, S. 4].

Demgegenüber zeichnen sich agile Methodiken vor allem durch Flexibilität im Projektablauf aus. So ist beispielsweise die Zusammenarbeit mit dem Kunden wichtiger als die Aushandlung eines Vertrages. Zugunsten der Flexibilität wird deshalb i. d. R. auf detaillierte Anforderungsanalysen zu Projektbeginn verzichtet. Scrum beispielsweise plant die Anforderungen an eine Software anfangs nur sehr grob und wenig detailliert. Erst im Laufe des Entstehungsprozesses werden diese genauer ausgearbeitet und bleiben so zu jedem Zeitpunkt leicht aktualisier- und veränderbar.

Um die Grundprinzipien agiler Entwicklung festzuhalten haben sich im Februar 2001 Vertreter vieler agiler Methoden, darunter auch mehrere der ScrumBegründer, getroffen und das „Agile Manifest“ [BB01] verfasst. In dieser Arbeit bewerten sie

Abbildung in dieser Leseprobe nicht enthalten

2.2 Agile Methoden der Softwareentwicklung

Obwohl agile Methoden noch nicht lange existieren, gibt es heute bereits eine Vielzahl an veröffentlichten Methodiken, die sich als „agil“ bezeichnen. Ob diese Bezeichnung immer korrekt ist lässt sich nur schwer beantworten, denn die Grenze zwischen klassischen und agilen Methoden ist stellenweise sehr verschwommen [BK08, S. 114]. Um sich in diesem Wust von Verfahren zurecht zu finden, haben sich Dogs und Klimmer [DK05] die Arbeit gemacht verschiedene Klassen für agile Softwareentwicklungsmethoden auszuarbeiten. Mit ihrer Hilfe wird am Ende dieses Abschnitts klarer, was sich hinter dem Begriff „Scrum“ verbirgt und wo die Unterschiede zu anderen agilen Methoden liegen.

Grundsätzlich gliedern die beiden Autoren agile Methodiken in vier Klassen:

- Prozessorientierte Methodiken: In dieser Klasse finden sich Methoden, die sich sehr stark auf einen Prozess konzentrieren. Dabei setzen sie im Gegensatz zu werkzeugzentrierten Methodiken keinerlei Entwicklungspraktiken voraus.
- Mitarbeiterzentrierte Methodiken: Mitarbeiterzentrierte Methoden stellen den Menschen in den Mittelpunkt und sehen ihn als zentrales Element der Entwicklung.
- Werkzeugorientierte Methodiken: Diese Art von Methoden schreibt dem Anwender spezielle Werkzeuge, wie beispielsweise den Einsatz von UML vor.
- Unvollständige Methodiken: Unter unvollständigen Methoden werden alle Methodiken zusammengefasst, die nach den agilen Grundvorstellungen und Werten agieren, aber für sich alleine nicht ausreichen um funktionierende Software entwickeln zu können.

Scrum ordnen Dogs und Klimmer zusammen mit Methodiken wie Extreme Program­ming (XP) und FeatureDriven-Development (FDD) den prozessorientierten Methodiken zu. Aus dieser Einteilung wird bereits ersichtlich, dass bei Scrum ein Prozess (der „ScrumProzess“) im Vordergrund steht.

Um einen Überblick über dieses zentrale Konstrukt zu bekommen, wird der ScrumProzess in Kapitel 3.1 einleitend grob beschrieben. Im weiteren Verlauf des folgenden Kapitels wird dann detailliert auf alle in ihm enthaltenen Meetings, Artefakte und Rollen eingegangen, um so eine genaue Vorstellung über die Ausgestaltung und Anwendung von Scrum zu bekommen.

3 Scrum als Methode der agilen Softwareentwicklung

Jörg Dressler betritt den Konferenzraum. Seine Gedanken kreisen um die webbasierte ECommerce-Plattform an deren Funktionsplanung er in den letzten Wochen gearbeitet hat. Sein Chef hat ihm versichert, dass die Leute, die er in dem Konferenzraum treffen wird, zu den Besten ihres Fachs innerhalb der Firma gehören.

„Guten Tag meine Damen und Herren.“ Jörg schaut in die Runde und sieht die fragenden Gesichter der vier Männer und zwei Frauen. Die Anwesenden kommen aus verschiedensten Fachbereichen: Softwareentwickler, Webdesigner, Tester, GUIEntwickler und auch ein MarketingSpezialist.

„Sie werden sich fragen, warum Sie hier sind. Die Antwort ist, dass wir genau Sie benö-tigen um unser neues Produkt Realität werden zu lassen! In den nächsten zehn Monaten werden Sie zusammen eine neue ECommerce-Plattform entwickeln, die wir als Standardprodukt in unser Portfolio aufnehmen werden. Hierfür werden Sie von Ihrer laufenden Tätigkeit freigestellt und bekommen für die Zeit dieses Projekts neue gemeinsa- me Büroräume.“

Jörg mac ht eine Pause und fährt fort: „Wir zählen auf Sie! Wir erwarten nach A bschluss des Projekts ein verkaufsfähiges Produkt, keine Studie und kein Prototyp. Hierfür haben Sie volle Handlungsfreiheit. Wir werden Sie so gut es geht unterstützen. Viel Glück!“

Die dargestellte Szene (in Anlehnung an [Gl08, S. 9+10]) beschreibt die Ausgangslage eines ScrumProjekts. Ein Team mit Mitgliedern aus verschiedenen Fachbereichen bekommt ein Projekt zugewiesen, dass in eigenverantwortlicher Arbeit durchgeführt werden soll. Dieses Beispiel wird im Laufe der Ausarbeitung immer wieder auftauchen und mit den neuen Erkenntnissen weiterentwickelt. Mit seiner Hilfe soll der theoretische Ablauf von Scrum praktisch veranschaulicht werden.

Aber was überhaupt ist Scrum? Das erste Mal taucht Scrum 1986 in der Veröffentlichung „The new new Product Development Game“ von Nonaka und Takeuchi auf [TN86]. Sie führen auf, dass kleine, hochvernetzte und aus interdisziplinären Mitgliedern bestehende Teams oft die besten Resultate erzielen [BK08, S. 124+125]. Den Begriff „Scrum“ leiten sie aus der sog. ScrumFormation im Rugby ab, bei dem die Teams in einer Art „Gedränge“ (deutsche Übersetzung fir „Scrum“) miteinander agieren.

[...]

Details

Seiten
28
Jahr
2008
ISBN (eBook)
9783640908080
ISBN (Buch)
9783640908493
Dateigröße
648 KB
Sprache
Deutsch
Katalognummer
v126725
Institution / Hochschule
Westfälische Wilhelms-Universität Münster – Praktische Informatik in der Wirtschaft
Note
1,3
Schlagworte
Scrum Agile Softare-Entwicklung Software-Management Software-Management-Methode Scrum-Prozess Product Owner Scrum Master Scrum Team Software-Entwicklungsmethode Agile Methode Projektmanagement Projektmanagement-Methode Agile Projektmanagement-Methode Software-Projekt agil Extreme Programming XP Stakeholder Scrum Statistik Software-Erstellung Projekt-Management Projekt Management

Autor

Teilen

Zurück

Titel: Agiles Projektmanagement mit Scrum