Прикладной программизм
Dec. 30th, 2005 04:04 pm
korw1n подкинул замечательный текст Как не надо программировать. Красочно описывается текущее невесёлое состояние софтверной индустрии, что называется, глядя изнутри. Я сам, со своим тоже немаленьким прграммерским опытом, склонен согласиться с автором по всем пунктам. Недостаток статьи только один автор явно забыл русский язык (что для него вполне естественно) и это местами усложняет понимание.
Предположим проект новый. Сначала забираем деньги по максимуму. Сажаем кучу народу и все опять бегают в полной конфузии. А кого только там нет.
Тут мне придется переключиться на английский, не знаю русских терминов. Project managers, Quality Assurance managers, Configuration managers, Testing managers, Just Managers, Random People. И совсем не много тех кточего-то понимает. А со стороны заказчика не лучше. Если есть хотькто-нибудь, кто хоть немного знает, чего надо делать, это большая удача. Его необходимо идетифицировать как можно быстрее и вынимать из него это знание как можно быстрее, а то или сдохнет или уйдет. Что очень не просто, потому, что он думает совсем по другому и ни хрена не понимает в «software development». Но с ним надо быть ласковым и понимающим упустишь не будет того чего надо («functional or user requirements»).
Процесс определения того чего надо самый трудоемкий и сложный. Потому, что кроме того кто знает есть еще много тех, кто думает, что знает и еще больше тех кто притворяется, что знает. Ну поди разберись! Однако свои тоже очень мешаются. Они суют заказчику всякую ерунду типа крутых методологий и «detailed schedule» на следующие 5 лет поминутно. А среди своих надо отыскать того, кто понимает чего говорит тот, кто знает и может это внятно навалять на бумаге. Таких тоже мало.
Менежеры бывают нескольких видов.
Менежер линейное звено. Этот менежер имплементирует функцию у которой на выходе
то-же самое, что и на входе. Полностью контролируемая особь, поддается дрессировке, послушен и покладист. Толку от него как от козла молока но и вреда не приносит. Великолепный переадресаторe-mails в обе стороны. На программистов смотрит преданно и дает лапу.Менежер генератор хаотического шума. Этот менежер имплементирует функцию случайных чисел. Практически не контролируем, иногда агрессивен, иногда ласков. От него можно ожидать практически всего. Часто бывает женского пола. Выдает клиенту случайную и ничем не обснованную ерунду. Периодически просит рассказать,
что-же такое XML и почему он превернул мир.
Менежер приносящий пользу. Этот вид встречается очень редко и занесен в красную книгу. Может внятно донести до клиента простую техническую мысль. Иногда дает разумные советы клиенту и полностью осознает круг свего незнания. Служит буфером между враждебным и бестолковым внешним миром в лице клиента и начальства и программистом.
Практика убедительно показывает, что никто, никогда не знает, что будет и какие финтифлюшки понадобятся. И если уж по полной правде то перый релиз это «прототип на стероидах». Знание и понимание того, что надо наконец приходит когда этот первый релиз готов.
Ну чего, будем код писать?
Так он уже готов ентот код. Это последнй прототип. На настоящий код времени нет. Ну иногдавсе-таки пишут код, приблизительный такой код (я вам потом проясню, что такое приблизительный код). А как код писать, вы все сами знаете. Ну все, абсолютно, все знают как код писать!
Так что «в общем по software developmentу» состояние мрачное, тенденции не меняются, будущее туманное. И непонятно, откуда ждать
no subject
Date: 2006-01-01 10:24 am (UTC)no subject
Date: 2006-01-10 09:10 am (UTC)no subject
Date: 2006-01-10 10:51 am (UTC)imho, как только всерьез начинаешь задумываться что не так в "системе", потом уже просто не получается "работать как раньше". В том плане что понимание "устройства системы" это уже брэйновый апгрейд. :) и дальше дорога в PrjManager-ы или куда еще.
(нудное) Ну и о печальном - "качественно написанный код" и "продаваемый код" это две разные сущности. И то что "продаваемый код" во многом таков - это природа ситуации. Именно такой код (с авторами, постановщиками и т.д.) прошел суровые джунгли естественного отбора. :)
p.s. конечно я не призываю писать плохой код - я просто перевернул с ног на голову весь вопрос.
no subject
Date: 2006-01-11 02:16 pm (UTC)А идти в PrjManager'ы (как я уже говорил) - это значит сменить профессию и последовать Принципу Питера.
no subject
Date: 2006-01-17 11:42 pm (UTC)Насчёт халтур и геморроя - согласен на все 200%.
no subject
Date: 2006-01-11 02:26 pm (UTC)Константация фактов - ещё не является оправданием. Вокруг вон тоже чёрт-те что творится. Коррупция, насилие и прочее беззаконие. "Идёт нормальный цивилизованный процесс" © Гоблин. Но это же совсем не повод и самому заниматься всем этим. И если каждый из нас найдёт в себе силы навести порядок хотя бы в окрестности δ вокруг себя - так уже в мире станет гораздо лучше...
И мне особенно приятно видеть неожиданные исключения из общей невесёлой тенденции.
nothing personal! no offense intended.
no subject
Date: 2006-01-17 11:45 pm (UTC)Agree.
>И мне особенно приятно видеть неожиданные исключения из общей невесёлой тенденции.
Эти да, молодцы :)
>nothing personal! no offense intended.
:)
no subject
Date: 2006-01-02 09:44 am (UTC)Oh, no room for Bender, huh? Fine, I'll go build my own lunar lander! With blackjack and hookers!
Date: 2006-01-06 12:54 pm (UTC)ну давайте построим собственный луналэнд с блекджеком и шлюхами? отберем нормальных пасанов и будем делать все "правильно". но подозреваю что продать не сумеем, так что от луналенда и блекджека придется отказаться.
In fact, forget the lunar lander and the blackjack!
Re: Oh, no room for Bender, huh? Fine, I'll go build my own lunar lander! With blackjack and hookers
Date: 2006-01-10 10:37 am (UTC)