U bent hier:
  1. Home
  2. Nieuws
  3. Bekijk


Achtergrond

Asymmetrische cryptografie, een onevenredige last voor de CPU

Asymmetrische of publieke-sleutelcryptografie kan een zware wissel trekken op de processor, zowel op het vlak van berekeningen als qua geheugenverkeer. Barco Silex legt uit hoe zijn...

Interview

Afgeslankt NXP klimt uit zwart gat

Het waren pijnlijke jaren, maar het gaat weer de goede kant op met zijn bedrijf, vertelt CTO René Penning de Vries van NXP. Een gesprek...

Column

Schijnveilig

Beveiliging is een onderwerp van extremen. Dat is precies wat het spannend maakt. Versleutelen is een kant van beveiliging die het meest tot de verbeelding spreekt. Ik herinner me het geheimschrift...

Achtergrond

Scrum en XP frisse wind in onderwijs

26 maart 2009

Projecten in het hbo kenmerken zich meestal door een strakke rolverdeling, een flinke hoeveelheid documentatie en een watervalaanpak. De resultaten met een Agile-werkwijze zijn echter bemoedigend. Studenten zijn enthousiast door de continue focus op werkende software en de verbeterde communicatie in het team. De testaanpak en de tooling vereisen nog wel extra aandacht in de onderwijssituatie.

Studenten op het hbo en de universiteit leren de praktijk van softwareontwikkeling vaak via projecten. In de typische doorlooptijd van achttien weken staat een groot probleem centraal dat moet uitmonden in een gerealiseerd systeem. Binnen het thema ‘realtime en embedded systemen’ is dat een systeem met hardware aangestuurd door (embedded) software. Andere onderwerpen zijn bijvoorbeeld een beveiligingsapplicatie, een computergame en een toepassing op gedistribueerde middleware.

Voor de uitvoering van deze projecten gebruiken de studenten traditioneel relatief zware processen als Rup (Rational Unified Process), TSP (Team Software Process) of het watervalmodel. De sterke opkomst van Agile-methodes in het bedrijfsleven was voor de opleidingen informatica en technische informatica van Saxion in Enschede een signaal om na te denken over de projectaanpak in de specialisatiethema’s. Dit artikel beschrijft de invoering van Agile in het onderwijs bij Saxion. De hogeschool kreeg daarbij ondersteuning van Alten PTS.

Er waren meerdere redenen om de projectaanpak om te zetten naar een Agile-werkwijze met elementen van Scrum en XP (Extreme Programming). Zo was de kennisdeling onvoldoende, omdat studenten bij een strikte functiescheiding in een team te weinig weten van elkaars software. Door onnodige overhead kregen de studenten ook de indruk dat er weinig voortgang was in de bouw van het systeem. Bovendien werd de realisatie te lang uitgesteld door onzekerheden in de beginfase.

Verwateren

Het aanbod van het bedrijfsleven om de introductie van Scrum en XP te ondersteunen, heeft Saxion met beide handen aangegrepen. De eerste stap was een gastcollege door een medewerker van Alten PTS die bij Philips Research goede ervaringen had opgedaan met Scrum en XP. Dit college maakte zowel studenten als docenten enthousiast. Zij kregen inzicht in werken op een Agile-manier en er ontstond vertrouwen dat dit zonder al te veel problemen bruikbaar zou zijn in de op te starten projecten. Gaandeweg hebben we wel ervaren dat er grote verschillen bestaan tussen een professioneel ontwikkelteam in een researchinstelling en een onderwijssituatie.

De elementen van Scrum die studenten direct oppikten, zijn de user stories (inclusief demo’s), de backlog, de sprintlog, het Scrumboard, de daily stand-up, de Scrummaster en de aftrap en afsluiting van een sprint. Een sprint duurt twee of drie weken. Van XP hebben ze de story’s, de demo’s en pair programming met geregelde paarwisseling ingevoerd. Elke projectgroep kent een product owner (soms een docent) en een docent die als tutor het proces en de engineering monitort en daar feedback op geeft.

De studenten zijn positief tot zeer positief over Scrum en XP. Niet verrassend onthalen ze de geringe hoeveelheid geëiste documentatie met enthousiasme. Dat dit betekent dat er meer aandacht en discipline nodig is voor tests en communicatie, hebben ze in de praktijk moeten leren. Als grootste voordeel zien ze het toegenomen plezier en de gestegen motivatie door het snelle resultaat en het doelgericht werken met user story’s. Ook de flexibiliteit en het overzicht over het project door de daily stand-up en pair programming ervaren ze als positief. Volgens een aantal groepen is de snelheid van het ontwikkelen flink toegenomen.

Het Scrumboard geeft een overzicht van de voortgang (sprintlog, werk in uitvoering, geteste en afgesloten story’s, burn-downgrafiek).

Als nadeel noemen de studenten de (zelf gekozen) grootte van de taken, waardoor deze niet goed binnen de sprint passen. Sommige groepen zien in de geringe documentatie een probleem bij de overdracht van het project. Volgens anderen vangt de beschikbaarheid van voldoende tests dit echter goed op. Een moeilijkheid vormt ook de tooling: gereedschappen als Luntbuild kosten te veel tijd om in te richten. Daarnaast zijn zowel de unittests als de acceptatiecriteria punten van discussie, wat duidelijk maakt dat er in de opleiding meer aandacht moet komen voor testen. De meeste groepen zijn het er wel over eens dat de kwaliteit van het eindresultaat duidelijk beter is door de unit- en acceptatietests.

Voor docenten veranderde de rol bij de overgang van TSP naar Scrum en XP. Docenten vinden het prettig om samen met de groep te praten over de voortgang. Daarbij verwateren de rollen van klant en proces- en inhoudsbegeleider weliswaar, maar het geeft hun het gevoel meer grip op het geheel te houden. Verder hebben ze de indruk dat ze sneller dan bij TSP zicht hebben op wat studenten doen en hoe ze het project aanpakken. Het wordt snel duidelijk wat ieder afzonderlijk bijdraagt, waardoor studenten zich minder aan het project kunnen onttrekken.

Het is voor docenten wel lastig om zich te verplaatsen in de rol van een klant, die rol goed vorm te geven en zich ook tot die rol te beperken. Zo is het wennen dat ze nu aan het eind van iedere sprint de volledige set van demo’s te zien krijgen. Ook moeten ze als opdrachtgever de nodige documentatie eisen en expliciete reviews verplicht stellen om de kwaliteit ervan te bewaken. Studenten vinden dat echter logisch. Om tot een beoordeling te komen, houden docenten bovendien iedere zes weken een assessment waarin de studenten inzicht moeten geven in hun prestaties en hoe ze zaken beter hebben leren beheersen.

Winstpunt

Omdat werken op een Agile-manier nieuw is voor studenten, zal er aandacht moeten zijn voor de invoering ervan. Bij Saxion hebben we dit gedaan door Alten PTS gastlessen te laten verzorgen. Daarnaast vormt het boekje ‘Scrum and XP from the trenches’ van Henrik Kniberg een goede introductie.

Hoewel in de praktijk blijkt dat studenten veel snel oppikken, is er extra aandacht nodig voor user story’s: hoe schrijf je die op en hoe nauwkeurig beschrijf je de demo die aantoont dat een story is geïmplementeerd? Ander aandachtspunt is testgedreven ontwikkeling; studenten zijn hierin vrij onervaren, net als in testen in het algemeen. Verder is het nodig om goed naar de programmeer- en testomgeving te kijken. Tijdverlies in ondersteunend gereedschap is te voorkomen door standaard tooling aan te bieden of de tooling eenvoudig te houden.

Belangrijk winstpunt van Agile in het onderwijs is dat studenten enthousiast zijn en ondertussen veel leren.

De nieuwe functie van de docent verdient ook wat meer aandacht. In het ideale geval vertolkt een externe opdrachtgever de rol van klant en heeft de docent oog voor de kwaliteit van zowel het proces als de opgeleverde software. Wanneer er geen externe opdrachtgever deelneemt aan het project, zal een docent die taak moeten overnemen. Dat vraagt van hem een andere betrokkenheid. Docenten hadden zelf in het begin ook nog geen ervaring met Scrum en XP. De nodige kennis is vooral gekomen vanuit het bedrijfsleven. Verder hebben docenten geleerd dat de klant een expliciete deliverable vraagt die gemaakte keuzes inhoudelijk verantwoordt. Juist in een onderwijssituatie is dat essentieel.

Een andere uitdaging vormt kennisdeling bij pair programming. De student die achter het toetsenbord zit en zijn maatje die toekijkt en meedenkt, moeten leren hun rollen goed te vervullen. Enerzijds is het erg leerzaam om samen over problemen en oplossingen te praten. Anderzijds is de toeschouwer vaak te weinig actief om alvast testscenario’s te bedenken.

De eerste ervaringen met Scrum en XP zijn waardevol en beloven goede resultaten voor softwareontwikkelprojecten in het onderwijs. Studenten houden goed zicht op de voortgang door te werken met kleine increments en te zorgen voor een verantwoord en werkend deelsysteem aan het eind van een sprint. De rol van producteigenaar is nieuw voor docenten en de invulling daarvan vraagt aandacht. Belangrijk winstpunt is dat studenten enthousiast zijn en ondertussen veel leren. De ervaring die we nu hebben opgedaan, stimuleert om verder te gaan.

Henk van Leeuwen is sinds 2000 lector Ambient Intelligence bij Saxion in Enschede. Hij heeft brede ervaring met de interactie tussen bedrijfsleven en onderwijs. Gerben Blom is technisch manager bij Alten PTS en heeft uitgebreide expertise in de softwareontwikkeling. Sinds twee jaar is hij bedrijfslid van de Saxion-kenniskring Ambient Intelligence.

Gerben Blom en Henk van Leeuwen

Terug naar overzicht


Backlog – prioriteitenlijst van functionele eisen

Burn-downgrafiek – diagram dat het resterende werk toont in de sprintlog

Daily stand-up (ook: daily scrum) – dagelijkse bijeenkomst onder leiding van de Scrummaster waarin het team de projectvoortgang bespreekt

Increment – uitbreiding van het systeem in ontwikkeling

Pair programming – methode waarbij programmeurs in paren werken zodat ze van elkaar kunnen leren

Product owner – vertegenwoordiger van alle belanghebbenden, onder wie de klant

Scrumboard – bord met daarop een overzicht van de voortgang (sprintlog, werk in uitvoering, geteste en afgesloten story’s, burn-downgrafiek)

Scrummaster – teamlid dat de processen en de algehele projectvoortgang bewaakt

Sprint – iteratie van twee tot vier weken waarin het team een increment van bruikbare code ontwikkelt

Sprintlog – lijst van functionele eisen opgedeeld in kleinere taken die het team tijdens de huidige sprint moet uitvoeren

User story – een aantal zinnen waarin klanten in hun eigen taal beschrijven wat een systeemonderdeel voor hen moet doen


© Bits & Chips | Deze pagina op internet: http://www.bits-chips.nl/nc/nieuws/bekijk/artikel/scrum-en-xp-frisse-wind-in-onderwijs.html