
Scouts Online… De meesten van jullie zullen er een haat-liefdeverhouding mee hebben. Schermen lijken onduidelijk, die stomme rollen die gewisseld moeten worden, en net als je haast hebt zit er een fout in de software waardoor je niet verder kan. In deze ScoutBlog hoop ik een klein kijkje in de keuken te kunnen geven en je er zo van te overtuigen dat de ontwikkeling op een professionele manier gebeurt en dat er over het algemeen goed nagedacht wordt over hoe dingen in elkaar zitten.
Cijfers
Scouts Online is in ontwikkeling sinds 2004, dus nu al twaalf jaar. In softwaretermen is dit echt heel erg lang. In die tijd is Scouts Online gegroeid naar een applicatie die bestaat uit 389.306 regels zelfgeschreven programmacode en een aantal stukken standaardcode, die door andere partijen (open-source, vrij te gebruiken) onderhouden worden. Totaal zitten er 3.804.332 regels programmacode in Scouts Online. Deze code is verdeeld in 33 modules (een stuk programmacode met één specifieke taak), zoals de ledenadministratie, het evenementensysteem of de module voor de VOG’s.
Scouts Online wordt ook gebruikt door een aantal andere systemen binnen Scouting. Denk hierbij aan het systeem om mails te sturen, de loginmodule die weer gebruikt kan worden door alle groepen, de groepenzoeker op www.scouting.nl, er is een koppeling met het financiële pakket van Scouting Nederland en er kan gebruik gemaakt worden van iDeal bij landelijke ledenactiviteiten.
Tijdens het maken van Scouts Online zijn er twee hoofdtaken, namelijk het onderhouden en verbeteren van de bestaande code en het maken van nieuwe functionaliteit. Twintig procent van de tijd gaat zitten in het onderhouden van bestaande code en de rest wordt besteed aan het maken van nieuwe functionaliteit. Het vervangen van een oude module voor een nieuwe is nieuwe functionaliteit, dus dat rekenen we niet in die twintig procent mee.
Onderhoud van bestaande code
Voor het onderhoud wordt elke week gekeken welke nieuwe fouten er gemeld zijn. Dit melden kan door het mailen naar de helpdesk, maar de code van Scouts Online houdt op de achtergrond ook van alles bij en daaruit komen ook regelmatig problemen die hersteld moeten worden. Per module is er een module-eigenaar (product owner), die aangeeft wat de prioriteit is van de problemen (in welke volgorde gaan we eraan werken?).
Vervolgens komen deze problemen in een ‘vrijgave’ terecht, dit zijn de problemen die die week opgelost worden door de ontwikkelaars. Wanneer zij het probleem hebben verholpen, controleren ze of het goed werkt. Vervolgens wordt door een tweede ontwikkelaar gekeken of de code voldoet aan alle eisen en wordt er nogmaals getest. Ook gaat op dat moment een automatische test draaien, die kijkt of de wijziging geen onbedoelde gevolgen heeft op andere plekken van de Scouts Online-code.
Aan het einde van de week wordt de nieuwe versie van Scouts Online op een testwebsite gezet. Hier gaan dan de 22 vrijwilligers van Team Internet-Test en de 21 vrijwilligers van Team Internet-Helpdesk aan de gang om de opgeloste problemen te testen. Alle problemen die zij vinden, worden na het weekend opgelost en dan wordt de boel écht online gezet.
Ontwikkelen van nieuwe functionaliteit
Bij het maken van nieuwe functionaliteit gaat het net wat anders. Eerst wordt er gekeken of de nieuwe functionaliteit bij een bestaande product owner thuis hoort, of dat er een nieuwe eigenaar voor gevonden moet worden. De rol van deze product owner is het zorgen voor een vertaalslag van een vaag idee naar een uitgewerkt plan, het prioriteren van de taken en het (zorgen voor het) testen van de aanpassingen.
Nu gaat het ontwikkelteam aan de gang: zij gaan schatten hoeveel werk de taken nodig hebben en schrijven dit erbij. Binnen het team is bekend hoeveel werk er in een sprint (een periode van drie weken) gedaan kan worden, en de product owner mag dan de taken inplannen tot die hoeveelheid werk.
Na drie weken levert het ontwikkelteam iets werkbaars op, en kan de product owner met zijn testgroep gaan testen. Dit proces herhaalt zich, tot het project helemaal klaar is. Aan het eind van het project wordt heel Scouts Online een keer getest. In deze test wordt een vergelijking gemaakt tussen de oude en de nieuwe versie. Hierbij is het de bedoeling dat alle plekken bekeken worden, dus ook de foutsituaties, en dat elk scherm gecontroleerd wordt. Pas wanneer dit goed is, wordt alles online gezet.
“Oké, dat is allemaal leuk en aardig, maar ik ben op plek X toch nog echt iets tegen gekomen dat niet klopt, en het is zo gemakkelijk te zien!”
Onze excuses daarvoor. Helaas is Scouts Online zo groot dat er per ongeluk een stukje overgeslagen wordt tijdens het testen, of de fout is al bij ons bekend, maar we hebben er in de onderhoudstijd nog geen tijd voor gehad om dit op te lossen. Word dan dus ook niet boos, maar stuur ons even een mailtje op Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.. We lossen het dan zo snel mogelijk op!
“Nou… Die stomme rollen, daar mogen jullie dan wel wat aan doen.”
Deze vraag krijgen we heel vaak. Helaas ben je dan dus iemand met een dubbele (of drie-, vier- of achtdubbele) rol binnen Scouting. Het werken met verschillende rollen zit in Scouts Online, omdat je binnen Scouting meerdere functies (rollen) kan hebben die met elkaar conflicteren. Hierdoor kan je niet alles plat slaan en kijken of je simpelweg wel of niet ergens toegang toe hebt, zoals bij een (simpelere) website.
“Oké, maar een simpele bijlage bij een mailtje kan toch wel?!? Weet je hoe lang we daar al op zitten te wachten…”
Dat weten we zeker! Hier zijn echter wat technische moeilijkheden bij, zo moeten we de bestanden (tijdelijk) opslaan op onze server om de bijlage te versturen. Dan moeten we wel weten dat er geen virussen in zitten, en ook neemt dit veel ruimte op de harde schijf in. Vervolgens moet de mail gestuurd gaan worden, wat een hoop extra dataverkeer oplevert, en dan hebben we nog het probleem dat mails met een bijlage eerder als spam worden aangemerkt. Tip: wat je hierbij wel kunt doen, is de documenten op de groepswebsite zetten en een linkje daar naartoe in je mail opnemen. Ook kun je gebruik maken van scouting.wetransfer.com: hier kun je meerdere en grotere bestanden uploaden, terwijl het nog steeds een Scouting-uiterlijk heeft.
Ik hoop dat ik op deze manier een beetje heb kunnen laten zien dat we de problemen die ondervonden worden, serieus nemen, er alles aan doen om fouten te voorkomen en er nog heel hard aan Scouts Online gewerkt wordt om te zorgen dat we het systeem ook in de toekomst nog goed kunnen blijven gebruiken.
Heb je naar aanleiding van deze ScoutBlog zin gekregen om mee te helpen aan de ontwikkeling van Scouts Online? Dan kun je je aanmelden als vrijwilliger bij Team Internet, bijvoorbeeld voor het testen van nieuw ontwikkelde functionaliteit. Nieuwe vrijwilligers zijn altijd welkom! Voor meer info of om je aan te melden mag je mij Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken..