Notes on Simplicity

Opmerkingen over eenvoud

Eenvoud is niet de afwezigheid van complexiteit. Het is het resultaat van het goed genoeg begrijpen van een probleem om het netjes op te lossen.

Elk stukje software begint eenvoudig. Een paar dossiers, een duidelijk doel, een klein oppervlak. Vervolgens worden er functies toegevoegd, randgevallen afgehandeld en al snel kijk je naar iets dat een diagram vereist om te begrijpen. Dit is niet onvermijdelijk, maar er is discipline voor nodig om dit te voorkomen.

Het moeilijke deel van eenvoud is niet het oorspronkelijke ontwerp. Het is de voortdurende weerstand tegen complicaties. Elk functieverzoek, elke bugfix, elke refactor is een kans om de complexiteit toe te voegen. Nee zeggen is de belangrijkste ontwerpvaardigheid, en de minst gevierde.

Verwijderen als functie

De beste versie van een product heeft vaak minder features dan de vorige. Niet omdat er kenmerken ontbraken, maar omdat iemand de moed had om dingen te verwijderen die hun geld niet verdienden. Elke functie brengt kosten met zich mee: in onderhoud, in cognitieve belasting, in het gewicht van de interface.

Eenvoud is een praktijk, geen bestemming. Simpel kom je nooit uit. Je blijft maar vragen: is dit nodig? Kan dit duidelijker? Is er een manier om dit probleem op te lossen door iets te verwijderen in plaats van iets toe te voegen? Het antwoord is vaker ja dan je zou verwachten.

💬 Discussion 1
Guest
Avatar
  • Wout van Vliet (collapsed)
    liet het stuk over „Opmerkingen over eenvoud“ zien aan onze lead developer. Die staarde twintig seconden roerloos naar het scherm en liep zonder iets te zeggen naar het koffiezetapparaat. Moeten we dat zien als akkoord of als een stille noodkreet?
    0