2. Vorstellung adorsys
• Gründer 2006: Francis Pouatcha
• 45 Mitarbeiter
• adorsys GmbH & Co. KG
• Geschäftsführer Stefan Hamm, Lothar Hegebart und Dr. Benno Schmitzer
• Spezialist für individuelle und innovative Softwarelösungen im Bereich Financial
Services
• What we‘ve done ...
• Teambank AG Nürnberg - www.easycredit.de
• Bausparkasse Schwäbisch Hall - Multikanalarchitektur
• Kreditwerk AG
• Haufe / Lexware - www.haufe.de
• Bankverlag Köln BVZS
• Bundesagentur für Arbeit
• Hamburger Sparkasse
• Hamburger Sparkasse Direkt
• Ergo Finanzgruppe (Karstadt Quelle Versicherungen)
– www.ergodirekt.de
Francis Pouatcha
05/08/12 2
4. Agenda
1 Probleme in klassischen Software-Entwicklungs-Methoden
2 Lösungs-Potenziale durch agile Methoden
3 Was versucht Scrum zu besser zu machen?
4 Scrum Rolen und Prozess
5 Zusammenfassung
6 Erfahrungen aus Scrum-Projekten
05/08/12 Einführung in SCRUM 4
7. Nachteile
→ Anforderungen sind unklar (seriöse Schätzungen sind nicht möglich)
→ Anforderungen ändern sich
→ Projekte dauern zu lang
• 32% der Projekte werden nicht erfolgreich umgesetzt
→ Keine Zeit für Tests
• Qualitätssicherung wird vernachlässigt
• Späte Integration sorgt für Probleme zum Projektende
→ Zeit wird nicht effizient genutzt
• nur 52% der Anforderungen werden implementiert
• 64% der Anforderungen werden kaum mehr gebraucht
→ Fehleinschätzungen im Projekt-Controlling durch mangelnde Sichtbarkeit
• % Schätzungen sind Fehleinschätzungen
• Fehlschätzungen um 43% sind die Regel
Quelle: Standish Report
2003/2009
05/08/12 Einführung in SCRUM 7
10. Manifesto for Agile Software
Development
Die Werte agiler Softwareentwicklung bilden das Fundament.
Im Februar 2001 haben 17 Erstunterzeichner diese Werte als Agiles
Manifest definiert:
• Individuen und Interaktionen ist wichtiger als Prozesse und
Werkzeuge.
• Funktionierende Software ist wichtiger als umfassende
Dokumentation.
• Zusammenarbeit mit dem Kunden ist wichtiger als
Vertragsverhandlung.
• Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans.
05/08/12 Einführung in SCRUM 10
11. SCRUM
Deutsch: Gedränge
... kommt aus dem Rugby-Sport
• Crossfunktionale Teams
• Iterativ, das ganze Team bewegt sich von Linie zu Linie
• viele überlappende Phasen
05/08/12 Einführung in SCRUM 11
12. Die Ziele von SCRUM
Management von Komplexität,
Unvorhersehbarkeit und laufende Änderungen
durch:
•Tansparenz
•Überprüfung
•Anpassung
05/08/12 Einführung in SCRUM 12
14. Productowner
SCRUM Roles
• hat die Produktvision
• repräsentiert den Kunden
• zentraler Ansprechpartner für das
Produkt
• Aufgaben:
• definiert Anforderungen
• priorisiert Anforderungen
• gibt Feedback
• kümmert sich um die Stakeholder
• führt die Abnahme der Features
durch
05/08/12 Einführung in SCRUM 14
15. Das Team
SCRUM Roles
• Two-Pizza-Team (3-9 Personen)
• gemischte Skills (Cross-Functional)
• ist selbstorganisierend
• Vollzeit
• Aufgaben:
• Tasks ableiten
• Aufwand schätzen
• das Produkt entwickeln
• Qualität sichern
05/08/12 Einführung in SCRUM 15
16. Scrum-Master
SCRUM Roles
• Ist für die Einhaltung des Prozesses zuständig
• Schützt das Team
• Löst Probleme die dem Team im Wege stehen
• SCRUM-Guru
• Aber: mischt sich nicht in Fachliche/Technische
Belange ein
• Aufgaben:
• Beseitigt Impediments
• Verhindert Verzögerungen
• Kümmert sich ums Management
• Schaut das es dem Team gut geht
05/08/12 Einführung in SCRUM 16
17. Stakeholder
SCRUM Roles
• Lassen (idealerweise) das Team
ungestört Arbeiten
• Tauschen sich mit dem
Productowner aus
• Stellen Anforderungen an den
Productowner
05/08/12 Einführung in SCRUM 17
19. SCRUM Process – Überblick
24 h
30 days
Sprint
Product Backlog Sprint Backlog Working increment
of the software
20. Product-Backlog
→ Priorisierte Anforderungen
→ Verantwortung und Erstellung durch
Productowner
→ High Level Requirements
→ Beschreibt den Business-Value in Form von User-
Stories
→ Kein Anspruch auf Vollständigkeit oder
Perfektion
→ Sollte nicht zu lang werden (Richtwert ca. 4
Sprints)
→ Team hat Einblick und weiß wo die Reise hingeht
05/08/12 Einführung in SCRUM 20
22. User-Stories schreiben
Fachliche Anforderungen
• Beschreibt die Anforderung in knappen Sätzen
• Granulartität muss so fein sein dass das Team die Aufgabe
versteht und formal implementieren kann
• Stories können bei komplexeren Problemen durch
Zusatzdokumente detailliert werden
• Mock-Ups sind hilfreich
05/08/12 Einführung in SCRUM 22
23. User-Stories schreiben
Fachliche Anforderungen
Aufbau:
Als <user> möchte ich <functionality> ( so dass <benefit> )
Beispiel:
Als Facebook-User kann ich die Anzahl meiner Freude in der
Freundesliste sehen, so dass jeder sehen kann wie beliebt ich
bin :)
05/08/12 Einführung in SCRUM 23
24. Sprint
Vision: Selected Product
Anticipated ROI, Backlog Every 24
Releases, hours
Milestones
Dai
ly S New functionality
c rum is demonstrated at end
of Sprint
Sprint
Backlog Sprint 2 - 4
Weeks
Product Backlog:
Emerging prioritized
requirements
25. Sprint
Vision: Selected Product
Anticipated ROI, Backlog Every 24
Releases, hours
Milestones
Dai
ly S New functionality
c rum is demonstrated at end
of Sprint
Sprint
Backlog Sprint 2 - 4
Weeks
Product Backlog:
Emerging prioritized
requirements
• Time Boxed
• Features stehen fest
• Scope ist noch variabel
• Ergebnis ist ein “potentially shippable result”
26. Sprint-Planning 1
Verstehen der Userstories
→ Anwesende Scrum-Master, Productowner, Team
→ Productowner stellt Frage nach der Team-Kapazität für den Sprint
→ 1. Vorstellung des Productbacklogs durch Productowner
• aus User Perspektive
• Team stellt Fragen um die Anforderung zu verstehen
• Hinterfragen von Akzeptanzanforderungen (Wann ist das Ziel erreicht?)
• Team fragt so detailliert, dass es die Story im Folgeschritt zerlegen und
schätzen kann
• Productowner fragt nach jeder Story ob diese noch in den Sprint passt
• ca. 1 Stunde / Sprint-Woche
05/08/12 Einführung in SCRUM 25
27. Sprint-Planning 2
Zerlegung des Stories in (technische) Aufgaben
→ Stories in Tasks zerlegen
→ Beteiligte: Team, SCRUM-Master (nur steuernd)
→ Tasks schätzen
• wenn möglich kleiner als 1 Tag Aufwand
• Schätzung in Storypoints (angelehnt an Stunden)
• Fibonacci Zahlen (1,2,3,5,8,13, ...)
• Bewährte Methode ist Planning-Poker
• 1 -1/2 Stunden je Sprint-Woche
• Ergebnis ist ein definiertes Sprint-Backlog
• Vorstellung des Sprint-Backlogs durch das Team
05/08/12 Einführung in SCRUM 26
28. Das Team-Commitment
→ Team commitet sich zum Sprint-Backlog
→ Pigs and Chicken...
05/08/12 Einführung in SCRUM 27
29. Sprint-Backlog
→ Verantwortung liegt beim Team
→ Keine neuen Stories durch “Andere”
→ Das Team definiert den Umfang des Sprints
05/08/12 Einführung in SCRUM 28
30. Daily-Scrum
→ Dauer max. 15 Minuten
→ Standup-Meeting
→ Vor dem Meeting:
• Aktualisierung der verbleibenden
Aufwände im Backlog
• Aktualisieren des Taskboards
→ Jedes Teammitglied beantwortet die
Fragestellungen
• Was habe ich gestern gemacht?
• Was ist mein Ziel für den heutigen
Tag?
• Welche Probleme halten mich vom
Erreichen meiner Ziele ab?
05/08/12 Einführung in SCRUM 29
32. “Definition of Done”
Wann ist ein Task abgeschloßen?
• coded
•commented
•checked in
•integrated
•reviewed
•unit tested
•deployed to test environment
•passed user acceptance test
•documented
05/08/12 Einführung in SCRUM 31
34. “Sprint-Review”
→ formale Abnahme durch den Productowner
→ Demo-Modus (keine Slides)
→ Das ganze Team ist anwesend
→ Stakeholder sind eingeladen teilzunehmen
→ Jede Story wird durch den Productowner getestet
→ Stories werden abgenommen oder abgeleht
• Es werden nur vollständige Features abgenommen
→ Dauer 1-2 Stunden pro Sprintwoche
05/08/12 Einführung in SCRUM 33
35. “Sprint-Retrospektive”
Kontinuierliche Verbesserung als Prozessbestandteil
→ Team und Scrummaster reflektieren den vergangen Sprint
→ Productower ist optional
→ Burndownchart und Taskboard werden analysiert
→ typische Fragen:
• Was war gut?
• Was kann beim nächsten mal besser gemacht werden
Letzter Nächster
Sprint Sprint
05/08/12 Einführung in SCRUM 34
36. “Release Planning”
Produktion von auslieferbarer von Software
→ Release-Sprints dienen der Fertigung von auslieferbarer Software
→ typische Aufgaben eines Release-Sprints:
→Usebillity
→Dokumentation
→Benutzer-Hilfe
→Paketierung
05/08/12 Einführung in SCRUM 35
37. Sprints
Zusammenfassung
→ Getrieben vom Productowner
→ keine reversible Schritte
→ Änderungen willkommen (durch Product-Backlog)
→ Cross-Functional-Team
→ Bestehen auch aus Design und Tests (End-To-End)
→ Team-Commitment
→ Hohe Qualität der Software (Fertig!)
→ Feedback-Schleifen
→ “Fail fast!”
05/08/12 Einführung in SCRUM 36
38. SCRUM Process
• Business case & funding
cle 24 h
• Contract agreement
• Vision y
tC
rin
• Initial product backlog
g
nin Da
Sp
• Initial release plan n
Pla g Da ily
• Stakeholder buy-in nt n ily W
S pri eeti
• Assemble team M S or
cr k
um
Update
Preparation
Product SCRUM Product Release (n)
Backlog
Process Increment
Re S
tro prin
sp t ew
Impediment Product ec
tiv R evi Product
Scrum
rint Master
List Backlog
Delta eSp Owner
Report
op
el
W
ev
ra
D
p
Ad
ew
vi
SCRUM Artifacts
ju
Re
st
el
op
el
op
SCRUM Roles
W
W
ev ev
ra
ra
D D
p
p
Ad
Ad
e w e w
vi vi
ju
ju
Re Re
st
st
op
el
W
ev
ra
D
p
Product Backlog
Ad
Sprint Backlog vi
ew
ju
Re Burn down Stakeholders
st
Burn down Users
Sprint Product
Backlog Backlog Team Members