5S als software development tool

De meeste mensen denken bij softwareontwikkeling al snel aan Scrum. Echter wist je dat de 5S Lean principes ook essentieel zijn voor het schrijven van onderhoudsvriendelijke en betrouwbare code?

Hierbij is het natuurlijk niet zo dat een opgeruimde werkplek zal leiden tot goede software. Nee, essentieel voor goede softwarekwaliteit is clean code. En zoals James Coplien in het boek Clean Code een tikkeltje verrassend maar oh zo terecht opmerkt: de 5S principes zijn perfect toepasselijk voor “schone” code.

Goed voorbeeld doet goed volgen: wanneer het al een puinhoop is, zal er weinig aandacht worden besteed om een toevoeging wel netjes te maken. Extra puin op een puinhoop valt namelijk niet op. Dit geldt voor iedere werkplek, maar ook zeker voor code. Bij het ontwikkelen van nieuwe code wordt namelijk bewust dan wel onbewust omliggende code gebruikt als inspiratie voor de nieuwe.

Een andere zeer belangrijke principe van de 5S methodiek is de wel bekende vloermarkering in fabrieken of het schaduwboard om gereedschap op te ruimen. Mensen willen graag spullen opruimen, maar het moet wel duidelijk voor iedereen zijn waar iets opgeruimd moet worden. Bij opruimen is het namelijk van groot belangrijk dat iedereen dezelfde indeling gebruikt. En niks is minder waar in softwareontwikkeling. Duidelijk gestructureerde code zal niet alleen goed te begrijpen moeten zijn, maar zal er ook toe moeten leiden dat het vanzelfsprekend is waar nieuwe functionaliteit toegevoegd moet worden.

5S voor clean code

  • Scheiden: Maak onderscheid tussen wat noodzakelijk is of overbodig. Gooi weg wat niet gebruikt wordt (dode code), kapot of dubbel is (code duplicatie).
  • Schikken: Een geschikte plaats voor alles en alles op zijn plaats. Alles moet vindbaar zijn voor iedereen (duidelijk naamgeving). Het moet daar zijn waar je het verwacht en voor iedereen moet het duidelijk zijn waar iets geplaatst moet worden.
  • Schoonmaken: Houd je code schoon en herstructureer bij iedere verandering zodat het netjes blijft (refactor).
  • Standaardiseer: Maak afspraken met je team over je werkwijzen en zorg ervoor dat iedereen op dezelfde manier werkt (coderingsconventies).
  • Standhouden: creëer de groepsdiscipline om het vol te houden. Bezwijk niet onder tijdsdruk en blijf kritisch op jezelf en elkaar (code reviews).

Wil je advies of ondersteuning in clean codering. Neem dan vrijblijvend contact op zodat we u kunnen ondersteunen in het verkrijgen van nette code.