O$>ну, во-первых при проектировании постараться отделить мух от котлет, чтобы изменения в одной части программы не приводили к лавинообразному росту изменений в других частях, а во-вторых, правильно выбирать средство разработки — работа в том же CBuilder, который позволяет быстро стартануть, обычно и приводит к тому, что "чем дальше в лес, тем ну его нафиг"
Проектирование и XP — вещи не совместимые. Только вот Фоулер их умудряется совмещать и от этого только выигрывает. Так что слепо следовать методологии не стоит. Люди — это главное и от их способностей и надо отталкиваться.