Der heilige Gral sind Tests aber auch nicht. Das Programm ist dann nur so gut, wie die Tests, man hat aber mehr Code, der maintainet und bei Änderungen adaptiert werden muss.
Vor Jahren hatte ich mich mal mit Papern zu "modernen" SE-Praktiken (TDD, PP, Reviews, ...) beschäftigt. Das Ergebnis ließ sich runterbrechen auf: sobald in irgendeiner Weise zweimal über den Code geguckt wird (zwei Programmierer gleichzeitig beim PP, nacheinander bei Reviews, durch einen selbst beim Vorher-/Nachher-Testen oder Prototypen), nimmt die Qualität signifikant zu. Mehr als zwei lohnt sich idR finanziell für den Auftraggeber nicht. Weniger als zwei führt zu schlecht wartbarem Code. Das Schöne an der Erkenntnis ist, dass man sich selbst aussuchen kann, welche Methode man bevorzugt (ich kann TDD und PP nicht viel abgewinnen, aber prototype gerne)