Prinzipien: Boy Scout Rule

21.11.2022

📈✨ “Hinterlasse einen Ort immer in einem besseren Zustand als du ihn vorgefunden hast.” So lautet die Boy Scout Rule, zu Deutsch Pfadfinderregel. Mit kleinem stetigem Aufwand soll verhindert werden, dass eine grosse Aufräumaktion notwendig wird. Wie können wir diese Regel auf ein Software-Projekt anwenden?

Das Originalzitat des Gründers der Pfadfinder lautet: “Try and leave this world a little better than you found it”. Umgemünzt für die Pfadfinder bedeutet das, den Campingplatz sauberer zu hinterlassen, als man ihn vorgefunden hat. Der Grundsatz jedoch bleibt der gleiche: Mit kleinem, aber konsistenten Aufwand soll verhindert werden, dass am Ende eine grosse Aufräumaktion notwendig wird.

In Clean Code von Robert C. Martin, die Bibel der nachhaltigen Software Entwickler, wurde diese Regel wie folgt angewandt: “Hinterlasse den Code immer besser als du ihn antriffst”. Kleine Teile von technischen Schulden (engl. technical debt) sollen laufend beseitigt werden. Im Idealfall werden dadurch grössere Notfall-Refactorings verhindert.

Die Definition einer technischen Schuld lässt Spielraum für Interpretationen und ist Material für einen eigenen Blogpost. Sie entsteht unter anderem, wenn etwas zu schnell und auf Kosten der Qualität umgesetzt wird.

Leider besteht im Berufsalltag immer ein gewisser Zeitdruck für die Schaffung von Business-Value. Damit man sich nicht bei den kleinen Aufräumarbeiten verliert, schlagen wir folgende praxisnahe Interpretation vor:

  • ✅ “Kleine” technische Schulden gleich im Rahmen des aktuellen Tasks beheben. Dabei ist “klein” eine Ermessensfrage und projektabhängig.
  • ⚡ Wenn sich herausstellt, dass es sich um eine grössere technische Schuld handelt, die Probleme in irgendeiner Form tracken (z.B. Ticket, Todo-Liste).
  • 🔁 Getrackte technische Schulden regelmässig mit dem Team besprechen, priorisieren und in den Sprints umsetzen.

Mit diesem Vorgehen konnten wir schon in verschiedensten Projekten sicherstellen, dass die Schulden im Team bekannt sind und effektiv abgearbeitet werden.