Montag, 7. Februar 2011

Broken-Window-Theorie und Null-Tolleranz-Strategie bei der Softwareentwicklung

Für Alle die nicht mit den Themen vertraut sind, hier eine Minimaleinführung. Die Broken-Window-Theorie kann erklären wie Kleinigkeiten z.B. ein zerbrochenes Fenster zu Verwahrlosung eines Hauses, des Stadtviertels führen. Darauf aufbauend wurde von der New Yorker Polizei die Zero-Toleranz-Strategie angewandt, die kleinste Vergehen konsequent angeht und damit der Verwahrlosung schon in deren Entstehung begegnet. Dies ist ein effektive Strategie zur Verhinderung solcher Missstände.

Was hat die mit Softwareentwicklung zu tun? Dazu folgendes. Wenn ein neuen Entwickler zu einem bestehenden Projekt kommt und anfägt Code zu schreiben, dann setzt er den Code nicht nur so um, wie er es für richtig hält, sondern der bestehende Code wirkt sich auf ihn aus. Wenn also der bestehende Projektcode in einem suboptimalen Zustand ist, dann wirkt sich dieses Manko auf alle Programmierer aus. Sie werden zusehens schlechteren Code abliefern, im schlimmsten Fall kann dies zu einer negativen Abwärtsspirale führen. Als Gegenmassnahmen gibt es zwei Dinge. Erstens, der Code muss aufgeräumt werden und zwar sofort. Selbst Kleinigkeiten im Code korrigiert müssen korrigiert werden. Und Zweitens, dass man Code-Review auf Basis der Null-Toleranz-Strategie fahren muss. Mit Hilfe dieser beiden Verfahren ist es möglich eine gewachsene Code-Basis für zukünftige Erweiterungen fit zu machen. Aus einer anderen Perspektive, ohne Aktives Gegensteuern im Bereich der Softwarequalität werden schlechte Softwareprojekte schlechter. Diese Erkenntnis ist nicht neu, aber man kann sie mit Hilfe der Broken-Window-Theorie erklären und damit kennt man auch die Gegenmaßnahmen. Und so können Programmierer der New Yorker Polizei dankbar sein.