60
Projekte mittels Scrum und agiler Software Entwicklung meistern. Aniello Bove, COO & Partner http://www.slideshare.net/ONESchweiz

Scrum und Agile Software Entwicklung

Embed Size (px)

DESCRIPTION

Managing Projects with Scrum and Agile Software Development.

Citation preview

Page 1: Scrum und Agile Software Entwicklung

Projekte mittels Scrum und agiler

Software Entwicklung meistern.

Aniello Bove, COO & Partner

http://www.slideshare.net/ONESchweiz

Page 2: Scrum und Agile Software Entwicklung

2 von 3 IT Projekte scheitern!

Page 3: Scrum und Agile Software Entwicklung
Page 4: Scrum und Agile Software Entwicklung
Page 5: Scrum und Agile Software Entwicklung
Page 6: Scrum und Agile Software Entwicklung
Page 7: Scrum und Agile Software Entwicklung
Page 8: Scrum und Agile Software Entwicklung
Page 9: Scrum und Agile Software Entwicklung
Page 10: Scrum und Agile Software Entwicklung

Warum scheitern IT Projekte?

Page 11: Scrum und Agile Software Entwicklung

Projekte sind nicht „statisch“.

Business Features stehen im Vordergrund

Kontinuierliches Prüfen und Anpassen

Kurze Iterationen - Inkrementelles Liefern

Teamarbeit

Page 12: Scrum und Agile Software Entwicklung

Lösung

Anfo

rderu

ngen

weit weg

vor Einigung

kurz

vor Einigung

na

he

an

Kla

rhe

it

we

it e

ntfe

rnt

vor

Kla

rheit

Gefahren sollte man nicht „ignorieren“.

Page 13: Scrum und Agile Software Entwicklung

Entwickler Median

80% Wahrscheinlichkeit

Schätzungen sind „wahrscheinlich“.

Projektleiter

Page 14: Scrum und Agile Software Entwicklung
Page 15: Scrum und Agile Software Entwicklung
Page 16: Scrum und Agile Software Entwicklung
Page 17: Scrum und Agile Software Entwicklung
Page 18: Scrum und Agile Software Entwicklung
Page 19: Scrum und Agile Software Entwicklung

Scrum & Agile Software Entwicklung.

Page 20: Scrum und Agile Software Entwicklung

Microsoft

Yahoo

Google

Electronic Arts

High Moon Studios

Philips

Siemens

Nokia

Capital One

BBC

Intuit

SAP

Intuit

Nielsen Media

First American Real Estate

BMC Software

Ipswitch

Lexis Nexis

Sabre

Salesforce.com

Time Warner

Turner Broadcasting

Allianz Deutschland

Scrum ist nicht neu.

Page 21: Scrum und Agile Software Entwicklung

Scrum.

Scrum fördert die Selbstorganisation/-verantwortung.

Lösungen werden in enger Zusammenarbeit und in

regelmässigen, kurzen Zyklen realisiert. Dadurch

wird ein dynamisches, agiles Umfeld geschaffen.

Page 22: Scrum und Agile Software Entwicklung

Agile Software Entwicklung.

Agile Entwicklung

unterstützt das

zyklische Vorgehen

von Scrum.

Projekte werden in

Arbeitspakete

aufgeteilt, damit

Erfolgsrisiken

schnell erkannt und adressiert werden können.

Transparenz und Nachvollziehbarkeit stehen im

Vordergrund.

Page 23: Scrum und Agile Software Entwicklung

sind

wichtiger

als

ist

wichtiger

als

ist

wichtiger

als

ist

wichtiger

als

Werte von Scrum/Agile Entwicklung.

Page 24: Scrum und Agile Software Entwicklung

Inkrementell und Iterativ.

Page 25: Scrum und Agile Software Entwicklung

Kontinuierlicher Flow.

Users & Sponsors

UI Designers

Programmers Testers

Business Analysts

Page 26: Scrum und Agile Software Entwicklung

Verbindlichkeit.

Typisches Szenario:

Projektleiter: Jungs, ihr habt mir gesagt, es dauert

2 Wochen.

Entwickler: Ja, aber das war nur eine Schätzung.

Projektleiter: Nun sagst Du mir, dass es noch 2

weitere Tage dauert? Ich dachte ich

könnte auf Euch zählen. Ich will,

dass es nun in 2 Wochen erledigt wird.

Schätzungen werden „verbindlich“!

Page 27: Scrum und Agile Software Entwicklung

Fertig.

Weiteres typisches Szenario:

Entwickler: Ich bin fertig!

Projektleiter: Schick mir den Link.

Entwickler: Ich muss es zuerst noch installieren.

…und so geht es weiter.

Definiere „erledigt“!

Page 28: Scrum und Agile Software Entwicklung

Scrum Instrumente.

Produkt Owner

Scrum Master

Team

Rollen

Sprint Planung

Sprint Review

Sprint Retrospektive

Tägliches Scrum

Meetings

Produkt Backlog

Sprint Backlog

Burndown Diagramm

Artefakte

Page 29: Scrum und Agile Software Entwicklung

Scrum Rollen.

Produkt Owner

Scrum Master

Team

Rollen

Sprint Planung

Sprint Review

Sprint Retrospektive

Tägliches Scrum

Meetings

Produkt Backlog

Sprint Backlog

Burndown Diagramm

Artefakte

Page 30: Scrum und Agile Software Entwicklung

SEO

Scrum Rollen.

Page 31: Scrum und Agile Software Entwicklung

Erfasst und priorisiert Produkt Features

Bestimmt Umfang und Termin

Ist verantwortlich für das finanzielle Ergebnis (ROI)

Akzeptiert oder weist Arbeitsergebnisse zurück

Produkt Owner.

Page 32: Scrum und Agile Software Entwicklung

Vertritt das Management gegenüber dem Team

Schützt das Team vor äußeren Störungen

Unterstützt die enge Zusammenarbeit und

Kommunikation zwischen allen Beteiligten

Stellt sicher, dass das Team funktioniert und

produktiv ist

Verantwortlich für die Einhaltung der Scrum Werte

Scrum Master.

Page 33: Scrum und Agile Software Entwicklung

Besteht üblicherweise aus 5-9 Vollzeitmitglieder

Deckt alle notwendigen Disziplinen ab

Team organisiert sich selbst

Mitglieder bleiben während des gesamten Sprints

Team.

Page 34: Scrum und Agile Software Entwicklung

Scrum Meetings.

Produkt Owner

Scrum Master

Team

Rollen

Sprint Planung

Sprint Review

Sprint Retrospektive

Tägliches Scrum Meeting

Meetings

Produkt Backlog

Sprint Backlog

Burndown Diagramm

Artefakte

Page 35: Scrum und Agile Software Entwicklung

Vor jedem Sprint, 60 Minuten

Sprint Priorisierung (Produkt Backlog) Produkt Backlog analysieren und auswerten

Sprint Ziel festlegen

Sprint Planung (Sprint Backlog) Sprint Backlog aus Produkt Backlog erstellen

Sprint Backlog in Stunden schätzen

Entscheiden, wie man das Sprint Ziel erreichen kann

Sprint Planung (Scrum Master).

Page 36: Scrum und Agile Software Entwicklung

Vor dem Sprint

8

5

3

5

5

5

3

5

5

8

Produkt

Backlog

Geschätzte

”Velocity”

8

5

3

5

5

Sprint

Backlog

Nach dem Sprint

8

5

3

5

5

Sprint

Backlog

Erledigt!

Erledigt!

Erledigt!

Teilweise Erledigt.

Nicht gestartet.

Echte

”Velocity”

„Velocity“ als Sprint Planungswert.

Page 37: Scrum und Agile Software Entwicklung

Nach jedem Sprint, 30-60 Minuten

Jeder darf/soll teilnehmen

Das Team präsentiert, was es während des Sprints erreicht hat Max. 2 Stunden Vorbereitungszeit

Informell

Keine Folien

In Form einer Demo

Sprint Review (Scrum Master).

Page 38: Scrum und Agile Software Entwicklung

Nach jedem Sprint, 15-30 Minuten

Das ganze Team darf teilnehmen, evtl. sogar der Kunde

Was lief gut? Was lief nicht gut? Aufhören mit…

Weitermachen mit…

Beginnen mit…

Sprint Retrospektive (Scrum Master).

Diese ist eine von vielen Methoden um Retrospektiven durchzuführen.

Page 39: Scrum und Agile Software Entwicklung

Tägliches Scrum (Scrum Master).

Täglich, 15 Minuten, Stand-Up

Team Mitglieder wählen Tasks aus oder verändern diese, sobald weitere Kenntnisse geschaffen wurde

Keine Problemlösungsdiskussionen

3 Fragen an jedes Team Mitglied: Was hast du gestern getan?

Was wirst du heute tun?

Welche Hindernisse stehen dir im Weg?

Page 40: Scrum und Agile Software Entwicklung

Produkt Owner

Scrum Master

Team

Rollen

Scrum Artefakte.

Sprint Planung

Sprint Review

Sprint Retrospektive

Tägliches Scrum

Meetings

Produkt Backlog

Sprint Backlog

Burndown Diagramm

Artefakte

Page 41: Scrum und Agile Software Entwicklung

Eine Liste aller gewünschten Features, Anforderungen, Wünsche und sogar Ideen

Das Sammeln/Dokumentieren von Requests erfolgt ununterbrochen

Idealerweise soll jeder Eintrag „wertvoll“ für den Anwender/Kunde der Lösung sein

Vom Produkt Owner fortlaufend (re)priorisiert

Produkt Backlog (Produkt Owner).

Page 42: Scrum und Agile Software Entwicklung

Backlog Item Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a reservation. 5

As a guest, I want to change the dates of a

reservation. 3

As a hotel employee, I can run RevPAR reports

(revenue-per-available-room) 8

Improve exception handling 8

... 30

... 50

Beispiel „Produkt Backlog“.

Page 43: Scrum und Agile Software Entwicklung

Die Liste aller Aufgaben, welche für die Erfüllung aller gemeinsam vereinbarten Features erforderlich sind

Die Anzahl Features werden während eines Sprints nie modifiziert, lediglich die Aufgaben können sich verändern

Deshalb vom Scrum Master koordiniert und nur vom Team täglich unterhalten

Sprint Backlog (Scrum Master).

Page 44: Scrum und Agile Software Entwicklung

Backlog Item Estimate

Allow a guest to make a reservation 3

... …

Beispiel „Sprint Backlog“.

Tasks

Code the user interface

Code the middle tier

Test the middle tier

Write online help

Write the foo class

Mo

8

16

8

12

8

Di

4

12

16

8

Mi Do

4

11

8

4

Fr

8

8

Add error logging

8

10

16

8

8

Page 45: Scrum und Agile Software Entwicklung

Grafische Visualisierung des Fortschritts dank transpartentem geschätzten Restaufwand

Hilfsmittel zur Identifikation von Terminprobleme

Gibt Aufschluss über die „Velocity"

Wird fortlaufend nachgeführt/aktualisiert Sprint Burndown Chart: täglich durch

Scrum Master

Produkt Burndown Chart: nach jedem Sprint durch Produkt Owner

Burndown Chart.

Page 46: Scrum und Agile Software Entwicklung

Tasks

Code the user interface

Code the middle tier

Test the middle tier

Write online help

Write the foo class

Mo

8

16

8

12

8

Di

4

12

16

8

Mi Do

4

11

8

4

Fr

8

8

Add error logging

8

10

16

8

8

Beispiel „Sprint Burndown Chart“. S

tun

de

n

40

30

20

10

0 Mo Di Mi Do Fr

50

Page 47: Scrum und Agile Software Entwicklung

Backlog Item Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a reservation. 5

As a guest, I want to change the dates of a

reservation. 3

As a hotel employee, I can run RevPAR reports

(revenue-per-available-room) 8

Improve exception handling 8

... 30

... 50

Beispiel „Produkt Burndown Chart“. S

tun

den

Page 48: Scrum und Agile Software Entwicklung

Scrum/Agile erfolgreich meistern!

Page 49: Scrum und Agile Software Entwicklung

Voraussetzungen schaffen.

Offen für Neues, denn Scrum stellt teilweise bisherige Grundsätze komplett auf den Kopf

Die Mitarbeiter dürfen nicht versuchen ein „Wasserfall Modell“ mit einem „agilen Vorgehen“ zu vergleichen

Das Management ist verantwortlich, dass das Umfeld (Ökosystem) für ein agiles Arbeiten geschaffen wird

Der Kunde muss akzeptieren, dass Zeit, Umfang und Budget nicht immer im voraus „fixiert“ werden können

Page 50: Scrum und Agile Software Entwicklung

Transition kontrolliert angehen.

Scrum ist nicht immer Scrum, denn eine individuelle Adaption ist unbedingt erforderlich (Kunden, Projekte, Mitarbeiter, Hilfsmittel etc.)

Erstellen eines kompletten „Transition Plan“ in die Scrum/Agile Zielorganisation und –methodik

Genügend qualifiziertes Fachpersonal innerhalb der Teams sicherstellen, bevor mit der Transition gestartet wird (Ausbildung/Rekrutierung/Consulting)

Adaptieren der Prozesse, Tools und Dokumente mit der Unterstützung und Teilnahme der jeweiligen Teams

Page 51: Scrum und Agile Software Entwicklung

Kollaborationsplattform als Basis.

Um Scrum mit agiler Entwicklung gerecht zu werden,

setzen wir eine Kollaborationsplattform ein, sodass

Kunde, Projektleiter, Mitarbeiter und Betrieb stets auf

dem selben Informationenstand sind.

Ticketing. Workflows.

WebDAV. Projekte. Change Requests. Defects.

Berechtigungen.

Page 52: Scrum und Agile Software Entwicklung

Prozesse

Dokumentationsinstrumente.

Inventare

Page 53: Scrum und Agile Software Entwicklung

Arbeitsinstrumente.

Produkt Backlog

Sprint Backlog

Sprint Aufgaben

Page 54: Scrum und Agile Software Entwicklung

Planungsinstrumente.

Mitarbeiter

Projekte

Page 55: Scrum und Agile Software Entwicklung

Vor- und Nachteile.

Kleinere und mehrere Auslieferungen (Teilprojekte/ und –lösungen) anstelle einer grossen Auslieferung am Ende des Projektes (“Big Bang”)

Klare und offene Kommunikation dank direktem Kontakt zwischen allen Beteiligten (inkl. Kunde)

Früherkennung von Gefahren und Risiken mittels regelmässigen und frühzeitigen Feedbacks

Höhere Zufriedenheit seitens Kunde, da auf geschäftskritische und –relevante Features fokussiert wird (ROI)

Grössere Motivation seitens Mitarbeiter weil Delivery Risiko auf das ganze Team verteilt ist

Page 56: Scrum und Agile Software Entwicklung

SEO

Fazit.

Scrum ist ein agiler Prozess, der es erlaubt auf die Auslieferung der wichtigsten Anforderungen in regelmäßigen Abschnitten (2-4 Wochen) tatsächlich lauffähige Software zu liefern.

Der Kunde setzt die Prioritäten. Die sich selbst organisierenden Entwicklungsteams legen das beste Vorgehen zur Auslieferung der höchstprioren Features fest.

Alle zwei bis vier Wochen kann jeder lauffähige Software sehen und entscheiden, diese so auszuliefern oder in einem weiteren Abschnitt zu ergänzen.

Page 58: Scrum und Agile Software Entwicklung

SEO

Findest Du Scrum verblüffend?

Es sieht nur komplizierter aus als es in der Tat ist.

Page 59: Scrum und Agile Software Entwicklung

SEO

Auch Du kannst es schaffen!

Man muss nur die richtige Plattform dafür schaffen.

Page 60: Scrum und Agile Software Entwicklung

Danke!

INM - der One-Stop-Shop für durchgängige

Web-Marketing-Lösungen.

Aniello Bove, COO & Partner

[email protected]