Kados is een open source projectmanagement tool gericht op scrum en andere agile projecten. Verschillende dashboarden met digitale post-its geven het team snel inzicht in user stories, sprints en releases, taken en rollen en risico’s en problems.

Moderne software-ontwikkelteams werken niet meer aan de hand van duimendikke functionele ontwerpen en nog dikkere technische ontwerpen. Nee, zij werken ‘agile’. Bij het schrijven van een functioneel ontwerp moet de klant al precies weten wat hij wil en de doorlooptijd voor het maken van zo’n ontwerp wordt eerder in maanden dan in weken uitgedrukt. Daarna moet zo’n functioneel ontwerp nog vertaald worden in een technisch ontwerp. Tegen de tijd dat dit technisch ontwerp ter goedkeuring wordt opgeleverd zijn allang de inzichten en wensen van de gebruikers gewijzigd. Daarom wordt tegenwoordig voor een andere werkmethode gekozen, ‘agile’. Hierbij wordt steeds teruggekoppeld met de opdrachtgever of gebruikers en worden de te realiseren wensen en specificaties regelmatig geactualiseerd. De ontwikkelaars werken in kleine, vaak zelfsturende, teams met een wisselende samenstelling. Bij het toewijzen van uit te voeren werk wordt een beperkte tijd vooruit gekeken, bijvoorbeeld enkele weken. Dit wordt gepland, uitgevoerd en opgeleverd, waarna een nieuwe inventarisatie van het voor de komende weken uit te voeren werk wordt gepland.

 

Scrum

Scrum is een manier om agile te werken. Men werkt in sprints. Dit zijn korte periodes van hooguit enkele weken waarin één of meerdere features werkend worden gemaakt en opgeleverd. Hierdoor houdt de opdrachtgever goed overzicht over de voortgang en kan deze snel beoordelen of de opgeleverde functionaliteiten nog steeds goed passen bij de behoeftes en verwachtingen. Naast de opdrachtgever kent scrum nog de rollen scrummaster en teamlid. Binnen het agile werken wordt niet alles tot zes cijfers achter de komma nauwkeurig beschreven, maar worden gewenste functionaliteiten (features) in userstories omschreven. Deze beschrijven kort het wie, wat en waarom. Deze userstories volgen meestal het template “als <type gebruiker> wil ik <deze functionaliteit> wegens <dit doel of deze reden>“. Deze userstories breken het werk in vele kleine stukjes op en zorgen voor een goede interactie tussen de gebruiker en de ontwikkelaar. De verzameling te realiseren userstories wordt de backlog genoemd. De opdrachtgever bepaalt de prioriteit van de userstories.

 

Een scrumboard of scrumwall is een planbord waarop voor elke userstory een kaartje wordt geplakt of geprikt. Hierdoor ontstaat een visueel overzicht van de uit te voeren werkzaamheden en kunnen de opdrachtgever en het team gericht van gedachten wisselen over de huidige stand van zaken en de uit te voeren werkzaamheden. Alhoewel scrum voor het ontwikkelen van software bedacht is, kun je het toepassen bij allerlei projecten waarbij vooraf niet alle specificaties vooraf bekend zijn en deze gaandeweg met de opdrachtgever nader worden ingevuld.

 

Kados

Kados is een webapplicatie voor het managen van scrum projecten. De naam Kados is een afkorting van ‘KAnban Dashboard for Online Scrum’. Kanban slaat op het werken met kaartjes die van de ene naar de andere kolom verhuizen. Kados laat de teamleden online de projecten managen. Het maken en verslepen van digitale post-its is een consistent terugkerend onderdeel van de gebruikersinterface van Kados. Hierdoor ontstaat een visueel overzicht wat nog verder versterkt kan worden door toepassing van zelf te kiezen kleuren. Momenteel ondersteunt Kados de talen Duits, Engels, Frans, Portugees en Spaans.

 

Kados is gebouwd in PHP en Javascript en maakt op de server gebruik van de MySQL database. Kados is een open source applicatie die ontwikkeld wordt door het Franse bedrijf Marmotte Technologies en wordt geleverd onder de GPL en de MIT licentie. Je kunt Kados vanaf sourceforge.net downloaden. Kados is eenvoudig te installeren op een webserver met PHP en MySQL, dit is een klusje van een paar minuten. Wij installeerden versie 1.7.1. Bij het installeren van Kados wordt een account voor de beheerder aangemaakt (admin). Je logt in als deze beheerder en maakt vervolgens andere gebruikers aan. Je kunt hierbij kiezen uit twee profielen: beheerder of gewone gebruiker. Nadat je één of meer gebruikers hebt aangemaakt, kun je aan de slag met het projectmanagement.

 

Je begint een project aan te maken in Kados. Hierbij kies je of je één, twee of drie niveaus in je project wilt gaan gebruiken. Dit betreffen de niveaus ‘project’, ‘project en releases’ en ‘project, releases en sprints’. Hierdoor kun je ook eenvoudige kleine projecten in Kados opnemen. Verder kies je bij het aanmaken van het project welke gebruiker in Kados de rol van projectadministrateur krijgt. Nu hoef je alleen nog een pakkende projectnaam in te voeren en je hebt een nieuw project aangemaakt.

 

Vervolgens kies je de stakeholders van het project. Je kiest deze uit de lijst van gebruikers. Voor elke stakeholder die je zo kiest, verschijnt een post-it in de kolom ‘Lecteur’. Je sleept deze vervolgens naar één van de kolommen producteigenaar, scrummaster of teamlid. Je kunt deze rollen eventueel per release specificeren.

 

Maak dan de eerste paar releases aan. Een release heeft een naam en een deadline. Wanneer je nu naar het dashboard ‘Kanban’ gaat, zie je naast de kolom Backlog voor iedere release een aparte kolom. In dit overzicht kun je nieuwe userstories aanmaken en beheren. Nieuwe userstories komen automatisch in de kolom Backlog, deze kun je vervolgens verslepen naar een van de andere kolommen. We hebben nu een globale planning welke van de te realiseren userstories we in welke release willen opleveren.

 

Sprints

Ga terug naar het project dashboard. Voor elke release zien we een aparte regel met daarin onder andere een telling van het aantal userstories. Je kunt nu voor een release één of meer sprints aanmaken. Elke sprint heeft een naam, een begin- en een einddatum. Wanneer je nu weer terug naar het dashboard van de betreffende release gaat, zie je een kolom backlog en per sprint een aparte kolom. Elke userstory is nu een post-it in de kolom backlog. Deze kun je eenvoudig met je muis verslepen naar de sprint waarin je deze wilt gaan realiseren.

 

Via de menukeuze ‘User story priority’ kun je de userstories een prioriteit geven op basis van respectievelijk business value en complexiteit. Ook dit doe je weer door de post-itjes van de userstories te verslepen naar de juiste kolom. Welke waarden de kolommen bevatten, kun je via de menukeuze projectconfiguratie nader bepalen. Door het toekennen van prioriteiten wordt het mogelijk in de diverse overzichten de stories te laten sorteren op prioriteit.

 

In het project dashboard kun je verder nog features aan het project toevoegen. Een feature heeft een code, een naam en een omschrijving. Nadat je één of meer features gedefinieerd hebt, open je het features dashboard. Je krijgt nu een kolom ‘no feature’ te zien, plus voor elke feature een aparte kolom. De userstories staan in de eerste kolom, deze kun je verslepen naar de kolom waarin ze thuis horen.

 

Naast de userstories kan je ook nog problemen en risico’s in het project definiëren. Je kunt deze desgewenst koppelen aan een userstory en een percentage voor de kans van optreden invoeren. Ook nu worden post-itjes per risico en probleem gemaakt, die je vervolgens naar de kolommen lage, middelgrote of hoge impact kunt slepen. Via de menukeuze ‘action progress’ deel je ze in de kolommen ‘to do’, ‘in progress’ of ‘done’ in.

 

Taken toewijzen

We hebben nu voor ons project bepaald wie de betrokkenen zijn en op basis van userstories welke features in welke releases we willen realiseren. Per release hebben we één of meer sprints gedefinieerd met daarbij welke userstories in de betreffende sprint worden opgepakt. We roepen een teamvergadering bijeen en openen het dashboard ‘Kanban’. Dit bevat een overzicht van de sprints met daarin de userstories in de eerste kolom. Hiernaast staan de kolommen ‘to do’, ‘in progress’, ‘done’ en ‘dev OK’ (opgeleverd). Per userstory kunnen we één of meer taken aanmaken met een gepland aantal uren. Het post-itje van deze taak komt in de kolom ‘to do’. Hierna kunnen we de taak toewijzen aan een teamlid. In de komende scrumboard meetings kunnen de taken afhankelijk van de voortgang van het werk versleept worden naar de kolommen ‘in progress’, ‘done’ en ‘dev OK’ en/of aan een ander teamlid toewijzen.

 

Wanneer een teamlid inlogt, krijgt deze dezelfde dashboards. In het home dashboard staat een lijst met projecten, bovenin de gebookmarkte projecten en daaronder de overige. Door op het icoon in de projectregel te klikken, kan snel gesprongen worden naar de huidige release of huige sprint. Hier kan je op een button ‘filter userstories met mijn taken’ klikken, waardoor je alleen die userstories te zien krijgt waarin taken aan jou zijn toegewezen. Je kunt nu bij taken met de status ‘in progress’ hebben opnemen hoeveel uur je eraan gewerkt hebt en hoeveel uur je nog verwacht nodig te hebben. Bij de volgende teammeeting zie je dit op de post-it van de betreffende taak, in de hoek rechtsboven staat het aantal geplande uren, links onder het aantal bestede uren en rechtsonder het verwachte aantal nog te besteden uren. Hierdoor heeft iedereen in een oogopslag de status van de taken van de huidige sprint in beeld en waar eventueel knelpunten in de doorlooptijd te verwachten zijn.

 

RSS feeds

Kados biedt op verschillende niveaus RSS-feeds aan. Je kunt kiezen welke RSS-feed je wilt volgen. Hierdoor blijf je adequaat op de hoogte van die updates die voor jou van belang zijn zonder dat je meteen aan een informatie-overload ten onder gaat.

 

Naast de hier besproken functionaliteiten biedt Kados nog wat andere opties. Zo kun je desgewenst ook taken buiten de userstories om vastleggen en toewijzen, rapportjes opvragen etcetera. Na de installatie van Kados moesten wij nog een regeltje in de php code uitcommenten, voordat we grafiekjes konden opvragen. Deze grafiekjes worden gemaakt met JpGraph en deze geeft een foutmelding. Dit is een bekend probleem en de oplossing was in minder dan een minuut op internet gevonden.

 

Punaises

De keuze tussen een fysiek scrumboard met echte papieren kaartjes en punaises of een digitale versie kunnen wij niet voor je maken. Bij sommigen is de ene manier effectiever, bij anderen is de andere manier weer beter. Een groot voordeel van een digitaal scrumboard is dat kaartjes niet in de stofzuiger van de schoonmaker kunnen verdwijnen. Je kunt in Kados op ieder gewenst moment opvragen wat de huidige stand is en bij welke taken jij betrokken bent. Kados biedt het voordeel dat je het op je eigen server kunt draaien. Door de keuze voor PHP met MySQL is het gemakkelijk te installeren en te beheren. Een script dat periodiek een dumpje van de database maakt voor de back-up is snel gemaakt. De gebruikers zullen Kados gemakkelijk in het gebruik vinden. Door de consistente schermopbouw en het breed doorgevoerd hebben van het post-it model kun je snel met het pakket werken en zit het je niet in de weg.