Presentation held at the Hogeschool van Amsterdam to share our (ICA) experience with Scrum in an educational context. More info on http://wiki.icaprojecten.nl.
15. Process: which one works.....
13
Waterfall
DSDM
Agile? Essential UP
RUP
Prince2
Spiral
XP
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
16. Process: which one works.....
13
Waterfall
DSDM
Agile? Essential UP
Scrum?
RUP
Prince2
Spiral
XP
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
17. Process: Waterfall
14
BDUF: Big Design Up Click to edit Master text
Front styles
Documentation is
important
Clear phases and
milestones
Well known by
projectmanagers http://www.software-development-resource.com/images/waterfall_software_process.jpg
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
18. Process: Unified Proces
15
Incremental and Click to edit Master text
iterative styles
Inception, Elaboration,
Construction, Transition
Risk mitigation:
prototypes
Architectural relevant
use case(s) http://era.nih.gov/docs/rup_fundamentals_slide03.jpg
Describes roles and
workproducts in detail
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
20. What’s our problem
17
We are skilled problem solvers, experts at devising
long-lasting solutions.
“The problem in our profession is not process or
technology …it is people and dysfunctional
interactions. It can only be solved person by person.”
Business value - it is hard to focus on what the
customer really needs.
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
21. Communication
18
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
22. Agile development
19
Agile Manifesto:
Individuals and processes and tools
interactions comprehensive documentation
Working software
contract negotiation
Customer collaboration
following a plan
Responding to change
That is, while there is value in the items on the right,
we value the items on the left more.
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
23. Agile development
20
Testing early and automated
Incremental design
Daily deployment
Customer involvement
Continuous integration
Short deployment cycles
Incremental planning
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
24. Agile playground
21
Well known methods:
DSDM
Scrum
Extreme Programming
Lean
Lots of combinations possible
Smart
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
25. When to do agile (Boehm/Turner)
22
Agile home ground Plan-driven home ground
✓ Low criticality ✓ High criticality
✓ Senior developers ✓ Junior developers
✓ Requirements change ✓ Requirements do not
often change often
✓ Small number of ✓ Large number of
developers developers
✓ Culture that thrives ✓ Culture that demands
on chaos order
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
27. Scrum in a nutshell
24
Empirical management & control process – inspect
and adapt feedback loops
Used to manage complex projects since 1990
Delivers business functionality in 30 days
Scalable to distributed, large, and long projects
Extremely simple but very hard
“Scrum provides the mechanism for making the
people problems apparent so they can be solved
and helps customer back in driver seat.”
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
28. Scrum origins
25
Jeff Sutherland
Initial Scrums at Easel Corp in 1993
IDX and nearly 600 people doing Scrum
Not just for trivial projects:
FDA-approved, life-critical software for x-rays and MRIs
Ken Schwaber:
ADM (Advanced Development Methods)
Initial definitions of Scrum at OOPSLA 96 with
Sutherland
Mike Beedle
Scrum patterns in Patterns book: PLOPD4
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
30. Scrum values
27
“We believe in [value] therefore we will [do
something].”
For example, your team might come back with:
We believe in respect, therefore we will show up on time
for all meetings.
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
31. Scrum process
28
http://www.russianit.info/en/scrum/scrum_large.gif
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
33. Scrum levenscyclus (2)
30
Scrum - HvA - Rody Middelkoop
http://www.scrumdesk.com/pictures/ScrumDesk%20process%20poster.png
Thursday, March 18, 2010
34. Scrum rollen
31
Scrum, presentatie Jeroen Bouvrie, Luminis. Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
35. Scrum rollen - Scrum master
32
Represents
management to the
project
Responsible for
enacting Scrum values
and practices
Main job is to remove
impediments
http://chrisdonnan.com/blog/wp-content/uploads/2007/06/Humorous_ScrumMaster_image_2.jpg
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
36. Scrum rollen - Product Owner
33
Defines the features of the product, decides on
release date and content
Prioritizes features, accepts or rejects work results
Can change features and priority every 30 days
Commits to not throw new requirements at the team
during a sprint
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
37. Scrum rollen - inside and outside
34
Scrum team: Pigs
Werkt aan de Sprint backlog
Geen verdere taak- en rolverdeling
Alle anderen: Chickens
Wel observeren
Niet interveniëren tijdens iteraties
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
38. Scrum team
35
Typically 5-10 people
Cross-functional
QA, Programmers, UI Designers, etc.
Members should be full-time
May be exceptions (e.g., System Admin, etc.)
Teams are self-organizing
Membership can change only between sprints
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
39. Scrum Praktijken
36
Pre-game Planning And Staging
Features, Stories, Use cases (door ‘iedereen’)
High level design (software architectuur)
Product Backlog
Sprint Planning
(her) prioriteren in Productbacklog
Sprint backlog creëren
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
40. Product backlog
37
A list of all desired work on the project
Usually a combination of:
story-based work (“let user search and replace”)
task-based work (“improve exception handling”)
List is prioritized by the Product Owner
Typically a Product Manager, Marketing, Internal
Customer, etc.
Contains a first estimation by the team
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
41. Product backlog items
38
Required
ID
Feature, Story of Use Case
Priority
Risk Assessment
Estimated points
Estimated hours
Optional
Comment
Status
Business value
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
42. Product backlog in relation to
39
projectmanagement
During time a team Click to edit Master text
gets work done from styles
the backlog with a
preferable constant
quality, value and pace
or “velocity”
http://www.infoq.com/presentations/agile-quality-canary-coalmine
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
43. Sprint Planning
40
Scrum - HvA - Rody Middelkoop
http://blog.svencipido.be/Blog/content/binary/ScrumSprintPlanningMeeting.jpg
Thursday, March 18, 2010
44. Sprint Goal
41
Theme for the next sprint
Add database support
Add camera support
Enable concurrent use for 1000 users
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
45. From Sprint Goal to Sprint Backlog
42
Scrum team takes the Sprint Goal and decides what
tasks are necessary to meet the Sprint Goal
Managers don’t assign tasks to individuals and don’t
make decisions for the team
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
46. How to deliver a potentially
43
shippable product
Make slices
Each slice can operate
independent of an
other slice
Architecural slice
Not every slice has to
be put in production
immediately http://burgertjes.punt.nl/upload/sushi-for-2.jpg
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
48. Product & Sprint backlog combined
45
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
49. Sprint Backlog during the sprint
46
Changes
Team adds or removes tasks whenever they need to in
order to meet the Sprint Goal
Sprint Backlog can only be updated by the team
Estimates are updated whenever there’s new
information
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
50. “The definition of done”
47
Mijn taak is “af”…
.... behalve dan de documentatie
.... en de code review
.... ik heb het zelf al getest
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
51. “The definition of done”
48
Alle code is ingecheckt.
De publieke interface van elke klasse is voorzien van Javadoc.
Code voldoet aan de door het team vastgestelde coderichtlijnen (te checken met
Checkstyle of PMD)
Alle unittests kunnen uitgevoerd worden met minimal 50% testcoverage.
Productbacklog is up to date.
Sprintbacklog is up to date.
Package-, class-, sequence- en deploymentdiagramman zijn bijgewerkt.
Ontwerpbeslissingen zijn vastgelegd.
Alle taken (issues, bugs, tasks etc.) zijn afgesloten of uitgesteld tot de volgende sprint.
Er is een installatiehandleiding voor de installatie van de software.
Er is zoveel mogelijk gebruikersdocumentatie beschikbaar in de applicatie, de rest
digitaal en/of op papier.
De nightly en continuous builds falen niet.
De sprint is geaccepteerd door de productowner / opdrachtgever.
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
52. Quality? Value Driven Development
49
http://www.infoq.com/presentations/agile-quality-canary-coalmine
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
57. Workshop: Sprint Backlog
54
Gegeven een product backlog:
10 min:
Bepaal de Sprint Goal en welke features op de sprint
backlog komen
20 min:
Schat de features met behulp van planning poker
15 min:
Verdeel enkele features tot taken en verdeel de taken
Beantwoord minimaal de volgende vragen:
Voor hoeveel punten werk heb je ingepland?
Voor hoeveel uren werk heb je ingepland?
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
58. Scrum Praktijken - vervolg
55
Het team is ‘zelfsturend’
Houdt dagelijkse Scrum Meetings: standup
Scrum master werkt als ‘Firewall’
Blocks: beslissing binnen een uur
Blocks: weggewerkt in één dag
Het team werkt dagelijks in één ruimte
Iedere dag: integratie en testen
Sprint Review zònder PowerPoints: gaat om demo.
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
59. Scrum Meeting - stand-up
56
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
60. Scrum Meeting - vervolg
57
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
61. Burndown
58
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
63. Sprint Review Meeting
60
Team presents what it accomplished during the sprint
Typically takes the form of a demo of new features
or underlying architecture
Informal
Participants
Customers
Management
Product Owner
Other engineers
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
64. Inspect and Adapt: Retrospective
61
Wat ging goed?
Wat ging niet goed en hoe kwam dat?
Welke acties moeten we ondernemen om eerdere
fouten te voorkomen?
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
65. Scrum of Scrums
62
http://www.mountaingoatsoftware.com/images/scrumofscrums.gif
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
66. Scrum in DDOA
Ervaringen vanuit ICA
Thursday, March 18, 2010
68. Sprint lengte
65
Kies een vaste lengte
Velocity
DDOA: 2 weken
Junior developers
Overhead schoolwerk
Past goed in 8 weken
Nadeel: velocity pas
goed na gem. 3 sprints
http://www.jimcarroll.com/weblog/archives/pictures/velocity.jpg
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
69. Projectondersteuning
66
Workshops op aanvraag
ICA
Extern
Coaching
Kwaliteit: Quality Assurance Manager
Product: Technical Coach
Proces: Process Coach
Vaardigheden: Social Skills Coach
Functioneringsgesprekken en IPV
2x op basis van gekozenRody Middelkoop
Scrum - HvA -
competenties
Thursday, March 18, 2010
71. Tools: JIRA
68
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
72. Tools: Bamboo
69
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
73. Other “Agile” Tools and Practices
70
Test Driven Development:
JUnit
EasyMock
Cobertura
Versioncontrol
Subversion
Planningboard & Burndown
Jira, GreenHopper
Pair Programming
Planning Poker
Refactoring
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
74. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
75. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner X
Team Member
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
76. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master X
Product Owner X
Team Member
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
77. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master X X
Product Owner X
Team Member
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
78. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master X X
Product Owner X
Team Member X
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
79. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master X X
Product Owner X
Team Member X X
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
80. Competentiematrix
71
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master X X
Product Owner X
Team Member X X X
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
81. Scrum Master & Planmatig werken
72
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
82. Product Owner & Communiceren
73
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
83. Team Member & Samenwerken
74
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
85. What to expect?
76
Initial progress will likely be slower than anticipated
The process will quickly reveal constraints
Team will take time to learn how to self-organize
You will want to tell the team how to solve problems
You will need encourage visibility and transparency
Team may have difficulties focusing on daily plan
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010
86. Wrap up: Scrum values
77
Agile, team commitment
Timeboxing
Transparency
Play your role
Communicate
Define what “done” means
Scrum won’t solve problems; it makes them visible so
there are no execuses to do nothing. Nowhere to
hide and visible results!
Scrum - HvA - Rody Middelkoop
Thursday, March 18, 2010