|
De gegevens uit
een oud systeem kunnen niet eenvoudig worden overgebracht naar een nieuw
systeem. De kwaliteit is vaak minder dan men denkt. Een grondige
gegevensanalyse, zeggen Ruud Koorneef en Dick Slob, is onontbeerlijk. Voor
analyse en conversie moet dertig procent van het projectbudget worden
uitgetrokken.
Met de snelle
ontwikkelingen op het gebied van automatisering ontstaat bij veel organisaties
de behoefte over te stappen op moderne hardware-, software- en
databasetechnologieën. Het ligt voor de hand veel aandacht te besteden aan de
kwaliteit van het nieuw aan te schaffen systeem. Maar vaak onderschat men het
belang van de kwaliteit van de huidige gegevensverzameling. Men veronderstelt
ten onrechte dat die kwaliteit voldoende is. Een nieuw systeem kan dan nog
zoveel mogelijkheden bieden, als het met gegevens uit het oude systeem gevuld
moet worden kunnen er onmiddellijk beperkingen in de functionaliteit ontstaan.
Of er blijkt slechts een deel van de gewenste functionaliteit beschikbaar te
zijn. Een gedegen gegevensanalyse kan een oplossing zijn.
Uit ervaring
blijkt, dat in het projectbudget gemiddeld maximaal tien procent gereserveerd
wordt voor de gegevensconversie. Bij een berekening in functiepunten blijkt
echter dat de investering in gegevensanalyse en -conversie van het oude systeem
ongeveer een derde van het budget verdient. Uiteraard is dit sterk afhankelijk
van het onderhoud op het oude systeem en de gegevens. Wanneer sprake is van
verouderde of gebrekkige documentatie, verouderde systemen, technologie die niet
langer wordt ondersteund, customized databases, veranderde functionaliteitseisen
of het ontbreken van een kwaliteitscontrolesysteem is een investering in een
grondige gegevensanalyse onontbeerlijk. In feite kan gesteld worden dat de
kwaliteit van het nieuwe systeem (in het begin) zo hoog is als de kwaliteit van
de gegevensverzameling van het oude systeem.
Om de kwaliteit
van complexe systemen te bepalen dient altijd een onderscheid te worden gemaakt
tussen software en gegevens. In beide komen namelijk fouten voor. Wat betreft de
gegevens is een onderscheid te maken tussen de kwaliteit van de inhoud van de
gegevens per veld en de functionaliteit van de gegevensverzameling als geheel.
Adressen van klanten kunnen correct zijn ingevoerd, maar als veel van hen
inmiddels zijn verhuisd, laat de functionaliteit van de gegevensverzameling te
wensen over.
Dubbele klanten
Fouten in de
inhoud van gegevens zijn van andere aard dan gebreken in de functionaliteit van
de gegevensverzameling als geheel. Inhoudelijke fouten, bijvoorbeeld foute
postcodes of dubbele klanten, zijn relatief gemakkelijk op te sporen: bij een
gegevensanalyse komt men ze vanzelf tegen. Ze kunnen zijn veroorzaakt door
gebreken in de applicatie, door fouten ten gevolge van storingen, waardoor een
verminking van de gegevens kan zijn opgetreden, of door fouten bij de invoer van
gegevens (een typiste die per ongeluk een postcode verkeerd invoert).
Bij de analyse van
de inhoud van gegevens geldt de functionele beschrijving van de velden (formaat,
titels, referentietabellen, relaties, aantal posities et cetera) als
uitgangspunt, met andere woorden: wat zijn de toegestane waarden en formaten? In
de meeste gevallen zijn deze criteria beschreven in de gebruikershandleiding of
het technisch ontwerp. Bij een dergelijke analyse ontdekt men vaak nieuwe
functionaliteiten, bijvoorbeeld dat bepaalde velden voor een ander doel worden
gebruikt dan waarvoor ze oorspronkelijk zijn ontworpen. (Bijvoorbeeld het veld
'aanhef' wordt gebruikt voor de titulatuur.) Een inhoudelijke analyse verloopt
meestal gedeeltelijk geautomatiseerd en gedeeltelijk met de hand.
Fouten die
betrekking hebben op de functionaliteit van de gegevensverzameling, zijn
moeilijker te traceren en vaak moeilijk te voorkomen. Als oorzaken kunnen
genoemd worden een gebrekkig onderhoud, een verandering in de
doelstelling/toepassing van het systeem of fouten in het ontwerp.
Een actuele
aanleiding voor het onderzoeken van de kwaliteit van software en de gegevens is
bijvoorbeeld de naderende eeuwwisseling en de daarmee samenhangende
datumproblematiek. Andere aanleidingen voor noodzakelijk onderhoud zijn
bijvoorbeeld het uiteenvallen van Tsjechoslowakije in twee afzonderlijke landen,
de Duitse eenwording of de invoering van de euro. Naast noodzakelijk onderhoud
kan het besluit tot gegevensanalyse ontstaan uit de wens om de functionaliteit
van het systeem uit te breiden, uit de behoefte aan nieuwe toepassingen
(bijvoorbeeld het kunnen opvragen van een overzicht op datum) of bij toeval (als
wordt ontdekt dat gegevens inconsistent zijn).
Vaak wordt pas
besloten tot gegevensanalyse als de functionaliteit van het systeem moet worden
uitgebreid of wanneer al is besloten tot de aanschaf van een nieuw systeem. In
de praktijk blijkt dat men dan eigenlijk al te laat is, omdat de doorlooptijd
van de dan noodzakelijke gegevensanalyse veel tijd kost. Vaak blijkt de
documentatie dermate onvolledig of gedateerd te zijn, dat bij een volledig
geautomatiseerde gegevensanalyse zo'n 80 à 90procent van de gegevens zou worden
afgekeurd. Bovendien roepen de analyse en conversie altijd nieuwe vragen op over
het toekomstig gebruik van het systeem. Het is daarom zinvol de
beleidsuitgangspunten erbij te betrekken. Aan de hand daarvan kunnen de criteria
voor de gewenste functionaliteit van de gegevens worden opgesteld, die de
leidraad vormen bij de gegevensanalyse.
Relatief eenvoudig
Naast
analysegereedschappen kunnen voor de conversie correctieprogramma's worden
ingezet. Dergelijke programma's zorgen er bijvoorbeeld voor, dat overal waar nu
een waarde X wordt gelezen, de waarde Y wordt doorgeschreven naar de nieuwe
gegevensverzameling. Bovendien rapporteert deze programmatuur alle mutaties die
zij maakt, zodat er nooit informatie verloren gaat.
Vervolgens dienen
controleprogramma's te worden ingezet. Zij controleren op basis van de
bestandsdefinities of de inhoud van de velden voldoet aan de specificaties. (Is
het een datumveld? Is het numeriek? Zo ja, staat de datum erin?) De
controleprogrammatuur levert een rapport met foutmeldingen. Aan de hand daarvan
kan de gegevensverzameling worden uitgedund en vervolgens de consistentie tussen
de bestanden worden gecontroleerd.
In het geval van
een beoogde conversie moet een vertaalbaarheidscontrole worden uitgevoerd.
Wanneer bijvoorbeeld het oude systeem bij de variabele 'geslacht' de waarden 'm'
voor man, 'v' voor vrouw en 'o' voor onbekend toestaat, maar het nieuwe systeem
de keuze tussen uitsluitend man of vrouw voorschrijft, moet een besluit worden
genomen over wat er met de waarde 'onbekend' moet worden gedaan. Indien het
bedrijf 80 procent vrouwelijke relaties heeft, kan bijvoorbeeld besloten worden
om alle waarden 'o' door een 'v' te vervangen.
Aantal stappen
De werkwijze bij
gegevensanalyse en conversie is onder te verdelen in een aantal stappen. In de
praktijk blijkt vaak dat men veronderstelt dat de omzetting van de gegevens (de
eigenlijke conversie) de grootste klus is. Dat is een misvatting. Wie daarvan
uitgaat, loopt het risico tijdens de conversie geleefd te worden door
uitzonderingen. Het functionele achterstallige onderhoud verdient de meeste
aandacht. De maatregelen hiervoor garanderen een kwalitatief goede
gegevensverzameling, een korte doorlooptijd en een aanzienlijk korter
testtraject na conversie.
Het verdient
aanbeveling te beginnen met het 'platslaan' van de bestanden uit de oude
database in een sequentiële database (Ascii-formaat). Men is er dan namelijk van
verzekerd dat alle oude gegevens boven tafel komen en dat de relaties van rechts
naar links en van onder naar boven bekeken kunnen worden.
Wanneer men de
analyse binnen een 'slimme' database zou uitvoeren, is de kans groot dat men
over gegevens heen kijkt die onbenaderbaar zijn binnen die databasestructuur.
Deze zwevende gegevens kunnen later problemen veroorzaken in het nieuwe systeem
of na ontwikkeling van de nieuwe functionaliteit. Dat kan irritatie opleveren
bij de gebruikers, die vaak toch al moeten wennen aan het nieuwe systeem.
Daarnaast is de verwerking in een 'platte' Ascii-omgeving vele malen sneller dan
in een gestructureerde database. Deze fase is relatief eenvoudig.
Vervolgens kan aan
de hand van de platte bestanden, de functionele documentatie en de beleidswensen
een koers worden uitgezet voor het verbeteren van de kwaliteit. Wat betreft de
inhoud van de gegevens dient men in voortdurend overleg met de gebruiker vast te
stellen wat er met een gegeven gedaan moet worden. Het kan worden weggegooid,
met de hand via een online mutatiefunctie in het nieuwe systeem worden ingevoerd
of in het oude systeem worden aangepast.
Indien een
aanpassing wenselijk is, kunnen op grond van de inhoud tabellen worden
gegenereerd die het mogelijk maken de gegevens geautomatiseerd of met de hand te
muteren. Na de inhoudelijke analyse volgt de analyse van de kwaliteit van de
gegevensverzameling als geheel. Daarbij worden de gegevens op consistentie en
betrouwbaarheid getest. Kwaliteitsborging is de zwaarste stap. Het leeuwedeel
van de tijd zit in het overleg met de gebruiker. Het verdient daarom de voorkeur
de analyse bij de gebruiker uit te voeren.
Vanzelfsprekend
moet tijdens de gegevensanalyse worden nagegaan hoe groot het belang is van het
oplossen van de inconsistente of onbetrouwbare gegevens. Voor de ene organisatie
is het schadelijker om een vrouwelijke klant in een brief met 'Geachte heer' aan
te spreken dan voor de andere. Een onbetrouwbaarheid van één procent fouten in
NAW-gegevens zal wellicht voor veel bedrijven acceptabel zijn, maar als een
bankier een dergelijke fout maakt haalt hij waarschijnlijk de landelijke pers.
Om de waarde van de bestaande gegevensverzameling te taxeren, kan worden
uitgegaan van de kosten die gemaakt moeten worden om de gegevens te achterhalen
in het geval zij verloren gaan (of als geen conversie wordt uitgevoerd). Ook het
verlies aan bedrijfsomzet moet in dat geval in de berekening worden meegenomen.
Ook nieuwe
systemen komen voor gegevensanalyse in aanmerking. Vaak wordt na enkele maanden
gecontroleerd of de gegevens nog betrouwbaar zijn. De toetsbaarheid is een
belangrijk criterium bij de kwaliteitsbepaling van een systeem. Een jaarlijkse
kwaliteitscontrole door middel van het testen van rubrieksniveaus, de
consistentie tussen rubrieken en bestanden, is aan te raden. Hoe korter de tijd
is tussen het maken van de technische fout en het constateren ervan, hoe beter.
Het is raadzaam het kwaliteitscontrolesysteem als een apart systeem te
ontwikkelen. Op die manier vindt men sneller fouten.
Bij oude, complexe
systemen wordt vaak lang gewacht met het uitvoeren van een conversie, omdat het
systeem bijvoorbeeld nog niet is afgeschreven. Met behulp van reverse
engineering kan de levensduur van het systeem dan worden verlengd. Dit hoeft
geen nadelige gevolgen te hebben, indien de kwaliteit van de gegevens op peil
wordt gehouden.
Voorspelbare
einddatum
Bij kleine
hoeveelheden gegevens is het vaak beter om handmatig te converteren. Bij
omvangrijke bestanden is een geautomatiseerde conversie beter. Denk bijvoorbeeld
aan een energiebedrijf met 450.000 klanten in de regio. Jaarlijks zijn er zo'n
800.000 te registreren meterstanden. Het aantal vorderingen en betalingen is
daar nog eens een veelvoud van. Wanneer al deze gegevens met de hand zouden
moeten worden overgetikt in een nieuw systeem heeft men al snel een omvangrijk
team fulltime typisten nodig dat een aantal maanden bezig is. Tijdens die
periode zouden alle administratieve processen van het energiebedrijf stil
liggen. Een korte doorlooptijd is bij een dergelijk conversieproces daarom van
belang.
Een conversie via
een online applicatie kan gedeeltelijk geautomatiseerd worden uitgevoerd. De
gegevens worden dan stuk voor stuk door de computer in de nieuwe applicatie
ingevoerd zoals een typiste dat zou doen. Ondanks het feit dat men bij deze
methode oneindig snelle typeprestaties kan bereiken, is de computer bij grote
hoeveelheden data te traag, vanwege de dialoog met het invoerstation.
De snelste methode
is een geautomatiseerde conversie na gegevensanalyse. De gegevens worden dan 'op
maat gesneden' voor het nieuwe systeem, het laden van de gegevens (uploaden) in
het nieuwe systeem zal sneller gaan.
Na de conversie
moet opnieuw een analyse van de geconverteerde bestanden worden gemaakt, die met
standaardanalysegereedschap kan worden uitgevoerd. De uitkomsten kunnen weer tot
aanpassingen en vervolgstappen leiden. Het is van belang zeer stapsgewijs en
iteratief te werk te gaan. Op die manier kan men tussen elke twee stappen
controletellingen maken en evalueren wat er gewonnen en verloren is. Indien uit
de tellingen blijkt dat er gegevens zijn verdwenen of wanneer uit de evaluatie
blijkt dat de verbeterde functionaliteit ten koste van iets belangrijkers gaat,
kan altijd weer een stap worden teruggezet zonder dat onnodig veel tijd verloren
gaat.
Het
conversieproces moet beheersbaar zijn, zodat de doorlooptijd niet wordt
overschreden. De einddatum van de conversie moet voorspelbaar zijn.
Ruud Koorneef en
Dick Slob zijn werkzaam als consultants Migration bij Cap Volmac BV. Zij zijn
gespecialiseerd in gegevensconversie.
|