Clean Code, Robert C. Martin
Stel: je bent garagehouder. Je hebt een paar jaar geleden de garage van je vader overgenomen.
Opa was deze garage destijds begonnen in de tijd dat er nog heel weinig auto’s waren. Hij behandelde elke klant dus ook als koning en deze werden op hun wenken bediend. Je vader zag dit als kleine jongen allemaal gebeuren maar zag ook dat het aantal auto’s, en daarmee ook het aantal klanten, sterk groeide. Ook het type klant veranderde langzaam. Alle auto’s werden steeds moderner en tegen de tijd dat je vader de garage overnam moest hij maatregelen nemen: er moest geautomatiseerd worden. Hij schafte het ene na het andere apparaat aan, en alle klanten konden weer makkelijk geholpen worden.
Echter stond de tijd niet stil, en werden de auto’s alsmaar moderner. Er ontstond echter een probleem: niet alle klanten konden nog bediend worden met deze apparaten. Er moesten apparaten bij, maar bestaande klanten moesten ook geholpen kunnen worden met de oude apparaten. Ook kwamen er steeds grotere klanten die hun hele wagenpark wilden laten onderhouden. Je vader had inmiddels al een aantal kamers en kantoren bijgebouwd aan het pand, maar je zag dat dit geen houdbare situatie was: Je besloot toen jij het bedrijf in handen kreeg: het is tijd om een gloednieuw pand te bouwen.
Je vond een goede aannemer, en hij begon te bouwen aan het nieuwe pand. Dit keer moest het goed gebeuren, dus er werd flink geïnvesteerd in een stabiele basis. Ondertussen bleef de druk toenemen en periodiek moesten er dus vaklui die aan het nieuwe pand werkten tijdelijk het oude pand uitbreiden of onderhouden. Anders zouden de klanten niet meer bediend kunnen worden. Dit betekende daarentegen wel dat de ontwikkeling van het nieuwe pand stil kwam te liggen. Om de duur van het onderhoud zo kort mogelijk te houden werd er flink haastwerk geleverd. Dit ging ten koste van de levensduur, maar dit risico werd voor lief genomen: er kwam immers binnenkort een nieuw pand.
Door al deze werkzaamheden tussendoor was het soms lastig in kaart te krijgen welke apparatuur er op welke verdieping en in welke garage van het nieuwe pand zou moeten komen te staan, zodat elk type klant zijn eigen type garage had. Het doel van het nieuwe pand was in ieder geval dat er in de toekomst snel en efficiënt gewerkt kan worden en dat er eenvoudig nieuwe garages bij moeten komen wanneer dit nodig is. Het in kaart brengen van deze garages was daarentegen nog een behoorlijke klus, omdat de huidige werkzaamheden verdeeld zijn in het oude pand. Vooralsnog is er een grote garage gebouwd, voor de grootste klant en ligt er een plan op tafel voor de bouw van een tweede garage in het nieuwe pand.
De bouw van het nieuwe pand duurt echter nog een behoorlijke tijd, en er is door een aantal klanten al aangegeven dat het binnenkort weer tijd is voor periodiek onderhoud. Daarnaast is er een probleem omdat een aantal vaklui weg is gegaan. Deze mannen waren het zat om de hele tijd van de bouw van het nieuwe pand afgehaald te worden om onderhoud te plegen op het oude pand. Nu is er al een tijd geen onderhoud meer geweest op de oude garage, en is niet alleen de onderhoudsmonteur van het oude pand weg maar ook de aannemer van het nieuwe pand. Inmiddels worden de eerste scheuren in de muur al zichtbaar en is het dak op diverse plaatsen gaan lekken. Hoog tijd voor onderhoud, want als de BOVAG langskomt voor inspectie kan de tent sluiten en is er sowieso geen toekomst meer voor het hele bedrijf.