Scrum in education (dutch)

39
Scrum voor onderwijs Hoe we in de course DEA werken richting het OOSE project

Transcript of Scrum in education (dutch)

Page 1: Scrum in education (dutch)

Scrum voor onderwijsHoe we in de course DEA werken richting het OOSE project

Page 2: Scrum in education (dutch)

Voor we starten….

Ga naar http://m.socrative.com Kies voor de kamer/room IOTIVul de vragenlijst in

Page 3: Scrum in education (dutch)

Een semester in de hoofdfaseBlok 1 (9 weken)• Course 1: OOSE -> OOAD• Course 2: OOSE -> DEA• Professional skills

Blok 2 (9 weken)• Project

Uitdagingen:• Courses zijn

voorgestuctureerd, project is een open opdracht met een externe opdrachtgever

• Professional skills staat nogal los (qua rooster en opdrachten)

Kunnen we dit slimmer organiseren als voorbereiding op het project?

DEA = Distributed Enterprise Applications:• Clean Code• Unit-testen• Protocollen• Build-tooling• Multithreading• Design Patterns en

principes• Refactoring• Research• Java EE: Web-applicaties

& databasetoegang

Page 4: Scrum in education (dutch)
Page 5: Scrum in education (dutch)

Principles behind the Agile Manifesto1. Our highest priority is to satisfy the

customer through early and continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Page 6: Scrum in education (dutch)

Principles behind the Agile Manifesto4. Business people and developers

must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Page 7: Scrum in education (dutch)

Principles behind the Agile Manifesto7. Working software is the primary

measure of progress.8. Agile processes promote sustainable

development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

Page 8: Scrum in education (dutch)

Principles behind the Agile Manifesto10. Simplicity--the art of maximizing the

amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 9: Scrum in education (dutch)

Principles behind the Agile ManifestoAgile alleen in softwareprojecten?Welk van de

begrippen aan de rechterkant gaat specifiek over software?

Veel principes zijn dus ook buiten de software-

wereld bruikbaar.

Page 10: Scrum in education (dutch)

Agile in Education Compass

Agile werken kan ook in een onderwijssituatie, in de klas dus. Niet om software mee te ontwikkelen maar om mee te leren / studeren!

Er zijn verschillende methoden om agile les te geven, een daarvan is Scrum die dezelfde pijlers deelt:- Samenwerken- Cultuur- Vertrouwen- Feedback en

reflectie

Page 11: Scrum in education (dutch)

Roles = Rollen

Artifacts = Producten

Meetings = Ceremonies

Page 12: Scrum in education (dutch)

afbeelding toevoegen (optioneel)

Rollen

Page 13: Scrum in education (dutch)

Product Owner (PO)

Is (of vertegenwoordigt) de klant.Is tussenpersoon voor eventuele stakeholders.Bepaalt de eisen en wensen naar het team toe.Bespreekt samen met het team de prioriteiten en acceptatiecriteria. Bij DEA wordt deze rol ingevuld door twee docenten. • In het rooster zie je twee coursecodes

staan: DEA en PS, er is dan (minimaal) 1 van de docenten aanwezig. Zij houden wekelijks onderling contact.

OOSE-A: Rody Middelkoop (DEA) en Tineke Jacobs (PS)OOSE-C: Michel Koolwaaij (DEA) en Pim Haenen (PS)

PS staat voor professional skills, daarover later meer.

Page 14: Scrum in education (dutch)

Scrum Master (SM)

• Houdt zicht op de correcte toepassing van alle rollen, producten en ceremonies.

• Is de voorzitter van de daily scrum meeting (Stand-up).

• Werkt de Burndown Chart, Planning Board (“flap”) en Impediment Backlog bij.

De docent kan niet elke les 5 of 6 Stand-ups voorzitten, de teamleider is dus verantwoordelijk voor de bullets 2 en 3. Na 1 of meerdere sprints kan de SM-rol grotendeels of geheel bij de teamleider liggen.

In het project is er geen onderscheid tussen teamleider en Scrum Master.

Page 15: Scrum in education (dutch)

Stakeholder

Buiten de klas kijken meer mensen mee naar het onderwijs, bijv.:• Collega-docenten, soms zijn de

assessor (= 2e beoordelaar)• Examen-/toetscommissie die de

kwaliteit van de toetsen waarborgt

De Product Owner (docent) vertegenwoordigt deze stakeholders maar soms zul je als team ook contact met hen hebben.

Page 16: Scrum in education (dutch)

Team

Samengesteld op basis van kwaliteitenTeams van 5 waarvan 1 teamleiderSamenstelling vast gedurende de courseSamen plannen, samen werken, samen communiceren, samen reflecteren = samen leren

Page 17: Scrum in education (dutch)

PO vs SMWie doet welke rol?

De rol van Scrum Master kan verplaatsen van docent naar student. De rol van Product Owner blijft bij de docent(en).

tijd

100 % student

100% docentProduct Owner

invullinginvulling

50% / 50%Scrum Master

Page 18: Scrum in education (dutch)

afbeelding toevoegen (optioneel)

Producten

Page 19: Scrum in education (dutch)

Product Backlog

De Product Backlog is een verzameling eisen (en soms wensen) van de Product Owner. In een leersituatie zoals in de course zijn de eisen geformuleerd in de vorm van opdrachten en/of toetsen. In Scrum worden vaak “user stories” geformuleerd. Een opdracht kan bestaan in de vorm van 1 of meerdere user stories. De course is ingedeeld in 4 ”Sprints” van 2 weken, in elke sprint pak je 1 of meerdere items van de product backlog op in opdracht van de product owner.

In DEA: 1 opdracht/toets integratie van meerdere onderwerpen/thema’s.

Plan: per thema een user story.

Page 20: Scrum in education (dutch)

Sprint Backlog

Een sprint is een periode van 2 weken.De Sprint Backlog is een lijst met user stories die gedurende de sprint worden afgerond en waarmee 1 of meerdere opdrachten/toetsen kunnen worden gemaakt.

Page 21: Scrum in education (dutch)

User Story

Een user story is een stukje functionaliteit dat klein genoeg is om geschat en gepland te worden maar te groot om door 1 teamlid direct uit te voeren. Een user story heeft doorgaans een voor- en achterkant.

Page 22: Scrum in education (dutch)

User Story - vervolg

Gebruikelijk formaat:As a <type of user>, I want <some goal> so that <some reason>.“As a user, I can indicate folders not to backup so that my backup drive isn't filled up with things I don't need saved.”

Alternatief voor (theorie-/programmeer-)toetsenAs a student, I need to learn <learning objective> so that <learning purpose>.“As a student, I need to learn Maven so I can build, test and run applications with a script”.

Naast de beschrijving bevat elke user story een schatting in de vorm van planning poker punten.

Voorkant Werkt goed voor casussen/case studies maar niet voor toetsen. Voor onze onderwijssituatie hebben we een alternatief format.

Page 23: Scrum in education (dutch)

User Story - vervolg

Op de achterkant van een story neem je de acceptatiecriteria op en beantwoord je de vraag: • Wanneer is het goed (genoeg)?• Wat hoort er wel en wat (net) niet meer bij.

Bijvoorbeeld• Kan externe libraries toevoegen als Maven

dependency.• Kan versies van dependencies aanpassen.• Kan Maven command-line gebruiken voor het

runnen en unit-testen van een applicatie. • Hoeft geen rekening te houden met multi-

modules

AchterkantAcceptatiecriteria zijn gerelateerd aan succescriteria voor een project maar ook aan randvoorwaarden. Acceptatiecriteria zijn een vorm van productkwaliteit.

Page 24: Scrum in education (dutch)

Task

De kleinste eenheid van planning is de taak (task). Elke taak:• Is tussen de 30 minuten en 2 uur groot (straks in

project hanteren we 1-4 uur)• Zo doe je elke les minimaal 1 taak en vaak meer.

• Heeft een assignee (uitvoerder). Deze kan wisselen door de tijd heen doordat 1 teamlid iets leert/maakt en een ander dat controleert/test/reviewt

• Hangt op het taskboard.• Op de taak houd je de voortgang bij, indien

nodig herzie je je urenplanning.• Elke Stand-up verwerk je voortgang in de

burndown.

Page 25: Scrum in education (dutch)

TaskboardGeorganiseerd per story

Stories worden in punten geschat.

Page 26: Scrum in education (dutch)

Burndown chart

De burndown is een grafiek die weergeeft:• Voor hoeveel uren en punten er werk

is bij de start• Wat de ideale lijn is• Voor nu en het verleden hoeveel uur

er die dag gewerkt is

De burndown geeft inzicht of je de sprint gaat halen. Als je vaak tegenslag hebt omdat je meer tijd nodig had dan zie je dat tussentijds en kun je in overleg met de product owner (docent).

Page 27: Scrum in education (dutch)

Impediment Backlog

Elke Stand-up houd de teamleider bij of er nog blokkades zijn (in Scrum: Impediments). Deze worden geadministreerd op de flap en besproken met de Product Owner.

Page 28: Scrum in education (dutch)

Definition of Done

Wanneer is iets voor ons echt klaar?

Voorbeelden:• als iedereen het gemaakte werk snapt.

(geleerd, samengevat, overhoort)• iedereen leert minimaal x dagen van te voren

voor toetsen.• gemaakt werk wordt met alle teamleden

besproken / nagekeken

De DoD is waarschijnlijk constant gedurende alle sprints, maar mogelijk komen er items bij of worden ze aangescherpt na afloop van een sprint.

DoD = Proceskwaliteit

Page 29: Scrum in education (dutch)

Definition of Fun

Wat zorgt ervoor dat ik met veel plezier in dit team samenwerk?

Voorbeelden:• Vertrouwen (kunnen vertrouwen in de ander

en jezelf)• Positieve feedback (geven en krijgen)• Samen kunnen lachen• Respect (afspraak = afspraak)

De DoF is waarschijnlijk constant gedurende alle sprints, maar mogelijk komen er items bij of worden ze aangescherpt na afloop van een sprint.

DoF

Page 30: Scrum in education (dutch)

afbeelding toevoegen (optioneel)

Ceremonies

Page 31: Scrum in education (dutch)

Sprint Planning

Gedurende de Sprint Planning:• Inventariseer je de user stories• Prioriteer je de user stories• Schat je de user stories met Planning

Poker• Splits je de user stories in taken,

verdeel je de taken en schat je uren per taak.

Bij sprints van 2 weken is een Sprint Planning van 1 tot 2 dagdelen gebruikelijk.

Page 32: Scrum in education (dutch)

Daily Scrum Meeting (Stand-up)Doel van de Stand-up: gaan we de sprint halen?De teamleider begeleidt de Stand-up van max. 5 minuten.Ieder teamlid staat om de flap heen.Ieder teamlid de volgende vragen.

– Wat heb je gedaan? (moeten er taken worden verhangen?)

– Wat ga je doen? (moeten er taken worden verhangen?)

– Wat zijn je problemen en blokkades?Tijdens de Stand-up bespreek je als team hoe je de eventuele problemen gaat oplossen. Het echte oplossen gebeurt pas na de Stand-up.

Blokkade = “Impediment”. Bespreek deze met de product owner (docent), maar los ze in je team op.

Page 33: Scrum in education (dutch)

Teamnaam Namen studenten

Sprint backlog met taken

Status van taken

Definition of Fun

Definition of DoneBurndown

Acties uit retrospective

Impediment backlog

Page 34: Scrum in education (dutch)

De flap

De flap is een verzameling van enkele Scrum-producten• Sprint Backlog• Taskboard• Burndown• DoD• DoF• Impediment Backlog• Verbeterpunten na Retrospective

Page 35: Scrum in education (dutch)

Sprint Review

Is de sprint gehaald, zijn alle taken af, is het “product” af?• Demonstreer je product(en)Heeft iedereen voldoende geleerd?• Checken middels een toets of opdracht (4x)

Er zijn verschillende soorten toetsen:• Programmeertoetsen (2x)

• Deze maak je na een sprint, individueel.• Programmeeropdracht (case study)

• Deze maak je tijdens een sprint, individueel.• Onderzoeksopdracht

• Deze maak je tijdens een sprint, in tweetallen.• Assessment

• Deze maak je na een sprint, individueel.

Page 36: Scrum in education (dutch)

Sprint Retrospective

Aan het einde van een Sprint is het van belang om na te gaan wat er goed ging en wat je de volgende keer anders / beter kunt doen. De volgende vragen kun je daarvoor beantwoorden: • Wat ging er goed?• Wat kan of moet verbeterd worden?• Wat moeten we niet meer doen?• Wat doen we met taken die niet uitgevoerd

zijn?

Deze vragen betreffen het team maar ook alle teamleden: kritisch kijken naar je eigen handelen en dat van je teamgenoten.

Page 37: Scrum in education (dutch)

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

Bepalen Sprint Backlog

en Planning

poker

3 uu

rW1

W2

W3

Retrospective

Bepalen Sprint Backlog

en Planning

poker

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

Vaak heb je meer tijd nodig voor het bepalen en schatten van stories en verdelen van taken. Je werkt dus buiten de contacturen gewoon door!

Page 38: Scrum in education (dutch)

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

Bepalen Sprint Backlog

en Planning

poker

3 uu

r

W1

W2

W3

Retrospective

Bepalen Sprint Backlog

en Planning

poker

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

klassikaal

klassikaal

mini-review

standup

TOETS

klassikaal

mini-review

standup

werken aan Sprint-backlog

items

Page 39: Scrum in education (dutch)

PS = Professional SkillsHeb je gezien dat begrippen/termen een afwijkende kleur hadden?

Op het moment dat er “PS” in je rooster staat zal de Product Owner zich vooral focussen op deze aspecten van de course. Deze aspecten zitten verweven in de course, maar op 1 specifiek dagdeel heeft dit de focus.

Op deze wijze wordt je just-in-time voorbereid voor de sprint maar ook het komende project dat start met een assessment.