Home

In Automatiseringgids 1997-10 geplaatst artikel mbt gegevensconversie:

Gegevens veelal kwalitatief onder de maat

°De kosten voor gegevensanalyse en -conversie worden structureel te laag ingeschat  

 

 

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.

 

Waarom gegevensanalyse?

  • Duidelijkheid creëren ten aanzien van de in het systeem opgenomen en gebruikte functionaliteit. Bijvoorbeeld als voorwerk voor een pakketselectie.

  • Het voornemen om over te gaan naar een nieuw systeem maatwerk of pakket.

  • Het voornemen een gegevenspakhuis te gaan gebruiken.

  • Uit de hand lopend onderhoud, waarbij de problemen herhaaldelijk blijken te liggen in degegevens.

  • Kostenreductie voor testactiviteiten.

  • Het in onderhoud nemen van een vreemd systeem (outsourcing, fusies et cetera).

  • De wens tot het koppelen of samenvoegen van twee of meer systemen, waarbij de

  • inhouden van de systemen op elkaar moeten worden afgestemd ('gelijk lopen' van de redundante gegevens).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conversietraject bestaat uit:

  • Overbrengen oude bestanden naar Ascii-bestanden.

  • Kwaliteitsverbetering en controle binnen één systeem.

  • Kwaliteitsverbetering en controle over de systemen heen.

  • Conversie van gegevens (naar nieuwe lay-outs en coderingen).

  • Laden van gegevens in het nieuwe systeem.