Craftmanship

Tijdens de presentatie van designer Johan Ronsse op laatste barcamp kwam er een discussie naar boven over Craftmanship, in het verlengde van de eerdere lezing op de dag van Bernard Grymonpon die ik tot mijn grote spijt heb gemist.

Craftmanship komt eigenlijk van de ideeënwereld van de Griekse filosoof Plato zoals op wikipedia te lezen is:

Craftmanship refers to Plato‘s idea of specialization, in which the lower society has a specific job in the greater society so that it functions properly as a whole.

Bernard betoogt dat we het IT talent moeten koesteren. Dat doet hij door het agile manifesto aan te vullen door een vijfde pilaar, meer bepaald met craftmanship dus.

Het probleem is dat bedrijven niet beseffen hoeveel vakmanschap er achter bepaalde processen schuilen. Business houdt zich ook maar met 1 ding bezig: is het project binnen budget, vereisten en tijd? Daarbovenop komt nog is dat frameworks zoals Rails en Symfony het voorstellen alsof het allemaal niets is. Om nog maar te zwijgen over het veelvuldig gebruik van WYSIWYG editors.

Zelf weet ik wat een goed ontwerp vereist en dat systemen vandaag niet kunnen evolueren omwille van slecht ontwerp. Nochtans, bedrijven zijn niet zo bezig met dergelijke techniciteiten. Ze zullen altijd opteren voor een snelle en goedkope oplossing die vooral werkt. Hoe het werkt maakt voor hen niet uit. Punt is nu juist dat je niet én goedkoop én snel én kwalitatief kan zijn.

Als IT’er sta je met beide voeten in de modder en ik kan goed geloven dat dat soms frustrerend is omdat respect vaak zoek is. Echter, ik denk ook dat de kunstenaar mentaliteit verkeerd is. Het product dat je oplevert is namelijk een coherent geheel van algoritmen.

De enige oplossing die ik zie om respect af te dwingen, is door middel van een kwaliteitslabel die bovengenoemde zaken afstraft. Het communiceren van het resultaat van het doorlichten van de IT processen is het juiste signaal naar de bedrijven toe. Iemand met talent weet immers hoe hij op de juiste manier een sorteer algoritme moet implementeren. Dat is wat het verschil maakt tussen een professional en een amateur.

2 thoughts on “Craftmanship”

  1. Ik lees dat je voorstelt een kwaliteitslabel in te voeren. Zo een kwaliteitslabels bestaan reeds, namelijk de ISO 9000 en CMM standaarden. De ISO 9000 en 9001 zijn generische kwaliteitslabels die voor alles geldig zijn (van goederen tot diensten), terwijl de ISO 9000-3 de versie is die geïnstantieerd is voor software ontwikkeling. Deze kwaliteitslabels proberen de kwaliteit te garanderen door het (ontwikkelings-) proces te monitoren.

    Het is de bedoeling dat “software bedrijven” deze regels naleven en zo een bepaald niveau (van 1 tot 5) kunnen halen. Waarbij niveau 1 staat voor Ad-Hoc kwaliteitscontrole (gewoon op goei geluk) en niveau 5 staat voor optimalisatie. De andere niveaus zitten daar tussenin, en elk niveau is een uitbreiding om de vorige.

    Het blijkt echter dat de overhead voor een “software bedrijf” om zo een kwaliteitscontrole zo groot is dat het niet de moeite waard loont om eraan te beginnen, zeker omdat zo een kwaliteitscontrole voor elk type software anders is (vergelijk een client-server applicatie met pakweg het besturingssysteem van een kerncentrale) en bedrijven zelden maar één type software maken. Het is dan ook niet verwonderlijk dat in heel de wereld slechts enkele “software bedrijven” dit level 5 certificaat behalen.

    Wil dit dan zeggen dat andere bedrijven slechte software schrijven? Neen, helemaal niet. Dit soort standaarden voor het ontwikkelingsproces zijn een hulpmiddel, geen doel op zich. Het behalen van certificaten is een drijfveer om als bedrijf beter je best te doen, maar ook niet meer dan dat. Maar het laat wel zien dat kwaliteit inderdaad een heel belangrijk issue is.

  2. Inderdaad Glenn, als het een doel op zich zou worden zijn we verkeerd bezig. Toch denk ik dat het een goede indicatie is naar de bedrijven toe om voor kwaliteit te kiezen.

Leave a Reply

Your email address will not be published. Required fields are marked *