Цитата: Geek
Дикие папуасы видели как белые люди строят аэродром и к ним потом прилетают самолеты со всякими ништяками. Они стали строить свои аэродромы, но бог почему-то самолеты не присылал...
Каких только правильных методов не напридымывали менеджеры для того чтобы научить писать программистов быстро грамотный работающий код. Большинство этих методов было придумано дикими папуасами наблюдая за повадками инженеров, либо менеджеры-строители, торговцы, промышленники, пытались применить методы из своих индустрий в программировании.
Например, папуасами было подмечено, что некоторые программисты садятся вдвоем-втроем и начинают выдавать на-гора качественный код. Папуасы обозвали это Экстремальное Программирование и стали давать один компьютер на две обезьяны. Код почему-то не улучшался, работа замедлялась, а уровень нецензурных слов в адрес менеджеров возрос на три этажа.
Другие папуасы заметили что программисты каким-то образом сами между собой решают кто и чем будет заниматься и что делать. Назвали этот метот Agile (Оживи Покойника). Стали разбивать задачу на куски и давать обезянам самим брать работу. Обезьяны оказались умнее и работать перестали совсем.
Менеджеры пришедшие из строительства и производства были сами умные и знали что надо сначала сделать спецификацию конечного продукта, разделить на отдельные куски, прописать интерфейсы, сделать уровни абстракции. Дальше либо застревало на уровне спецификаций, потому что чтобы определить все граничные условия надо было сначала этот продукт сделать. Либо по мере написания оказывалось что все модели оказывались неправильными. Либо абстракции убивали производительность настолько что уже не лезло ни на одно железо. Либо уровень сложности интеграции всей системы превышал возможности контроля.
Так что самый правильный у Вас пункт номер 5. Надо делать грамотно. А чтобы делать грамотно нужны грамотные люди. А вот откуда их брать, так никто до сих пор и не понял. Они сами как-то заводятся если им не мешать и вовремя кормить.
Дык, классики ответили лет 30 тому назад
Вирт часто критикует «американский подход» к разработке средств программирования, в котором маркетинговые соображения превалируют над требованиями математической стройности и гарантированной надёжности, и каждое новое модное поветрие сопровождается некритичным внесением в языки программирования новых синтаксических элементов. Это приводит к неправильной оценке роли некоторых идей и, в конечном итоге, к неправильной расстановке приоритетов в разработке ПО."...время идет, и за компьютеры садятся те, кто разбирается в них все меньше и меньше..." (c) Э. Таннебаум
"Никогда программы не содержат так мало ошибок, как при отсутствии каких-либо средств отладки." (c) Никлаус Вирт
"На практике клиенты, даже вместе с инженерами-программистами, не в состоянии указать полно, строго и корректно точные требования к современному программному продукту, прежде чем будут созданы и опробованы какие-либо версии продукта, спецификации к которому они составляют." (c) Фредерик Брукс
ЗЫ Современной называется технология, которую пытаются совать во все дырки независимо от того, заточена она под них или нет. (c) Д. Белявский
ЗЗЫ Зачем АУ? >:( Это же не флуд.