Ветка для материалов о том, как кто-нибудь из программной индустрии осознаёт данную проблему.

Р. Бар "Язык Ада в проектировании программ", Мир: 1988.
Английское издание: 1984 г.

Болезнь уже тогда хорошо диагностирована и описана симптоматика:

> -- Цитата:
> Вездесущие персональные ЭВМ делают процесс разработки программного обеспечения доступным практически каждому. Повсеместно начинает развиваться кустарное производство программных средств: пользователи, не являющиеся специалистами в области вычислительной техники, создают на своих персональных ЭВМ (зачастую весьма успешно) прикладное программное обеспечение для собственных нужд или даже на продажу. Такие люди обычно не склонны считать проектирование программ чем-то серьёзным. Подобным образом ведут себя студенты, успешно освоившие несколько вводных курсов по программированию и уверенные, что они теперь с успехом смогут выполнять любую программистскую работу. Такое отношение довольно естественно, поскольку программирование может дать само по себе впечатляющие результаты при сравнительно небольших затратах умственного труда на технологию программирования как таковую; достаточно изучить лишь несколько синтаксических правил языка и системных команд. <...> На самом элементарном уровне программирование - такое же ремесло, как плотничье или строительное дело, которому можно обучиться на практике, если только иметь к этому склонность.Разработчики систем и кустари-программисты так же не похожи друг на друга, как профессионалы (архитекторы и инженеры), проектирующие сложные здания, и домашние умельцы, своими руками мастерящие мебель, дачную постройку или жилой дом. Домашний умелец может выполнить всю работу от начала до конца, затратив минимум усилий на предварительное проектирование, принимая решения по ходу работы и доставая требуемые материалы (доски, кирпичи, гвозди и т.д.) по мере возникновения необходимости. Для успешного выполнения своей задачи домашнему умельцу не нужно обучаться основам архитектуры и конструирования.Программист-кустарь часто может руководствоваться методикой домашнего умельца, конструируя программу снизу вверх построчно и выбирая проектные решения по ходу работы. В некотором смысле его задача даже проще, чем у домашнего умельца, поскольку может и не понадобиться доставать новые материалы: достаточно мощная ЭВМ всегда предоставляет широкий набор стандартных блоков (машинных команд). Во многих случаях для успешного выполнения своей задачи программисту-кустарю не нужно обладать знаниями в области архитектуры и техники программного обеспечения.Однако и домашний умелец, и кустарный программист достигнут в конечном итоге тех предельных масштабов и сложности проекта, за которыми уже очень трудно или опасно продолжать работу без специальных знаний в соответствующих областях архитектуры и техники. Это предел можно охарактеризовать как границу между кустарным и промышленным производстом.