Waarom ICT projecten zo lang duren, een voorbeeld (deel 1)

De faculteit is sinds januari 2010 bezig met een herstructurering van hun vele portals op de website. Een drietal nieuwe portals is inmiddels operationeel, aan een vierde wordt al sinds de start van het project gewerkt. Deze laatste portal is in meerdere opzichten de lastigste, vooral omdat we besloten hebben het overzetten van de informatie vanuit een groot aantal andere portals zo veel mogelijk te automatiseren.

Je zou in eerste instantie zeggen: niet veel complexer dan een copy-paste van bestanden van de ene naar de andere plek. Niets is echter minder waar. Lees en huiver….

Probleem.
Eerst even kort wat het probleem is: de FWN kent bijna 20 verschillende portals waaronder de hoofdportal fwn zelf en zo’n 12 zg. disciplineportals. Over deze portals verdeeld bevindt zich informatie over het onderzoek, meestal onderverdeeld over de onderzoeksgroepen en de omvattende onderzoeksinstituten. Veel van deze info bevindt zich ook op meerdere portals (gesharede informatie dus).
De bedoeling is alle onderzoeksinfomatie eenduidig bijeen te brengen op één nieuwe portal fmns-research, waarbij vindbaarheid (via google), heldere en eenduidige structuur en korte duidelijke informatie voorop staat.

Een eerste schema
Een eerste schema

Idee
Omdat de info op de oude plaats of plaatsen vaak niet goed gestructureerd is, niet in de goede taal geschreven is, verkeerde of onnodige menu’s kent, enz. wordt besloten een applicatie te schrijven die, kortgezegd, een spreadsheet uitleest waarin voor elk object (of verzameling objecten) op de oude plaats wordt aangegeven waar deze op de nieuwe portal moet komen, eventueel met een betere titel in het Engels of Nederlands. Bovendien moet dit spreadsheet gebruikt kunnen worden om op de oude plek een automatische tekst plus een plaatje neer te zetten die verwijst naar de nieuwe plek.

Uitwerking
De vorm van de spreadsheet en de daarin op te nemen informatie is snel duidelijk. Eerste vraag is dan hoe maak je zo’n spreadsheet (d.w.z. hoe vind je alle daarin te noemen benodigde objecten). Het antwoord hierop is gebruik te maken van een zg. spider, die de betreffende portal langsloopt en een overzicht van alle bereikbare objecten geeft. De volgende vraag is hoe het overzetten moet plaatsvinden. Hiervoor wordt een zg. verplaatsscript geschreven.

en dan…
Idee en globale uitwerking zijn helder. De details en de problemen die vervolgens op onze weg komen vormen nu de rest van dit verhaal.
Binnenkort op deze blog de problemen die we ondervonden met het uitwerken, testen en in productie nemen van de scripts. Murphy kwam regelmatig voorbij, maar ook veranderende omstandigheden (bijv. een heel nieuw CMS), problemen van buiten (memory leaks in de servers), enz.