Принцип YAGNI применяется непоследовательно.
В конце концов выяснится, что надо было сделать систему противопожарной безопасности, совмещенную с сигнализацией.
Я не собираюсь доказывать, что такой принцип лучше других подходов. И я упомянул, что вполне может оказаться, что придется переписывать с нуля (с точки зрения кода, но не с точки зрения понимания). Я просто говорю, что такой принцип хорошо работает, когда никто не знает, что в конце-концов надо получить. Есть другие ситуации с другими подходами. Есть даже другие психологии конкретных индивидуумов - кто-то не может работать без законченной модели, отлитой в совершенный код без "шорткатов". Кто-то не может просто взять и выбросить собственный код. Ну и т.д.