Milan Verzijlbergh
13 januari 2014
Bij onze software development trajecten werken wij met projectteams. Afhankelijk van het soort en de omvang van het project wordt een team samengesteld op basis van de specifieke technische kennis en kunde van de developers. Vaak bestaat een team volledig uit developers van Ibuildings, maar we werken ook in co-development teams waarbij naast developers van Ibuildings ook eigen developers van de klant aan het project werken.
Bij zo’n co-development traject is het noodzakelijk om extra aandacht te besteden aan een goede fundering voor het project. Naast een introductie in de tools die Ibuildings gebruikt bij software development projecten, moet er ook overeenstemming zijn over de werkwijze die aan het project ten grondslag ligt. Met andere woorden, ervoor zorgen dat we als team dezelfde taal spreken.
Hiervoor organiseren we een kick-off workshop met alle deelnemers van het project. Doelstelling is het creëren van een gemeenschappelijk draagvlak binnen het development team. Dit vergroot de effectiviteit en resulteert in een omgeving waarbinnen veranderingen sneller kunnen worden omgezet naar resultaat.
Welke onderwerpen komen aan bod tijdens deze workshop:
Gebruiken van dezelfde taal
Bij Ibuildings omarmen wij de principes van Agile development, maar realiseren wij ons terdege dat het uiteindelijk de klant is die zich comfortabel moet voelen bij de gekozen development methodiek. In eerste instantie gaat het dus om overtuigen en op basis van onze praktijkervaring en voorbeelden aangeven waarom een methodiek of onderdelen hieruit kunnen bijdragen aan een positief projectresultaat.
Binnen de Agile methodiek kiezen we vaak voor Scrum als hoofdmethodiek. Scrum omarmt verandering tijdens een project waardoor je beter de mogelijkheden hebt om bij te sturen tijdens de ontwikkeling, terwijl je grip houdt op de kosten en doorlooptijd.
Scrum definieert verschillende rollen; de Product Owner, het Development Team, de Scrum Master en de Stakeholders. Daarnaast onderscheiden we verschillende elementen welke ondersteuning geven aan het proces; Sprints, Backlog, Stories, Restrospective, Sprint planningen, etc. Bij de workshop komt uitvoerig aan bod wat deze rollen en elementen inhouden en waarom het zo belangrijk is om deze consequent en goed te blijven gebruiken.
Op basis van de wensen van de klant kan uiteraard ook een andere methodiek als basis gekozen worden. Het belangrijkste is dat bij de kick-off duidelijk wordt welke rollen en elementen er zijn en wat daarvan de gezamenlijke definitie is.
Praktijkopdracht
Het belangrijkste onderdeel van de workshop is natuurlijk de praktijk oefening. De developers worden opgedeeld in teams en zij gaan iteratief een product ontwikkelen. Elk team wijst een Scrum Master aan welke met de Product Owner overlegd wat er in de sprint gemaakt moet worden. Dit doen we met lego blokjes en de opdracht is het ontwikkelen van een ‘dier’. Dit doen we in een aantal sprints waarbij geofefend wordt met de rollen Scrum Master en Product Owner maar ook met de elementen Sprint, Stories en Backlog. Doelstelling is om elke sprint nieuwe features toe te voegen tot uiteindelijk bij de derde sprint het product voor de Product Owners af is.
Planning Poker
Na een korte uitleg over Planning Poker, brengen we ook dit onderdeel in praktijk met verschillende oefeningen. Er worden verschillende teams samengesteld en de opdracht is een estimation te maken voor het bouwen van een serre. Als voorbereiding worden er een aantal stories gemaakt, een klein functioneel ontwerp en een aantal technische specificaties.
Deze oefening geeft altijd meer dan voldoende discussie over het meten van complexiteit binnen een team. Het uiteindelijke doel is natuurlijk om te komen tot een inhoudelijke discussie over de inhoud en de visie van het werk bij de individuele team leden.
Het in de praktijk brengen
Vanzelfsprekend is iedere organisatie anders. En verandering kost tijd. Als laatste onderdeel van de workshop staan we ook hier expliciet bij stil. Waar verwacht je tegenaan te lopen bij de verandering van je eigen organisatie? En in de samenwerking met Ibuildings? Wat zijn de dingen waarop jij je als ontwikkelaar op wilt concentreren?
Na de workshop gaan we aan de slag met het development project. De eerste weken blijft de aandacht voor samen dezelfde taal spreken heel belangrijk. Zowel bij de Ibuildings developers als de developers van de klant zijn er in de loop der tijd zoveel impliciete werkafspraken gemaakt dat misverstanden snel ontstaan.
De Scrum Master moet hier erg alert op blijven en aandacht blijven geven bij stand-up meetings of Retrospectives.