Eines der häufigsten Probleme und Ursachen für Fehler ist unverständlicher und nicht wartbarer Code. Eine Heuristik1 besagt, dass der Aufwand einer Codeänderung sich aus 70% Einlesen, 20% Problem-Lösen und 10 % Code-Schreiben zusammensetzt. Also wird Zeit vergeudet, wenn sich Entwickler in schlechten nicht überprüften bzw. bereinigten Code einlesen müssen. Nicht mehr aktuelle Code-Kommentare tragen zum Missverständnis bei genauso wie Zahlen im Code, deren Bedeutung nicht eruiert werden kann. Diese und viele weitere Symptome tragen dazu bei, dass der Aufwand zur Umsetzung einer Anforderung immer größer wird. Im schlimmsten Fall muss der Code weggeschmissen werden.