De situatie
De research data repository is het platform waar onderzoekers aan de TU Delft en daarbuiten hun onderzoeksdata delen en publiceren. Wereldwijd bekeken, een open source project dat wordt onderhouden door een klein team binnen de universiteitsbibliotheek.
Het team had een uitdaging die al een tijdje sluimerde. De applicatie kampte met stabiliteitsproblemen die wekelijks om aandacht vroegen, ook 's avonds. Een ontwikkelaar hield het in de gaten en sprong bij wanneer dat nodig was. Daardoor bleef de applicatie draaien, maar het team wist: zo kan het niet blijven. En er was nog iets wat onderhuids meespeelde. Iedere codewijziging voelde als een klein risico. Er stond geen geautomatiseerde controle tussen een wijziging en productie, dus wat goed werkte kon morgen stuk zijn zonder dat iemand het direct zou zien.
Wat het team er concreet aan heeft
Na dit traject draait het platform zonder dat er iemand op hoeft te letten. De server vangt drukke momenten zelf op, ook bij zware crawler-activiteit waar hij voorheen moeite mee had. Wat ooit een paar avonden per maand aan ongeplande inzet kostte, vraagt nu geen aandacht meer. De ontwikkelaar die dat bijhield heeft die tijd terug.
En er staat nu een vangnet onder het ontwikkelproces. Elke wijziging wordt automatisch gecontroleerd voordat hij op productie terecht kan komen. Dat verandert hoe het team werkt. Nieuwe features bouwen hoeft niet meer met ingehouden adem, en een bug die tussendoor wordt gefixt kan niet ongemerkt iets anders stuk maken. Voor een klein team dat een platform draait waar onderzoekers van over de hele wereld hun onderzoeksdata delen, is dat een ander soort werken.
Wat er ligt voor de toekomst
Een applicatie die vandaag stabiel draait, is niet automatisch een applicatie die over drie jaar nog met gezonde kosten te onderhouden is. Daarom hebben we naast de concrete fixes ook een rapport opgeleverd met observaties en aanbevelingen over waar het platform staat en waar de keuzes zitten die het team structureel geld en tijd kosten als ze blijven zoals ze zijn. Dat geeft de organisatie iets om beslissingen op te baseren, nu en bij elke volgende moderniseringsstap: geen losse meningen, maar een onderbouwd overzicht van wat gezond is en wat aandacht verdient.
Meer dan alleen de opdracht
Het traject had een heldere scope en een vaste prijs, waarin beide partijen van tevoren wisten waar ze aan toe waren. Een deel van het werk hebben we samen met een ontwikkelaar van het TU Delft team gedaan, die geregeld naar Rotterdam kwam om samen aan specifieke stukken te werken. Zo bleef de kennis die wij opbouwden ook binnen het team zelf hangen.
TU Delft Library huurde ons in voor twee afgebakende klussen: een probleem oplossen dat hen al te lang bezighield, en een testopzet neerzetten. Dat is gebeurd. Maar we hebben ons niet beperkt tot die twee klussen. We hebben meegekeken naar de applicatie als geheel, naar waar het team over een paar jaar wil staan, en naar de keuzes die nu gemaakt worden die dat mogelijk maken of juist in de weg zitten. Wat zij zochten was externe consultancy om iets te fixen. Wat ze kregen was een partij die meedenkt op het niveau waarop zij hun platform eigenlijk willen sturen, met uitkomsten die draaien om wat het de organisatie oplevert, niet om wat er technisch gebeurd is.