Alone

Software maak je niet alleen

Geregeld kom ik bedrijven tegen waar er welgeteld één IT’er instaat voor het bouwen, onderhouden en ondersteunen van de enterprise software. In kleine en middelgrote bedrijven is dit nog enigszins begrijpbaar, maar het gaat hier over grote ondernemingen met een evenredig balanstotaal. 

Vaak wordt IT in zulke ondernemingen niet naar waarde geschat. Waar de directie van deze bedrijven aan voorbij gaat, is het gigantisch bedrijfsrisico dat hen boven het hoofd hangt, zowel op korte als middellange termijn.  Zolang alles goed gaat, kraait natuurlijk geen haan. Laten we eens stilstaan bij de mogelijke concrete gevaren. 

Koning in het land der blinden

Software engineers moeten zich voortdurend bijscholen om in de snel evoluerende IT-sector een betekenisvolle rol te kunnen blijven spelen. We merken dat IT’ers die geen andere IT collega’s hebben minder snel of soms helemaal niet mee evolueren met nieuwe technologie. Ze zitten bij wijze van spreken op een eiland waar ze weliswaar heer en meester zijn binnen hun eigen ecosysteem. Ze kennen niet alleen de business van hun werkgever door en door, maar beheersen eveneens de technologie waarmee ze werken. 

Alhoewel dit laatste niet altijd het geval is. In het land der blinden is éénoog koning. Vaak denkt het bedrijf een pientere IT’er in dienst genomen te hebben, maar er is niemand die kan aftoetsen of dit werkelijk zo is. Noch is er iemand die kan evalueren of de software engineer wel kwaliteitsvol werk aflevert, of de software gebouwd wordt volgens de regels van de kunst. Noch is er iemand die kan bijsturen. 

Zonder te veralgemenen zien we vaak dat dit soort IT’ers omwille van de omstandigheden waarin ze werken, software van bijzonder lage kwaliteit bouwen. Meestal werkt de software initieel wel, maar naar verloop van tijd wordt de software traag of instabiel. 

Tunnelvisie

Het recht op inzage: wanneer het over NAW gegevens gaat, taal, geslacht, geboortedatum, etc… dan is iedereen mee wanneer een natuurlijke persoon zijn of haar recht op inzage uitoefent. Maar uiteraard houden sommige organisaties veel meer bij dan deze gegevens. Denk bijvoorbeeld aan gegevens over ontvangen lidgelden, over uitbetalingen van premies, over deelname aan trainingen, over mandaten, etc … Dient een organisatie deze ook te verstrekken? En zo ja, hoe? Het is de hoe vraag die zorgt voor een meerkost. Zelf ben ik ervan overtuigd dat een screenprint van een aantal schermen moet volstaan. Anderen zijn van mening dat er met één klik op de knop een keurig geformatteerd rapport uit het systeem moet rollen met alle mogelijke gegevens. De eerste oplossing is de meest pragmatische en meteen ook de goedkoopste. De cases waar een persoon het recht op inzage uitoefent kan ik alvast bij onze klanten op één hand tellen. En dan geniet de screenprint mijn persoonlijke voorkeur.

Evolueren is key

Nochtans kan nieuwe en oude technologie hand in hand gaan en perfect samenwerken. Met nieuwe technologie werken vraagt echter een grote investering in tijd, de business zal langer moeten wachten, en misschien zullen er in het begin meer kinderziektes insluipen.  Op korte termijn is dit natuurlijk vervelend, maar het loont op lange termijn. Niet alleen voor het bedrijf, maar ook voor de software engineer zelf die op die manier aan zijn of haar skills kan werken. 

Paniek

We hebben het al enkele malen gezien. Het bedrijf vervangt een oude server of laptop  door een nieuwe. Met de nieuwe hardware komt ook een nieuwe versie van het operating systeem. En plots is het alle hens aan dek, want men stelt vast dat de oude software niet compatibel is met de nieuwe versie van het OS. Dit zijn regelrechte drama’s, want de mogelijke korte termijn oplossingen zijn niet legio, noch vanzelfsprekend. 

Oudere software moet minstens jaarlijks technologisch geüpgrade worden zodat het niet meer dan één versie achterloopt op de meest recente major versie. Dit is natuurlijk voor de business niet zichtbaar, maar de technologische schuld die opgebouwd wordt door het niet te doen is enorm. De directie van het bedrijf draagt een grote verantwoordelijkheid in het borgen van deze guidelines. 

Wanneer de enige IT’er het bedrijf verlaat, dan kan dit nefaste gevolgen hebben. Doch ook dan gaat een directie hier soms heel lichtzinnig mee om. In hun ogen volstaat het de IT’er te vervangen door een software engineer met gelijkaardige skills. Men gaat totaal voorbij aan het feit dat het niet makkelijk is om zomaar iemand te vinden die überhaupt nog kennis heeft van oudere software technologieën, laat staan bereid en gemotiveerd is om hiermee te werken. 

Van kwaad naar erger

Als men erin slaagt alsnog vervanging te vinden, dan stelt zich de vraag in hoeverre de nieuwe software ontwikkelaar zich kan inwerken in de code van zijn voorganger. Wanneer de code van middelmatige tot lage kwaliteit is, is de effort om zich in te werken omgekeerd evenredig. De kans dat er regressie problemen (lees: bugs) worden geïntroduceerd bij het uitrollen van een nieuwe versie van de software door de nieuwe IT’er is bijzonder groot. Dat is geenszins de schuld van de nieuwe IT’er maar het is een gevolg van het gevoerde beleid door het bedrijf. 

Risico's erkennen en beheersen

Mirakeloplossingen bestaan niet voor deze bedrijven. Wat ze wel kunnen doen, is het risico erkennen en starten met het indijken van de meest precaire gevaren. Samenwerken met een software partner zoals PeopleWare kan een goede oplossing zijn. Zo’n partner werkt in teams, zorgt dat de kennis verspreid wordt over verschillende medewerkers, én ze hebben ervaring met het technologisch upgraden van de oudere software zodat deze blijft draaien op moderne hardware. 

Bovenop het indekken van de bedrijfsrisico’s zorgt zo’n samenwerking ervoor dat de eigen IT’er van het bedrijf zijn skills verder kan ontwikkelen, dat hij kan proeven van nieuwe technologieën. Het is dus een dubbele win, zowel voor het bedrijf als voor de interne software ontwikkelaar. 

Dit artikel werd geschreven door Marc Schijvaerts