Цитата(Andron_ @ Dec 8 2009, 16:44)

как показала практика, привычка не писать проекты ПО и документацию выливается в кучи проблем... Основная - крайне затрудненный процесс модификации.
Эта привычка, имхо, выработалась из-за нехватки времени на проектирование в современных условиях: контракты заключаются, как правило, на год, и разбивать проектирование на этапы с оформлением по каждому этапу (эскизный проект, технический, рабочий) документации - непозволительная трата времени. Поэтому, проектирование - в один этап: техно-рабочий проект. Программы должны иметь достаточное количество комментариев, а их текст - документ (или даже этого не имеете).
Цитата(Andron_ @ Dec 8 2009, 16:44)

вторая - невозможность повторного использования кода, написанного другим программистом...
Это - жадность собственников предприятия, желающих один раз заплатить и пользоваться, пользоваться, пользоваться... Если программа написана для "изделия А", это не значит, что можно без зазрения совести использовать её в "изделии Б"!
Цитата(Andron_ @ Dec 8 2009, 16:44)

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

).