Generieke software

Naar overzicht

Zoals je in mijn eerdere blogs hebt kunnen lezen, bestaat er bij het werken in een ontwikkelteam een spanningsveld tussen het enerzijds een kwalitatief zo goed mogelijk product opleveren, en anderzijds de beperkte hoeveelheid tijd die daarvoor is.

Binnen het team waarin ik werk ontwikkelen we een ETL-proces dat een datawarehouse vult. ETL: Extract, Transform & Load. Dat werkt zo: vanuit verschillende bronnen krijgen we grote databestanden aangeleverd, die we in een database. Daaruit we de data uit de verschillende bronnen, zodat het allemaal in de gewenste vorm ge kan worden.

Ondanks de hoge tijdsdruk, proberen we bij alle wijzigingen die we doorvoeren rekening te houden met de kwaliteit van de software. Dit doen we onder ander door de software zo generiek mogelijk te ontwerpen.

<>EEN VOORBEELD

Een requirement van onze klant is dat we controleren of de data die we extracten nog wel dezelfde informatie bevat als die we loaden. Oftewel: gaat er tijdens het transformatieproces informatie verloren?

Om deze controle uit te voeren, hebben we controlequery’s gemaakt die zowel het begin als het einde van het proces meten (een query is een opdracht die aan de database wordt gegeven om een bepaalde actie uit te voeren). Het gaat om tientallen query’s, met honderden regels code. Omdat de query’s regelmatig kunnen wijzigen, is het niet handig om de query’s letterlijk in de software op te nemen – dan zouden we bij iedere wijziging onze software opnieuw moeten .

De oplossing bleek een klein stukje code, dat zegt: de query’s die in deze map staan moeten allemaal worden uitgevoerd.

De klant is op die manier in staat om zonder softwarewijziging z’n controlequery’s aan te passen. Een gebruiksvriendelijke en goed te onderhouden oplossing, die op termijn heel veel tijd kan schelen.

In plaats van alles hard te coderen zochten we ondanks de tijdsdruk naar een optimale oplossing voor onze klant – en vonden we die in een stukje generieke code.

Benieuwd of jij ook in staat bent de optimale software voor jouw klant te maken? Niet zo technisch, maar wel communicatief sterk en geinteresseerd in IT? Wil je meer weten over het werken bij Calco? Stuur me een bericht via LinkedIn of Twitter, of solliciteer direct via de site!

Onze opdrachtgevers