Development

Software-ontwikkeling
De alles-of-niets regel

De alles-of-nietsregel

Programmeurs hebben meer macht dan zijzelf, of anderen, denken.

20 april 2018

We kennen allemaal de verhalen van de programmeur bij de bank die het restant van afrondingen overmaakt naar zijn eigen rekening. Zou het echt gebeurd zijn? Het laat in elk geval zien dat de programmeur een heleboel macht heeft. De programmeur kan die macht gebruiken om er zelf beter van te worden, maar meestal zitten programmeurs niet zo in elkaar. De meeste programmeurs gebruiken hun macht ten behoeve van de baas, opdrachtgever of gebruiker. Programmeurs zijn vriendelijke en welwillende mensen.

Programmeurs kunnen met één regel code een bedrijf maken of breken. Voor de meeste regels gaat dat niet op, maar een op de zoveel regels code drukt net dát verschil uit tussen winst maken en verliezen. Het verschil tussen een veilig systeem en een systeem dat openstaat voor iedere kwaadwillende hacker. Het verschil tussen een systeem dat twintig jaar goed te beheren is en een systeem dat na twee maanden al uitgekotst wordt door de beheerders. Het verschil tussen een niet te integreren systeem en een systeem dat zich als een vis in het water tussen andere systemen mengt. Het verschil tussen bug en feature. Dit is de alles-of-nietsregel, de 'make or break'-code.

Die ene regel code is zelden te voorspellen. Wanneer die regel geschreven wordt, kijkt niet ineens de hele organisatie over je schouder mee. Die regel schrijf je gewoon, in je eentje (of misschien met z’n tweeën) tussen neus en lippen door, net als alle andere regels. Misschien weet je het zelf niet eens wanneer je weer zo’n alles-of-nietsregel schrijft.

Programmeurs kunnen met één regel code een bedrijf maken of breken.

Ook aan testers, hoe minutieus ze ook te werk gaan, ontgaan deze regels meestal. Testers kijken naar de functionele buitenkant van het systeem. De alles-of-nietsregels uiten zich vaak pas wanneer het systeem buiten de oorspronkelijke functionele eisen treedt, wanneer er net wat meer van het systeem wordt verlangd. De architect en ontwerper hebben maar een globaal idee waar de alles-of-nietsregels ongeveer moeten komen. Als zij verantwoordelijk moeten zijn voor de alles-of-nietsregels, dan zijn ze in feite al aan het programmeren, want het is ten slotte niet te voorspellen welke regels alles-of-nietsregels zullen zijn.

Managers hebben helemaal geen clou van alles-of-nietsregels. Ze proberen de boel te overbluffen door te doen alsof programmeurs alleen maar precies hoeven te doen wat ze gezegd wordt: de programmeur als lopendebandmedewerker. Al jaren zien we hoe dat nogal slecht werkt.

Programmeurs hebben meer macht dan ze denken. Het wordt tijd dat we ons daarvan bewust zijn.

Reactie toevoegen
2
Reacties
Borg 30 april 2018 09:24

@Cordny Nederkoorn, je kunt echt niet alles aftesten; meeste gevallen als er al gestructureerd wordt getest is het risico-gebaseerd. Ben het met de schrijver eens dat je als programmeur meestal als een 'domme' resource wordt gezien. De reden dat je als programmeur over het algemeen veel minder betaald krijgt dan een projectmanager. Was in elk geval mijn reden om voor het laatste te gaan, vijftien jaar terug.

Cordny Nederkoorn 28 april 2018 17:18

De auteur van dit artikel heeft zo te horen nog nooit van technisch testen gehoord. Functioneel testen, zo 2005 ?