scrum implemented in an educational context
DESCRIPTION
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.TRANSCRIPT
SCRUMRody Middelkoop
Thursday, March 18, 2010
Scrum - HvA - Rody Middelkoop
http://blogs.seattleweekly.com/dailyweekly/scrum.jpg
Thursday, March 18, 2010
3
Scrum - HvA - Rody Middelkoop
Agenda
9:00 - 9:30 Introductie:
ICA->Semestermodel->DDOA Processen:
Projectmanagement & Softwareontwikkeling Agile Development
9:30 - 11:30 Scrum in Theory and Practice Theorie 60 min Workshops / Demo
Sprint Planning: 45 min. Standup-meeting: 15 min.
11:30 - 12:00 Scrum toegepast in DDOA
Thursday, March 18, 2010
ICAThursday, March 18, 2010
5
Scrum - HvA - Rody Middelkoop
ICA
Informatica en Communicatie Academie Instituut van de faculteit Techniek van de HAN Brede opleidingen
Bedrijfskundige Informatica Communicatie en Multimedia Design Digitale Communicatie Informatica Technische Informatica
Flexibele leerroutes, beroepstaken, competentiegericht
Thursday, March 18, 2010
6
Scrum - HvA - Rody Middelkoop
Propedeuses en Opleidingen
Bedrijfskundige InformaticaInformaticaTechnische Informatica Communicatie & Multimedia Design (I)
Communicatie & Multimedia Design (C) Digitale Communicatie
Informatica propedeuse
Communicatie propedeuse
Thursday, March 18, 2010
7
Scrum - HvA - Rody Middelkoop
Semestermodel
Thursday, March 18, 2010
7
Scrum - HvA - Rody Middelkoop
Semestermodel
Thursday, March 18, 2010
8
Scrum - HvA - Rody Middelkoop
DDOA Semester
Project
7.5 + 7.5 EC
15 EC
tijd
Thursday, March 18, 2010
9
Scrum - HvA - Rody Middelkoop
Beroepstaak
“Ontwikkel een gedistribueerde OO applicatie” Richt zich op veel aspecten van een software
engineeringsproject: analyseren, ontwerpen, bouwen, testen, implementeren
Voorbeelden: HAN: Senior Navigator Human Inference: Collaborative Knowledge Verifier Avisi: JIRA Timesheet Plugin Luminis: JMX Console VXCompany: Mister Match InfoSupport: JavaFX Standapp
Thursday, March 18, 2010
10
Scrum - HvA - Rody Middelkoop
Eigenschappen DDOA
Software opleveren van hoge kwaliteit 10 tot 12 projectgroepen van 5 studenten Integratie van techniek en social skills Aandacht voor volledige ontwikkelproces Externe opdrachtgevers: 2Pro, Accenture, Avisi, E-ID,
HAN, InfoSupport, ITude, Logica, Lucka, Luminis, Profict, Sogyo,VXCompany
Aandacht voor open/ shared source (Atlassian) Tooling: Eclipse, Subversion, Ant, JUnit, Jira,
Confluence, Bamboo
Thursday, March 18, 2010
ProcessThursday, March 18, 2010
12
Scrum - HvA - Rody Middelkoop
Softwareontwikkel-proces:RollenProductenVerantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering
Processen
Projectmanagement-proces: Geld Organisatie Kwaliteit Informatie Tijd
Thursday, March 18, 2010
12
Scrum - HvA - Rody Middelkoop
Softwareontwikkel-proces:RollenProductenVerantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering
Processen
Projectmanagement-proces: Geld Organisatie Kwaliteit Informatie Tijd
Scrum?
Thursday, March 18, 2010
13
Scrum - HvA - Rody Middelkoop
Process: which one works.....
DSDMWaterfall
RUP
Essential UPAgile?
Spiral
XP
Prince2
Thursday, March 18, 2010
13
Scrum - HvA - Rody Middelkoop
Process: which one works.....
DSDMWaterfall
RUP
Essential UPAgile?
Spiral
XP
Prince2
Scrum?
Thursday, March 18, 2010
14
Scrum - HvA - Rody Middelkoop
Click to edit Master text styles
Process: Waterfall
BDUF: Big Design Up Front
Documentation is important
Clear phases and milestones
Well known by projectmanagers
http://www.software-development-resource.com/images/waterfall_software_process.jpg
Thursday, March 18, 2010
15
Scrum - HvA - Rody Middelkoop
Click to edit Master text styles
Process: Unified Proces
Incremental and iterative
Inception, Elaboration, Construction, Transition
Risk mitigation: prototypes
Architectural relevant use case(s)
Describes roles and workproducts in detail
http://era.nih.gov/docs/rup_fundamentals_slide03.jpg
Thursday, March 18, 2010
Agile
http://globalnerdy.com/wordpress/wp-content/uploads/2007/11/dilbert-agile_programming.gif
Thursday, March 18, 2010
17
Scrum - HvA - Rody Middelkoop
What’s our problem
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.
Thursday, March 18, 2010
18
Scrum - HvA - Rody Middelkoop
Communication
Thursday, March 18, 2010
19
Scrum - HvA - Rody Middelkoop
Agile development
Agile Manifesto: Individuals and
interactions Working software Customer collaboration Responding to change
processes and toolscomprehensive documentationcontract negotiationfollowing a plan
That is, while there is value in the items on the right, we value the items on the left more.
Thursday, March 18, 2010
20
Scrum - HvA - Rody Middelkoop
Agile development
Testing early and automated Incremental design Daily deployment Customer involvement Continuous integration Short deployment cycles Incremental planning
Thursday, March 18, 2010
21
Scrum - HvA - Rody Middelkoop
Agile playground
Well known methods: DSDM Scrum Extreme Programming Lean
Lots of combinations possible Smart
Thursday, March 18, 2010
22
Scrum - HvA - Rody Middelkoop
Plan-driven home ground✓ High criticality✓ Junior developers✓ Requirements do not
change often✓ Large number of
developers✓ Culture that demands
order
When to do agile (Boehm/Turner)
Agile home ground✓ Low criticality✓ Senior developers✓ Requirements change
often✓ Small number of
developers✓ Culture that thrives
on chaos
Thursday, March 18, 2010
Scrum: Theory/PracticeThursday, March 18, 2010
24
Scrum - HvA - Rody Middelkoop
Scrum in a nutshell
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.”
Thursday, March 18, 2010
25
Scrum - HvA - Rody Middelkoop
Scrum origins
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
Thursday, March 18, 2010
26
Scrum - HvA - Rody Middelkoop
Scrum values
Commitment (Teamwork) Focus Openness
Enabler of Honesty Provides Transparency)
Respect Courage
Thursday, March 18, 2010
27
Scrum - HvA - Rody Middelkoop
Scrum values
“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.
Thursday, March 18, 2010
28
Scrum - HvA - Rody Middelkoop
Scrum process
http://www.russianit.info/en/scrum/scrum_large.gif
Thursday, March 18, 2010
29
Scrum - HvA - Rody Middelkoop
Scrum levenscyclus
Thursday, March 18, 2010
30
Scrum - HvA - Rody Middelkoop
Scrum levenscyclus (2)
http://www.scrumdesk.com/pictures/ScrumDesk%20process%20poster.png
Thursday, March 18, 2010
31
Scrum - HvA - Rody Middelkoop
Scrum rollen
Scrum, presentatie Jeroen Bouvrie, Luminis.
Thursday, March 18, 2010
32
Scrum - HvA - Rody Middelkoop
Scrum rollen - Scrum master
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
Thursday, March 18, 2010
33
Scrum - HvA - Rody Middelkoop
Scrum rollen - Product Owner
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
Thursday, March 18, 2010
34
Scrum - HvA - Rody Middelkoop
Scrum rollen - inside and outside
Scrum team: Pigs Werkt aan de Sprint backlog Geen verdere taak- en rolverdeling
Alle anderen: Chickens Wel observeren Niet interveniëren tijdens iteraties
Thursday, March 18, 2010
35
Scrum - HvA - Rody Middelkoop
Scrum team
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
Thursday, March 18, 2010
36
Scrum - HvA - Rody Middelkoop
Scrum Praktijken
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
Thursday, March 18, 2010
37
Scrum - HvA - Rody Middelkoop
Product backlog
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
Thursday, March 18, 2010
38
Scrum - HvA - Rody Middelkoop
Product backlog items
Required ID Feature, Story of Use Case Priority Risk Assessment Estimated points Estimated hours
Optional Comment Status Business value
Thursday, March 18, 2010
39
Scrum - HvA - Rody Middelkoop
Click to edit Master text styles
Product backlog in relation to projectmanagement
http://www.infoq.com/presentations/agile-quality-canary-coalmine
During time a team gets work done from the backlog with a preferable constant quality, value and pace or “velocity”
Thursday, March 18, 2010
40
Scrum - HvA - Rody Middelkoop
Sprint Planning
http://blog.svencipido.be/Blog/content/binary/ScrumSprintPlanningMeeting.jpg
Thursday, March 18, 2010
41
Scrum - HvA - Rody Middelkoop
Sprint Goal
Theme for the next sprint
Add database support Add camera support Enable concurrent use for 1000 users
Thursday, March 18, 2010
42
Scrum - HvA - Rody Middelkoop
From Sprint Goal to Sprint Backlog
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
Thursday, March 18, 2010
43
Scrum - HvA - Rody Middelkoop
How to deliver a potentially 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
Thursday, March 18, 2010
44
Scrum - HvA - Rody Middelkoop
Example Sprint Backlog
Thursday, March 18, 2010
45
Scrum - HvA - Rody Middelkoop
Product & Sprint backlog combined
Thursday, March 18, 2010
46
Scrum - HvA - Rody Middelkoop
Sprint Backlog during the sprint
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
Thursday, March 18, 2010
47
Scrum - HvA - Rody Middelkoop
“The definition of done”
Mijn taak is “af”… .... behalve dan de documentatie .... en de code review .... ik heb het zelf al getest
Thursday, March 18, 2010
48
Scrum - HvA - Rody Middelkoop
“The definition of done” 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.
Thursday, March 18, 2010
49
Scrum - HvA - Rody Middelkoop
Quality? Value Driven Development
http://www.infoq.com/presentations/agile-quality-canary-coalmine
Thursday, March 18, 2010
workshop: Sprint backlogThursday, March 18, 2010
51
Scrum - HvA - Rody Middelkoop
Workshop: Casus
Thursday, March 18, 2010
52
Scrum - HvA - Rody Middelkoop
Workshop: High Level Architectuur
Thursday, March 18, 2010
53
Scrum - HvA - Rody Middelkoop
Workshop: Domein Model
Thursday, March 18, 2010
54
Scrum - HvA - Rody Middelkoop
Workshop: Sprint Backlog
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?
Thursday, March 18, 2010
55
Scrum - HvA - Rody Middelkoop
Scrum Praktijken - vervolg
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.
Thursday, March 18, 2010
56
Scrum - HvA - Rody Middelkoop
Scrum Meeting - stand-up
Thursday, March 18, 2010
57
Scrum - HvA - Rody Middelkoop
Scrum Meeting - vervolg
Thursday, March 18, 2010
58
Scrum - HvA - Rody Middelkoop
Burndown
Thursday, March 18, 2010
film standup-meetingThursday, March 18, 2010
60
Scrum - HvA - Rody Middelkoop
Sprint Review Meeting
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
Thursday, March 18, 2010
61
Scrum - HvA - Rody Middelkoop
Inspect and Adapt: Retrospective
Wat ging goed? Wat ging niet goed en hoe kwam dat? Welke acties moeten we ondernemen om eerdere
fouten te voorkomen?
Thursday, March 18, 2010
62
Scrum - HvA - Rody Middelkoop
Scrum of Scrums
http://www.mountaingoatsoftware.com/images/scrumofscrums.gif
Thursday, March 18, 2010
Scrum in DDOAErvaringen vanuit ICA
Thursday, March 18, 2010
64
Scrum - HvA - Rody Middelkoop
Eigen projectplanning
Thursday, March 18, 2010
65
Scrum - HvA - Rody Middelkoop
Sprint lengte
Kies een vaste lengte Velocity DDOA: 2 weken
Junior developers Overhead schoolwerk Past goed in 8 weken Nadeel: velocity pas
goed na gem. 3 sprintshttp://www.jimcarroll.com/weblog/archives/pictures/velocity.jpg
Thursday, March 18, 2010
66
Scrum - HvA - Rody Middelkoop
Projectondersteuning
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 gekozen competenties
Thursday, March 18, 2010
67
Scrum - HvA - Rody Middelkoop
Tools: Confluence
Thursday, March 18, 2010
68
Scrum - HvA - Rody Middelkoop
Tools: JIRA
Thursday, March 18, 2010
69
Scrum - HvA - Rody Middelkoop
Tools: Bamboo
Thursday, March 18, 2010
70
Scrum - HvA - Rody Middelkoop
Other “Agile” Tools and Practices
Test Driven Development: JUnit EasyMock Cobertura
Versioncontrol Subversion
Planningboard & Burndown Jira, GreenHopper
Pair Programming Planning Poker Refactoring
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
X
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
XX
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
XX
X
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
XX
XX
Thursday, March 18, 2010
71
Scrum - HvA - Rody Middelkoop
Competentiematrix
Rol/Competentie Samenwerken Communiceren Planmatig werken
Scrum Master
Product Owner
Team Member
X
XX
XX X
Thursday, March 18, 2010
72
Scrum - HvA - Rody Middelkoop
Scrum Master & Planmatig werken
Thursday, March 18, 2010
73
Scrum - HvA - Rody Middelkoop
Product Owner & Communiceren
Thursday, March 18, 2010
74
Scrum - HvA - Rody Middelkoop
Team Member & Samenwerken
Thursday, March 18, 2010
ConclusieThursday, March 18, 2010
76
Scrum - HvA - Rody Middelkoop
What to expect?
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
Thursday, March 18, 2010
77
Scrum - HvA - Rody Middelkoop
Wrap up: Scrum values
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!
Thursday, March 18, 2010
78
Scrum - HvA - Rody Middelkoop
Softwareontwikkel-proces:✓RollenProducten✓Verantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering
Processen: Scrum
Projectmanagement-proces: Geld✓ Organisatie✓ Kwaliteit Informatie✓ Tijd
Thursday, March 18, 2010
79
Scrum - HvA - Rody Middelkoop
Resources
DDOA http://wiki.icaprojecten.nl
Agile Manifesto http://agilemanifesto.org/
Implementing Scrumhttp://www.implementingscrum.com/
Larman, Craig, (2004), Agile & Iterative Development. A Manager’s Guide, Boston: Pearson Education.
Luminis, Jeroen Bouvrie, Scrum Master
Thursday, March 18, 2010
Bedankt voor uw aandacht!
Thursday, March 18, 2010