Upload
duongphuc
View
223
Download
0
Embed Size (px)
Citation preview
1
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
[email protected]: 1.0
SCRUMErfahrungen im Kleinen und
GroßenMatthias Niete
Felix Kugel
2
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
2
3
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Big Picture• Sprints und Rollen• Meetings• Artefakte
4
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Hintergrund
• 1986: Hirotaka Takeuchi & Ikujiro Nonaka– kleine, interdisziplinäre teams produzieren die besten Ergebnisse– „The New New Product Development Game “
• „Lernende Organisation“– Erfolg z.B. bei Toyota
• 1995: „The Knowledge Creating Company“
3
5
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
SECI - Modell
6
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Artefakte und Rollen
http://scrumforteamsystem.com
4
7
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Wir verlieren den Staffellauf
Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, January 1986.
“Der ‘Staffellauf-Ansatz’ in der Produktentwicklung…kann in Konflikt stehen mit Zielen wie maximale Flexibiltiät und Geschwindigkeit.
Anstelle dessen mag ein holistischer ‘Rugby’ Ansatz - in dem ein Team eine Entfernung durch Pässe rückwärts und vorwärts überbrückt - den heutigen Wettbewerbsanforderungen besser dienen.
Mountain Goat Software, LLC
Quelle der Folien
8
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
100 Worte über Scrum
• Scrum ist ein Agiler Prozess der uns einen Fokus auf die Auslieferungdes höchsten Geschäftswerts in der kürzesten Zeit erlaubt.
• Er erlaubt uns häufig und wiederholend laufende Software zubegutachten.
• Der Fachbereich setzt die Prioritäten. Die Teams organisieren sich selbst,um den besten Weg zu finden, die Features mit der höchsten Prioritätauszuliefern.
• Man kann mit 14 Tagen zum Ende eines Monats entscheiden, ob dieSoftware released wird oder noch einen Sprint weiter entwickelt wird.
5
9
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Big Picture
10
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
„Done“
• Potentially Shippable Code– ...integriert– ...getestet– ...dokumentiert
6
11
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Big Picture• Sprints und Rollen• Meetings• Artefakte
12
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Sprints
• Scrum Projekte laufen entlang einer Serie von “Sprints”• Ähnlich wie den Iterationen von XP
• Typische Sprint Dauern sind 2-4 Wochen
• Eine konstante Dauer hilft der Rhythmusbildung
• Das Produkt wird während des Sprints entworfen, entwickeltund gestestet
7
13
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Keine Veränderungen während des Sprints
• Planen Sie die Sprintdauer abhängig davon, wie langeVeränderungen vom Sprint ferngehalten werden können
Änderungen
14
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Rollen im Scrum
Product OwnerScrum MasterTeam
8
15
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Der Product Owner
• Definiert Produkt-Features
• Bestimmt Auslieferungsdatum und Inhalt
• Ist verantwortlich für das finanzielle Ergebnis des Projekts
• Priorisiert Features abhängig vom Marktwert
• Passt Features und Prioritäten nach Bedarf für jedenSprint an
• Akzeptiert oder weist Arbeitsergebnisse zurück
16
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Der Scrum Master
• Repräsentiert das Management gegenüber dem Projekt• Verantwortlich für die Einhaltung von Scrum-Werten und -Techniken• Beseitigt Impediments (Hindernisse)• Stellt sicher, dass das Team vollständig funktional und produktiv ist• Unterstützt die enge Zusammenarbeit zwischen allen Rollen und
Funktionen• Schützt das Team vor äußeren Störungen
9
17
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Das Team
• Typischerweise 5-9 Personen
• Funktionsübergreifend:– QS, Programmierer, UI-Designer, etc.
• Mitglieder sollten Vollzeitmitglieder sein– Wenige Ausnahmen (z.B. Systemadministratoren)
• Teams organisieren sich selbst– Ideal: keine Titel (aber manchmal nicht vermeidbar)
• Mitgliedschaft kann sich nur zwischen Sprints verändern
18
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Big Picture• Sprints und Rollen• Meetings• Artefakte
10
19
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Zeremonien
• Pre-Game:– Sprint Planning– Estimation
• In- Game:– Daily Scrum
• Post- Game:– Sprint Review– Sprint Retrospective
20
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Estimation Meeting
• Ziele– Vermessung der User Stories
(Features)– Wissenstransfer und
Produktidentifikation– Planungsvorbereitung
• Teilnehmer– Product Owner– Scrum Master– alle Teammitglieder
• Durchführung– Product Owner jede Story kurz
vor– Team stellt fragen– Team schätzt jede Story (z.B. mit
StoryPoints)
Backlog item Estimate
Allow a guest to make a reservation 3As a guest, I want to cancel areservation. 5
As a guest, I want to change thedates of a reservation. 3
As a hotel employee, I can runRevPAR reports (revenue-per-available-room)
8
Improve exception handling 8
... ...
... ...
11
21
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Sprint-Planungsmeeting
Sprint Priorisierung
•Product Backlog analysieren und auswerten•Sprint Ziel festlegen
Sprint-Planung
•Entscheiden, wie man das Sprint Ziel erreichen kann (Design)•Sprint Backlog (Tasks) aus Product Backlog (User Stories/Features) erstellen•Sprint Backlog in Stunden schätzen
SprintZiel
SprintBacklog
Business Umgebung
TeamKapazität
Product Backlog
Technologie
Aktuelles Produkt
Sprint Planungsmeeting
22
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Die Sprint Planung
• Team wählt Einheiten, zu deren Implementierung es sich verpflichten kann,aus dem Product Backlog aus
• Sprint Backlog wird erstellt– Tasks werden identifiziert und geschätzt (1-16 Stunden)
– Dieses wird gemeinschaftlich getan, nicht vom ScrumMaster allein
• Highlevel-Design wird berücksichtigt
As a vacation planner,I want to see photosof the hotels.
As a vacation planner,I want to see photosof the hotels.
Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)
12
23
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Das tägliche Scrum-Meeting
• Parameter:
– Täglich
– 15 Minuten lang
– Stand-up
• Nicht zur Problemlösung
– Alle sind eingeladen
– Aber nur Team-Mitglieder, der ScrumMaster, und der Produkt-Owner dürfen reden
• Hilft, andere/überflüssige Meetings zu vermeiden
24
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Jeder beantwortet 3 Fragen
• Diese sind kein Statusberichte für den ScrumMaster,• sondern Verpflichtungen in Anwesenheit der Kollegen
Was hast du gestern getan?Was hast du gestern getan?
11
Was wirst du morgen tun?Was wirst du morgen tun?
22
Welche Hindernisse sind indeinem Weg?Welche Hindernisse sind indeinem Weg?
33
13
25
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Das Sprint-Reviewmeeting
• Das Team präsentiert, was es während eines Sprints erreicht hat
• Typischerweise in Form einer Demo der neuen Features oder der zugrundeliegenden Architektur
• Informell– ‚Zwei Stunden zur Vorbereitung‘-Regel
– Keine Folien
• Das ganze Team nimmt teil
• Laden Sie die ganze Welt ein!
26
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Die Sprint-Retrospektiven
• Prüfen Sie regelmäßig, was gut und nicht so gut funktioniert
• Typischerweise 15–30 Minuten lang
• Nach jedem Sprint
• Das ganze Team nimmt teil– ScrumMaster
– Produkt-Owner
– Team
– Vielleicht Endkunden und andere Personen (aber Vorsicht!)
14
27
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Big Picture• Sprints und Rollen• Meetings• Artefakte
28
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Artefakte im Scrum
Product BacklogSprint BacklogBurndown-DiagrammImpediment Backlog
15
29
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Das Product Backlog
• Die Anforderungen• Eine Liste aller gewünschten
Projektarbeiten• Idealerweise soll jeder Eintrag
wertvoll für Benutzer des Produktesoder Kunden sein
• Vom Produkt-Owner priorisiert• Zu Beginn jedes Sprints re-priorisiert
Product Backlog
30
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Product Backlog: Beispiel
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
... ...
... ...
16
31
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Management des Sprint Backlog
• Team-Mitglieder wählen Tasks aus (Arbeit wird nie zugewiesen)
• Die geschätzte restliche Arbeit wird täglich aktualisiert
• Jedes Team-Mitglied kann Tasks hinzufügen, löschen oder ändern
• Neue, für den Sprint benötigte Arbeit taucht auf
• Wenn Arbeit unklar ist, definieren Sie eine Task mit einer größerenZeitschätzung und brechen diese später herunter
• Updaten Sie verbleibende Arbeit sobald Sie mehr wissen
32
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Sprint Backlog: Beispiel
TasksTasks
Code the user interface
Code the middle tier
Test the middle tier
Write online help
Write the foo class
MoMo
8
16
8
12
8
DiDi
4
12
16
8
MiMi DoDo
4
11
8
4
FrFr
8
8
Add error logging
8
10
16
8
8
17
33
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Das Sprint Burndown-Diagramm
Stun
den
34
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Impediment Backlog: Beispiel
ImpedimentImpediment von wemvon wem gestelltgestellt StatusStatus Verant-wortlichVerant-wortlich
Teambuild-Server to less memory FKU, TME,ABU 21.11.08 in arbeit MNI
Komponente xy von Firma Z nochimmer nicht da LMU 23.11.08 neu DMS
Whiteboard für die Raucherecke KPU,FKU 01.11.08 in arbeit DMS
18
35
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
36
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Agiles Manifest
Manifesto for Agile Software Development(Beck, Fowler, Cockburn, uvm,. 2001)
• Einzelpersonen und Interaktionen wichtiger alsProzesse und Werkzeuge
• Laufende Systeme wichtiger alsumfangreiche Dokumentation
• Zusammenarbeit mit dem Kunden wichtiger alsVertragsverhandlungen
• Fähigkeit auf Änderungen zu reagieren wichtiger alsVerfolgen eines Plans
19
37
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Welche Fähigkeiten verlangt Scrum vonden Beteiligten?
Product Owner muss Produktideen initiieren, verfolgen, vertreten underklären können
38
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Welche Fähigkeiten verlangt Scrum vonden Beteiligten?
• Teammitglieder– muss technische Ideen entwickeln können/wollen– muss teamfähig sein– Probleme selber einschätzen und Lösungen umsetzen können– KISS Prinzip lieben– muss eigenverantwortlich handeln können/wollen
20
39
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Welche Fähigkeiten verlangt Scrum vonden Beteiligten?
• ScrumMaster– muss soziale Kompetenz besitzen– muss ausgeprägte Moderationsfähigkeiten besitzen– muss „angstfrei“ sein
Nur wenn diese Fähigkeiten bei allen Projektmitgliedernvorhanden sind wird Scrum produktiv funktionieren!
40
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Wie muss eine Organisation für Scrum gestrickt sein?
• Management– Don‘t push, let them pull!– Respekt und Vertrauen gegenüber den Entscheidungen der Product
Owner, Teams und Scrum Master– Notausgang für Non Scrumer
• Infrastruktur– ein Team ein Raum mit Platz für daily Scrums, Whiteboards und
PairProgramming Plätzen– einen ruhigen Arbeitsplatz für den Product Owner– extra Raum für Estimations, Planning, Reviews und Retrospektiven
Meetings– Hardwareausrüstung für Teamarbeit
Ohne die Akzeptanz der Agilen Grundwerte im Management, bleibtalles wie es war...
21
41
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
42
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Rahmenbedingungen
• Entwicklung eines Prototypen– keine Roadmap
• 1 - 3 Entwickler (Dienstleister)– 1 Kernentwickler initial (Scrum zunächst, um Prozess einzuüben)– 2 kamen während des Projektes hinzu
• 1 Product Owner (Kunde)• 2 - Wochen - Sprints• Der Kernentwickler als ScrumMaster (!)
22
43
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Erfahrungen - Probleme
• Manches wurde als Overhead empfunden– Retrospektiven- Dokumentation– Burndown Chart
• Rollenschizophrenie• Mischung zwischen Kunde und Dienstleister bei Retrospektiven
– Kritik am Product Owner nur verhalten– Kommunikationsprobleme der Entwickler untereinander teilweise
nicht offengelegt• TimeBoxing wurde in Meetings oft nicht eingehalten
– Estimation Meetings wurden zu Spezifikations Meetings– kaum Priorisierung des Backlog
• Durch kleine Gruppengröße leidet „Respekt vor dem Prozess“– „Könnt ihr mal bitte kurz...“
44
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Was lief gut?
• Iterationsziele wurden fast immer erreicht• TaskBoard sehr hilfreich• Gute Identifikation mit dem Produkt
– Hohes Qualitätsniveau• Kontinuierliche Entwicklungsgeschwindigkeit durch kurze Sprints
• Alle fühlten sich im Prozess „gut aufgehoben“
23
45
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Wie skaliert Scrum?• Erfahrungen
46
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
• Typische Teams bestehen aus 7 ± 2 Personen– Teams von Teams ermöglichen Skalierbarkeit
• Faktoren des Skalierens– Typ der Anwendung
– Teamgröße
– Teamverteilung (örtlich)
– Projektdauer
• Scrum ist mehrmals für 500-Personenprojekte verwendetworden
Skalierbarkeit
24
47
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Wie Skaliert Scrum?
Neue TeamzellePrimär Teamzelle
Primär Teamzelle
Organisches Wachstum
48
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Scrum of Scrums
25
49
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum
machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
• Wie skaliert Scrum?• Erfahrungen
50
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Erfahrungen aus einem GroßprojektRahmenbedingungen
• ~ 60 Leute
• ein Produkt aus vielen unabhängigen Modulen
• 7 Teams verteilt auf zwei Länder
• jeweils ein Teamleiter
• ~ 5 Produktverantwortliche
• 1/2 Jahres Releasezyklen
26
51
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Erfahrungen aus einem GroßprojektUmsetzung
• 7 Teams (3 hier, 4 da)• Teamstärke ~7 Personen
– Team QA– Architekt– junior & senior Softwareengineers
• 7 Scrum Master• 5 Product Owner• ein Chefarchitekt• jeweils ein Entwicklungsleiter• separates QA Team• Architekturboard• Release Planning Game• Daily Scrum of Scrum (30 min Telko)
52
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Erfahrungen aus einem GroßprojektWas lief gut?
• Transparenz der eigentlichen Probleme
• Aktivierung verborgener Fähigkeiten
• Halbierung des Entwicklungszyklus
• Teilung von Entwicklungsverantwortung
27
53
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Erfahrungen aus einem GroßprojektWas waren die Probleme?
• kein organisches Wachstum
• teilzeit Scrum Master
• zu wenige Product Owner
• fehlendes Vertrauen und Verständnis des Management
• zu viele Abhängigkeiten zw. den Lokationen
• keine alternativ Teamstrukturen
54
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Gliederung
• Was ist Scrum?• Wer soll überhaupt Scrum machen?• Scrum in kleinen Projekten• Scrum in großen Projekten• Nützliche Scrum Tools
28
55
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Jira PlugIn GreenHopper - Task Board
56
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Jira PlugIn GreenHopper - Planning Board
Features 0.0.7-feat. 1-feat. 2-feat. 3-.....-feat 7-feat. n
Features 0.1--feat. 4-feat. 5-feat. 6-.....-feat. m
29
57
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Scrum Pokercards
8934
2113
85
32
1
58
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
The Scrum Game
Scrum AllianceTM - Scrum Game (http://www.scrumalliance.org/products/2)
30
59
© 2008 Orientation in Objects GmbHSCRUM - Erfahrungen im Kleinen und Großen
Links
• Scrum Alliance– http://www.scrumalliance.org
• Jira Green Hopper– http://confluence.atlassian.com/display/JIRAEXT/GreenHopper
• Ken Schwaber OOPSLA ´95– http://jeffsutherland.com/oopsla/schwaber.html
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
[email protected]: 1.0
Vielen Dank für IhreAufmerksamkeit !
31
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
[email protected]: 1.0
? ?
???
Fragen ?