Rob_Howe_01

Rob Howe is CEO van Verum Consultants.

13 February 2008

Vanuit het Verre Oosten waait een nieuwe rage onze kant op: Feng Shui for Software. Voor degenen die nog nooit van Feng Shui hebben gehoord: het is de benaming voor de oude Chinese praktijk van het inrichten van een ruimte in harmonie met de omgeving en het bereiken van maximale ’Qi‘. Een slimme Chinees heeft de benadering onlangs toegepast op softwareontwikkeling.

Feng Shui for Software heeft zijn weerslag op alle aspecten van softwareontwerp en –ontwikkeling: van requirementsmanagement tot systeemtests, van het ontwikkelproces tot de ontwikkelomgeving. Feng Shui for Requirements Management bepaalt bijvoorbeeld de meest gunstige tijden en locaties voor het uitlokken van requirements (waarmee het een brug slaat met mainstream Feng Shui). Wat softwareontwerp betreft, heeft Feng Shui invloed op talloze aspecten, zoals de lay-out van datastructuren en de klasseorganisatie om Qi te maximaliseren. Dit staat ook wel bekend als Objectgeoriënteerde Feng Shui.

Je kunt Feng Shui gebruiken om de codelay-out en codeerstandaarden vast te stellen. En om te bepalen welke code-inspecties je moet uitvoeren en wanneer. Op het laagste niveau kun je Feng Shui-principes aanwenden voor zaken als geheugenmanagementalgoritmes om de harmonie tussen hardware en software te optimaliseren. Op het hoogste niveau raakt Feng Shui het ontwerp van gebruikersinterfaces, waarbij de aanpak ervoor zorgt dat ze in balans zijn met hun omgeving en afgestemd op de gebruiker. Het gebruik van Feng Shui in de keuze van softwaretests en de bepaling van wanneer en waar deze moeten worden ingezet, heeft testresultaten naar verluidt geweldig verbeterd.

Aanhangers van Feng Shui for Software beweren dat softwarekwaliteit en –prestaties gigantisch zijn verbeterd als engineers de Qi maximaliseren. Professor Won Hung Lo, hoofd van de afdeling Feng Shui Software aan het Sjanghai-instituut voor Toegepaste Feng Shui zegt: ’Blinde tests hebben aangetoond dat software die is geschreven op basis van Feng Shui simpelweg veel beter aanvoelt dan conventionele software. Als Microsoft Feng Shui had toegepast op het Vista-ontwerp, dan was het zeker te weten een beter en stabieler product geweest.‘

In het westen heeft een groep extreme programmers de nieuwe technologie het eerst omarmd. Tao Johanssen, surfer, skateboarder en aanjagervan California‘s XP-gemeenschap, zegt: ’Echt man, Feng Shui helpt extreme programmers om agile te blijven terwijl ze toch vet in balans zijn met alles, weet je. Het is echt een te gekke ervaring, man.‘

Het succes van Feng Shui for Software is niet onopgemerkt voorbijgegaan aan de hoogste niveaus van de industrie. Het gerucht gaat dat de SEI overweegt om de Feng Shui-principes toe te passen op de nieuwe versie van CMMI, die hierdoor in aanmerking komt voor de naam CMMI (FS). Eveneens wordt nagedacht over het vestigen van een Feng Shui Iso-standaard.

Natuurlijk is dit niet de eerste keer dat Feng Shui is toegepast in de industrie. Eerdere pogingen zijn jammerlijk mislukt. In de jaren vijftig gebruikten luchtvaartingenieurs de Oosterse wijsheden bij het ontwerpen van de Comet, ‘s werelds eerste jetlijnvliegtuig. Dit toestel had vierkante cabineramen om zowel comfort voor de passagiers als Qi te maximaliseren. Drie Comets stortten neer voordat de techneuten ontdekten dat spanningsscheuren in de hoeken van de cabineramen explosieve decompressie veroorzaakten, met rampzalige gevolgen. Het gerucht gaat dat de nieuwe terminal op luchthaven Charles de Gaulle, waarvan het dak door onbekende oorzaak instortte, ook was ontworpen met behulp van Feng Shui.

Alhoewel Feng Shui for Software veelbelovend is, blijft het een empirische en kwalitatieve methode. De conservatievere en meer pragmatische software-ingenieurs onder ons die desalniettemin op zoek zijn naar manieren om de kwaliteit van hun software te verbeteren, zouden eens moeten overwegen om een kijkje te nemen bij hun even zo conservatieve, pragmatische en wellicht succesvollere zusterengineeringdisciplines. Ze kunnen wellicht een poging wagen om kwantitatieve methodes van wiskundige verificatie toe te passen op hun softwareontwerp. Er is tenslotte niets nieuws onder de zon.