Что-то много стало борцунов с каким-то мифическим «перфекционизмом». Главное, что выход из бесконечного цикла совершентсвования предлагается один на все случаи — написать говнокод. А потом его уже усовершентсвовать — написав поверх него ещё одну обёртку говнокода. Здесь встаёт вопрос, а зачем вообще писать говнокод? Почему автор считает, что процесс разработки ПО начинается и заканчивается написанием кода. Код это всего лишь выражение, того что у вас в голове, и если вы пишете говонокод, значит и в голове у вас говномысли, и как бы вы этот код не переписывали получится тоже самое. В написании кода должна быть только одна итерация — первая она же последняя, а вот в разработке архитектуры и алгоритмики итераций может быть много, их кол-во ограничивается требованиями к качеству решения поставленной задачи. Понятно, что если «писать программы» методом тыка, как мартышки, а не разрабатывать ПО, то тогда жизни не хватит, чтобы довести код до совершенства.