Про кандилябр
Nov. 9th, 2012 09:42 am- Подсудимый:
- - Играем семь бубён... Я несу пичку, покойничек - пичку. Опять несу пичку, покойничик - пичку. Я - трефу, покойничек - тоже трефу.
- - Так за это же кандилябром!
- - Я так и сделал.
- Судья:
- Подсудимый:
Последний раз в преф я играл в прошлом веке, но, кажется, эта версия наиболее близка к канонической...
Добавлю пару слов по поводу вчерашнего поста.
Программисты делятся на тех, кто
- не может делать то, что нужно, и
- тех, кто может делать то, что не нужно.
Первые в хозяйстве малопригодны, хотя и составляют большинство поголовья.
А вот вторые требуют направляющих и канализирующих усилий, потому как имеют тенденцию маяться фигнёй даже при очень понятных требованиях и общем понимании того, что деньги в конечном итоге в карман идут не от красивой игры в хитроумные алгоритмы, а от удовлетворения нужд покупателей результата, которые всей этой красоты не видят, когда жмут на кнопочку, зато желают, чтобы оно работало быстро, и по по возможности правильно.
По сути дела, программисты, начиная от высоких архитекторов и до самых низших форм вроде тестеров, занимаются умственной деятельностью. Такие процессы нельзя разогнать. Единственное, что можно - это замедлить, иногда свести до нуля. Причём, самыми разнообразными способами, включая плохой обед или поселения в ту же комнату отдела продаж с телефоном и громким голосом.
Человек не может бежать быстрее, чем может. Зато вполне может бежать не туда, куда нужно.
Не очень сложно организовать сделать героический рывок, заставив команду забыть про игры, сон и семью, выдавая в день эффективно больше десяти часов долбления по клавишам. Но это хорошо только на очень коротких дистанциях. Потом люди начинают болеть, задумываться, стоит ли их зарплата второго развода, или просто перестают получать кайф от кодирования. Так что, время по сути дела тоже ограничено.
Все методики и модели процессов в конечном итоге имеют одну цель: спрямить путь программиста от старта к результату. Разве что agile жульнически провозглашает, что «туда» - это то направление, куда программиста занесла его левая нога. Но тут клиенты как-бы не стремятся куда-то конкретно добежать, а наслаждаются бегающими слониками.
Во всей красивой картине есть только один трабл. Когда начинаются методики, уходят люди как раз второго типа. Потому как им просто интереснее бежать туда, куда нравится. Остаются первые, которые не могут.
Это, собственно, всё, что я на данный момент могу сказать о состоянии дел в Software Engineering.
В качестве хобби уже много лет смотрю на методики, обучающие бежать быстрее, и процессы, позволяющие направлять без потери мотивации. Но это на рынке не требуется. Потому как любая концепция, построенная на принципе, «давайте остановимся, осмотримся, поймём и подумаем» не обладает маркетинговым потенциалом. Особенно чуждо менеджменту, отягощённому бюджетом, это самое «подумаем».
no subject
Date: 2012-11-09 08:58 am (UTC)no subject
Date: 2012-11-09 09:03 am (UTC)Да, и реперные точки этого процесса остаются задокументированными только у очень высококвалифицированных особей, которые уже встретили на своём пути все виды граблей.
no subject
Date: 2012-11-09 09:13 am (UTC)А можешь эту дивную фразу "любая концепция, построенная на принципе, «давайте остановимся, осмотримся, поймём и подумаем» не обладает маркетинговым потенциалом" написать на красивом английском, так чтоб на стену можно было распечатать?
°-)
no subject
Date: 2012-11-09 02:06 pm (UTC)Насколько понимаю, на красивом английском и с картинками это уже написано в Дильберте. В крайнем случае можно пойти на скотадамс ком и спросить, есть ли у него что-нибудь подобающее и не хочет ли он это использовать, если нет.
no subject
Date: 2012-11-09 11:12 pm (UTC)no subject
Date: 2012-11-09 11:18 pm (UTC)А так, да. То же самое. Только наоборот.
no subject
Date: 2012-11-09 11:32 pm (UTC)no subject
Date: 2012-11-09 11:51 pm (UTC)Ох-ох-онюшки. Остаётся только цитировать себя: «в типичную голову типичного среднего по индустрии программиста может в один момент времени поместиться только одна мысль. Да и та исключительно вдоль, но ни в коем случае не поперёк.»
Модель - это модель. Она действует только на области применимости.
no subject
Date: 2012-11-09 11:57 am (UTC)что это все так с точки зрпения мЭнагеров.
На самом же деле... все еще маленько сложнее.
Бывает такое, что то чего нужно делать -- его сделать вообще невозможно (как разработка системы распознавания образов с помощью китайской веб-камеры, за 100$ и неделю работы),
или же возможно но,
за гораздо большие деньги, время... и совсем не тем образом, который там себе мЭнагер с потолка нафантазировал.
И еще... проблема в том, что область этого "надо сделать" она совсем не гладенькая и не линейная...
no subject
Date: 2012-11-09 02:18 pm (UTC)Ну видимо это как раз одна из причин, по которым погроммистов из п.1 заметно больше, чем программистов из п.2.
no subject
Date: 2012-11-09 02:51 pm (UTC)эта трудность актуальна что для тех, что для других
это просто действие правила "90% всего ..."
no subject
Date: 2012-11-09 03:07 pm (UTC)no subject
Date: 2012-11-09 04:58 pm (UTC)no subject
Date: 2012-11-09 03:11 pm (UTC)В любом деле первое решение - это имеет ли смысл этим вообще заниматься и уляжется ли приключение в доступные бюджет, время и мозги.
no subject
Date: 2012-11-09 02:17 pm (UTC)А нельзя ли обзор по ним или хотя бы список слов для гугления? Потому как не одни же отягощённые бюджетом менеджеры вас читают.
no subject
Date: 2012-11-09 03:08 pm (UTC)Можно почитать Джерри Вайнберга. Особенно старые книжки.
no subject
Date: 2012-11-09 04:46 pm (UTC)Ну а какой вообще смысл в хобби. Оно самодостаточно. :) Если нравится - есть смысл поделиться и с полутора человеками.
> Можно почитать Джерри Вайнберга.
Спасибо!
no subject
Date: 2012-11-09 05:03 pm (UTC)no subject
Date: 2012-11-09 11:29 pm (UTC)Собственно написать программу, которая делает что-то конкретно известное, обычно не так уж сложно (ну, отвлекаясь от открытых вещей типа "перевод естественного языка", да и те уже делают). Сложно - понять, что именно она должна делать. Поэтому отличать безмозглых людей очень просто, по ихним крикам "пусть маркетинг нам даст спецификацию".
Понять же, что именно программа должна делать, невозможно без опыта ее использования. Никакое количество предварительного анализа эту проблему не решит. Все, на что такой анализ способен - это наворотить кучу бесполезных "а может быть и так, так что давайте еще такое добавим". Поэтому правильный подход - итерационный, то самое agile. Когда пишется простая версия программы, используется, анализируется чего не хватает и что пошло не так, исправляется и добавляется, опять пробуется и т.п. Рабочее и полезное получается быстро и начинает приносить прибыль. И в каждый момент есть работающий вариант.
no subject
Date: 2012-11-09 11:56 pm (UTC)С этим я совершенно согласен. И даже могу сказать, кто именно нифига не понимает.
Собственно написать программу, которая делает что-то конкретно известное, обычно не так уж сложно
Опять цитировать себя про гиков, живых программистов видевших только на картинке? Этак процентов 40 "специалистов по С++" не вполне понимают отличия между точечками и стрелочками. В некоторых местах их концентрация доходит до 90%, причём, оставшиеся 10 сидят где-нибудь в менеджменте.
Остальное просто не интересно, потому как детский сад.
Рабочее и полезное получается быстро и начинает приносить прибыль.
Я видел цифры. А вот чем благородный дон может подтвердить свои заявки?
no subject
Date: 2012-11-10 03:15 am (UTC)Это просто у вас какая-то странная индустрия. Даже в Германии люди, которых я видел в Калдере/Сюзе, были совершенно внятные. А такое как у вас я видел только однажды - даже не в финансовой конторе, а в сети автомагазинов, программиста на Бейсике, у которого об этом Бейсике было такого уровня представление.
> Я видел цифры. А вот чем благородный дон может подтвердить свои заявки?
Наблюдаемой реальностью. А что "цифры"? Типа как "штурман, приборы!" ?
no subject
Date: 2012-11-10 10:12 am (UTC)Я работал практически во всех индустриях. Начиная от веба и до mission critical.
А про "наблюдаемую реальность" - это можно восторженным барышням лапшу на уши вешать. Кстати, реальность наблюдалась с позиции какой ответственности за бюджет? Можно в миллионах, можно в человекогодах.
no subject
Date: 2012-11-10 03:58 pm (UTC)Кроме софтверной? Одним словом, сплошное обасучивание.
> А про "наблюдаемую реальность" - это можно восторженным барышням лапшу на уши вешать. Кстати, реальность наблюдалась с позиции какой ответственности за бюджет? Можно в миллионах, можно в человекогодах.
А приведите свои циферки? Вот в газетах пишут, как ЦРУшное обасучивание по водопадной модели съело 5 лет и много миллиардов, не произвело вообще никакого результата, после чего было похерено.
В качестве другого примера, я наблюдал как наша контора за примерно 15 человеко-лет делала продукт, аналогичный тому, на что конкуренты потратили примерно 100 человеко-лет (в обоих случаях, включая только собственно разработку).
no subject
Date: 2012-11-10 08:48 pm (UTC)Предполагается, что я сейчас сниму штаны и начну трясти содержимым перед носом изумлённой публики? Мухи - отдельно, LJ- отдельно.
Насчёт же приведённых примеров, сравнения интересны только на сравнимых по качеству выборках. На хорошей команде будет работать любая модель (точнее, они любую модель обманут), на плохой - не будет работать ничего.
no subject
Date: 2012-11-11 12:08 am (UTC)В-общем, не будет примеров? А чего тогда хотите, чтобы я перед вашим носом тряс?
> На хорошей команде будет работать любая модель (точнее, они любую модель обманут), на плохой - не будет работать ничего.
В этом утвержении одновременно присутствуют несколько видов кривизны:
1. Вы утверждали, что хороших команд нет, вокруг одни дебилы.
2. Я вам уже в который раз рассказываю, что хорошие команды присутствуют во-основном в софтверных компаниях.
3. Даже если отвлечься от предыдущих пунктов, утверждение неверно. В качестве примера можно посмотреть на историю MULTICS и Unix. В которых участвовали люди одинакового уровня, вплоть до тех же самых.
no subject
Date: 2012-11-11 01:42 am (UTC)Зачем? Мне и так всё понятно. Это просто не тот уровень, на котором мне интересно вообще что-то доказывать.
1. Вы утверждали, что хороших команд нет, вокруг одни дебилы.
Э?
2. Я вам уже в который раз рассказываю, что хорошие команды присутствуют во-основном в софтверных компаниях.
Нифига. Было только "Абрам, кому ты веришь: мне или своим глазам?"
Ну так вот, я верю глазам.
no subject
Date: 2012-11-11 02:33 am (UTC)> Ну так вот, я верю глазам.
Но глаза-то надо иногда из подмышки вытаскивать.
no subject
Date: 2012-11-11 07:53 am (UTC)Можно непротиворечивое и не зацикленное определение "интуитивной сути agile"?
Также хотелось бы докозательство правильности, отличную от "если куда-то идти, то куда-нибдуь придёшь", и построенную не на чувствах, а как теорему, выводимую из базовых аксиом.
no subject
Date: 2012-11-12 03:35 am (UTC)no subject
Date: 2012-11-12 07:25 am (UTC)Я просил определение agile.
no subject
Date: 2012-11-12 04:20 pm (UTC)Вовсе не. Модель водопада заключается в том, чтобы долго думать, спланировать в подробностях весь путь, и потом по нему упорно маршировать до конца.
> Я просил определение agile.
Я уже два раза рассказал.
no subject
Date: 2012-11-12 04:27 pm (UTC)Не надо спорить о вкусе устирц с теми, кто их ел.
Было спрошено определение, а не рассказ. (Который к тому же не верен)
no subject
Date: 2012-11-12 04:36 pm (UTC)В смысле, со мной?
> Было спрошено определение, а не рассказ. (Который к тому же не верен)
Ну, излагайте тогда ваше определение.
no subject
Date: 2012-11-12 04:57 pm (UTC)no subject
Date: 2012-11-12 05:10 pm (UTC)Ну так напишите. Я вам уже два раза написал, с разной степенью разжёвывания. Напишите, как оно вам видится.
no subject
Date: 2012-11-12 05:13 pm (UTC)Моё определение не понравится. Так что я подожду первого хода или закончу на этом.
no subject
Date: 2012-11-12 06:00 pm (UTC)Безусловно было. Если вам не хватает слова "это" - подставьте в начале "agile - это организация разработки, в которой," и далее по тексту.
> Моё определение не понравится. Так что я подожду первого хода или закончу на этом.
Ну и пусть себе не нравится, но пусть хоть какое-то будет, чтоб его можно было обсуждать. А пока я у вас вообще ни одной формулировки не увидел, и уже замаялся делать первые ходы, от которых вы продолжаете отскакивать, не говоря ничего по сути.
no subject
Date: 2012-11-12 06:06 pm (UTC)no subject
Date: 2012-11-12 06:31 pm (UTC)Думать можно долго
Date: 2012-11-18 08:20 am (UTC)Думать можно долго.. Иногда годами.. но чаще гораздо полезнее просто знать :-)
Скажи пожалуйста, сильно процесс думания поможет инженеру-железнодорожнику, когда ему дали задание построить гидроэлектростанцию или самолет?
А про все ваши водопады и сигмы с фау-моделями очень метко и точно сказал Бутусов из "наутилуса помпилиуса" - Здесь мерилом работы считают усталость :-)