Programmeurs lijden de dans (deel 2)

New Page 1

Dat is eigenlijk mijn ICT-wens en hoop voor 2004. Beter programmeren, boven alles.

Het probleem is dat dit niet zo leuk “bekt”. Het is niet cool. Het is saai. Wie test er nu in godsnaam graag software? Wie houdt zich bezig met steeds opnieuw runnen van een stuk code, er data in te stoppen, kijken wat het doet, software aanpassen en opnieuw beginnen? Wie vindt dit nu een leuk artikel om te lezen?

Misschien nog dit: het meest verrassende interview was met de blitse jonge collega. Een jonge knaap, één jaar afgestudeerd, helemaal niet de perfectionist zoals zijn oudere collega. Maar de knaap, die vandaag verder bouwt aan de software die door zijn collega werd gemaakt, vertelde me dat hij, omwille van de “mooie code”, beïnvloed werd om zelf “mooie code” te schrijven. Heeft u dit ook niet? Stel, u komt binnen in het huis van uw vrienden. Alles ligt er rommelig bij. Het tapijt zit vol vlekken en de deurmat is niet te vinden. U stapt toch zonder problemen met vuile voeten binnen? Dan komt u bij die andere vrienden, waar alles kraaknet is en fris geurt. Instinctief zoekt u naar de deurmat en begint u toch uw voeten te vegen, niet? Er is dus hoop!

Het klinkt toch wel echt cliché hé? Een ernstige, niet-blitse programmeur die met een “maverick-project” iedereen overtroeft. Zo echt iets dat in het rijtje van “eerlijk duurt het langst” past. Iets dat, zelfs in deze moeilijke economische tijden, niet past bij het snelle ritme van onze huidige samenleving. Maar het is een feit waar je niet omheen kunt.

Wie de laatste jaren softwareontwikkelings-conferenties en -seminaries heeft bijgewoond, heeft vastgesteld dat men nog amper praat over goed programmeren. We hebben het wel over “anders programmeren”. Xtreme Programming is toch stukken beter dan OO. En usability is toch een vak waarvoor je minstens twee universiteitsdiploma’s nodig hebt: Informatica en Psychologie, eventueel aangevuld met een taalopleiding.  En testen. We moeten beter leren testen! Meer gestructureerd. De testers moeten automatiseren. De software zo maken dat ze testbaar is met automatisch testtools. We moeten gespecialiseerde testers in huis halen…ONZIN! We weten allemaal dat achteraf corrigeren stukken duurder is dan voorkomen!

Programmeer grondig!

Hoe moeten wij dit aanpakken?

Ik ben het u verplicht om, na al die zwartgalligheid en kritiek aan uw adres (misschien leest u dit artikel al lang niet meer), toch een voorzet tot oplossing te geven. Ik stel een “eenvoudige oplossing” voor die maar op twee pijlers gebaseerd is. Waarom twee? Omdat ik na 4 jaar nadenken over dit probleem – zolang al zit dit ei in mijn hoofd - geen derde kon vinden.

Pijler één: Eenvoud.

Maak eenvoudige code. Maak een eenvoudige architectuur. Doe moeite om eerst grondig je algoritme in kaart te brengen en maak ze dan zo eenvoudig mogelijk. Ik ben in mijn vrije tijd een beetje timmerman. Wie timmert weet dat er honderd methodes zijn om twee stukken hout aan elkaar vast te maken. Wie ervaring heeft, weet dat de meest eenvoudige methode altijd het meest kwalitatieve resultaat geeft.

Neem dus de tijd en maak een decompositie van een wellicht complex probleem tot eenvoudige componenten. Eenvoud betekent ook dat je soms beter herbegint dan bestaande software gaat aanpassen of patchen.

Eenvoud vraagt tijd! We hebben allemaal al ondervonden dat sommige mensen de meest moeilijke dingen heel makkelijk kunnen voorstellen. Deze mensen zijn altijd mensen die lang over dat probleem of die theorie hebben nagedacht.

Pijler twee: Isoleer

We hebben allemaal, onder druk van de wetgever, ons huis geïsoleerd voor warmte. Hierdoor hebben we een lage milieuvervuiling als gevolg van de verwarming van onze huizen. In software geldt deze wet ook: Isoleer, wil je vervuiling van je IT-omgeving tegengaan. Als je een softwarecomponent bouwt, dan ben je als bouwer verplicht om te weten wat de impact is van die component op zijn omgeving en dan moet die impact gecontroleerd en beschreven zijn.

Te vaak denken we dat de input/output-parameters de enige interfaces zijn. We staan niet (genoeg) stil bij de cpu-impact, de memory-impact etc. Wie besluit om op de eerste verdieping van zijn gerenoveerde woning een marmeren badkamer te installeren en zich alleen bekommert om de grootte van het bad, zodat het door de deur kan, die weet, meestal te laat, dat het gewicht ook zijn relevantie heeft…Natuurlijk moet de bouwer van het huis (operating system) u vertellen wat de draagkracht is. Maar als u het niet weet, dan blijft het u verantwoordelijkheid om de nodige omzichtigheid aan de dag te leggen.

Wat weet je als programmeur van de isolatiecoëfficiënt van je software? Hoe ga je die bepalen? Denk daar eens over na.

Het hoeft geen betoog dat isoleren makkelijker is in een “eenvoudige software-architectuur” dan in een “Italiaanse software-architectuur”.

Dit is dus mijn hoop voor 2004: de professionalisering van de programmeur.

En om het leed wat te verzachten, ik kijk ook uit naar de professionalisering  van de managers die echt weten wat software ontwikkelen is.

Ik wens u een aangenaam jaar en een goede gezondheid toe.

 

 

New Page 1

Het eerste deel van deze column werd vorige week gepubliceerd.

Auteur: Jens Pas (CEO I2B, Innovatie-advies) 
jens.pas@i2b.be

Wie wil reageren op deze colum moet zich eerst lid maken van de ZI business club, waarna hij/zij dan via het paswoord toegang krijgt om een reactie te plaatsen.

 

Share
  • Over incompetentie

    • 1419x gelezen
    • 20 mei 2012
    Er zijn incompetente mensen en er zijn mensen die door en door onbekwaam zijn. Die laatste hebben, naargelang het ingenomen standpunt, het grote voor- of nadeel dat zij de hallucinerende diepte van hun eigen incompetentie nooit zullen beseffen...Lees meer
  • Waarom ik een haat-liefdeverhouding met Vlaanderen heb

    • 1527x gelezen
    • 07 mei 2012
    Zelfs als de Franstaligen de Vlamingen zwaar beledigen of zelfs aan haatzaaierij doen kijkt de Vlaming liever de andere kant op. Of erger nog: ze beginnen op hun eigen boodschapper te schieten die het lef had om daar publiekelijk zijn verontwaardiging over kenbaar te maken...Lees meer
  • België in rep en roer na ongewenste intimiteiten, maar hoe zit dat in Nederland?

    • 1101x gelezen
    • 02 mei 2012
    Wat me destijds ook opviel, was dat er los van het man/vrouw-aspect anders met de hiërarchie werd omgegaan. In België is de baas nog echt een baas, terwijl er in Nederland veel minder machtsafstand binnen de arbeidsrelatie bestaat. De Belgische ondernemingscultuur wordt veel meer dan de Nederlandse gedomineerd door strikte machtsverhoudingen, terwijl de Nederlander zijn baas vooral als medeteamlid ziet.Lees meer
  • Wat doen managers anders dan praten?

    • 30 apr 2012
    Nooit stonden ons meer communicatie-instrumenten ter beschikking, en nooit werd er slechter gecommuniceerd. We hebben allemaal e-mail, gsm, voicemail, conference calls en dies meer. En toch begrijpen we elkaar niet. Enkele weken geleden belde een Nederlandse consulent, specialist in business development en commercial engineering, mij met de vraag of hij 'even een accountcase tegen mij aan kon houden'. Mijn reactie was ongetwijfeld heel dom, maar wel oprecht: 'Wablieft?'Lees meer
  • Geluk op het werk

    • 1640x gelezen
    • 16 apr 12
  • Is het Bekaert-management niet dringend aanve...

    • 1359x gelezen
    • 09 apr 12
  • Het gemiddeld Vlaamse huisgezin isoleert met...

    • 06 apr 12
  • Succesvolle bedrijven investeren in tevreden...

    • 1282x gelezen
    • 23 mrt 12
  • Verkeersveiligheid draait vooral om politieke...

    • 13 mrt 12
STIJGERS & DALERS BEL20