Здравствуйте, Курилка, Вы писали:
К>А если по существу — у меня очень большие сомнения, что большую компанию с таким подходом можно построить. Просто большая контора — бюрократия, а где бюрократия, там часто ведут себя согласно предписаниям, а чётких предписаний, как отобрать высококлассного спеца, думаю врядли можно составить.
Это кстати один огромный философский вопрос — для разработки какого софта нужны именно БОЛЬШИЕ компании. Есть мнение, что таких типов софта не очень-то много.
Здравствуйте, Курилка, Вы писали:
E>>Поддерживаю. Более того, я сторонник того, чтобы проектами занимались небольшие команды хороших специалистов (как операционные бригады у Брукса).
К>Блин, хочу в такую команду
Я последние пару лет в такой команде работаю. 3-4 человека. С одной стороны хорошо.
С другой стороны ПМ-ом не стать, даже тим лид не нужен как таковой. И когда проходишь собеседование, и тебе задают ворос "Нууууу, это все здорово, а есть ли у вас опыт тим лидера хотя бы..." или "Нуууууу, 3-4 человека сами понимаете маленькая команда, а есть ли у вас опыт разработки в команде хотя бы от 10 человек ?"
... << RSDN@Home 1.2.0 PINK FLOYD — Shine On You Crazy Diamond (Part One) >>
Здравствуйте, Курилка, Вы писали:
E>>Поддерживаю. Более того, я сторонник того, чтобы проектами занимались небольшие команды хороших специалистов (как операционные бригады у Брукса).
К>Блин, хочу в такую команду
У меня не большой опыт в разработке коробочных продуктов, поэтому я не могу судить как там. А вот при создании собственного (не заказного) продукта и поставке его заказчикам с требуемой доработкой напильником наблюдается такая ситуация: маленькая команда успешно делает продукт и первые его внедрения. Но, с ростом количества внедрений и по мере эволюции продукта этот механизм уже не работает
Так что, боюсь, операционные бригады хорошо себя ощущают только в условиях стартапов.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, Курилка, Вы писали:
К>>А если по существу — у меня очень большие сомнения, что большую компанию с таким подходом можно построить. Просто большая контора — бюрократия, а где бюрократия, там часто ведут себя согласно предписаниям, а чётких предписаний, как отобрать высококлассного спеца, думаю врядли можно составить.
ЗХ>Это кстати один огромный философский вопрос — для разработки какого софта нужны именно БОЛЬШИЕ компании. Есть мнение, что таких типов софта не очень-то много.
Соглашусь, но есть ещё один момент: бизнес, и он пытается с одной стороны удешевить производство ПО, с другой стороны — охватить как можно большую долю рынка (считай сделать как можно больше разного софта). Т.е. получается что производство софта — это одно, а зарабатывание этим производством — совсем другое.
Здравствуйте, Mirrorer, Вы писали:
M>Здравствуйте, Курилка, Вы писали:
E>>>Поддерживаю. Более того, я сторонник того, чтобы проектами занимались небольшие команды хороших специалистов (как операционные бригады у Брукса).
К>>Блин, хочу в такую команду
M>Я последние пару лет в такой команде работаю. 3-4 человека. С одной стороны хорошо. M>С другой стороны ПМ-ом не стать, даже тим лид не нужен как таковой. И когда проходишь собеседование, и тебе задают ворос "Нууууу, это все здорово, а есть ли у вас опыт тим лидера хотя бы..." или "Нуууууу, 3-4 человека сами понимаете маленькая команда, а есть ли у вас опыт разработки в команде хотя бы от 10 человек ?" M>
А как без ПМ? Кто общается с заказчиком, утрясает спеки, договора составляет и т.п.?
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>Здравствуйте, Курилка, Вы писали:
К>>>А если по существу — у меня очень большие сомнения, что большую компанию с таким подходом можно построить. Просто большая контора — бюрократия, а где бюрократия, там часто ведут себя согласно предписаниям, а чётких предписаний, как отобрать высококлассного спеца, думаю врядли можно составить.
ЗХ>>Это кстати один огромный философский вопрос — для разработки какого софта нужны именно БОЛЬШИЕ компании. Есть мнение, что таких типов софта не очень-то много.
К>Соглашусь, но есть ещё один момент: бизнес, и он пытается с одной стороны удешевить производство ПО, с другой стороны — охватить как можно большую долю рынка (считай сделать как можно больше разного софта). Т.е. получается что производство софта — это одно, а зарабатывание этим производством — совсем другое.
...И это опять точка, где я могу только выйти из дискуссии
К>А как без ПМ? Кто общается с заказчиком, утрясает спеки, договора составляет и т.п.?
ПМ конечно есть. Куда ж без него. Я о том, что мои шансы стать ПМ при таком раскладе стремяться к нулю
E>>>Поддерживаю. Более того, я сторонник того, чтобы проектами занимались небольшие команды хороших специалистов (как операционные бригады у Брукса).
К>>Блин, хочу в такую команду
M>Я последние пару лет в такой команде работаю. 3-4 человека. С одной стороны хорошо. M>С другой стороны ПМ-ом не стать, даже тим лид не нужен как таковой. И когда проходишь собеседование, и тебе задают ворос "Нууууу, это все здорово, а есть ли у вас опыт тим лидера хотя бы..." или "Нуууууу, 3-4 человека сами понимаете маленькая команда, а есть ли у вас опыт разработки в команде хотя бы от 10 человек ?" M>
вообще то тут была допущена ошибка, и в связи с ней недоразумение:
в "операционной бригаде" только одна светлая голова — т.н. хирург, а остальные — вспомогательная обслуга
и хирург делает все "ядровое" (core) — осн. код, осн. документацию, остальные (9 человек, если быть точным) лишь доводят, полируют, служат звеньями связи между бригадами и т.д.
Здравствуйте, PhantomIvan, Вы писали:
PI>вообще то тут была допущена ошибка, и в связи с ней недоразумение: PI>в "операционной бригаде" только одна светлая голова — т.н. хирург, а остальные — вспомогательная обслуга PI>и хирург делает все "ядровое" (core) — осн. код, осн. документацию, остальные (9 человек, если быть точным) лишь доводят, полируют, служат звеньями связи между бригадами и т.д.
По вашему всем остальным достаточно "темных" голов?
Например, найти хорошего документатора, который бы по черновикам "хирурга" делал бы качественную документацию сложнее чем того самого хирурга.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, PhantomIvan, Вы писали:
PI>вообще то тут была допущена ошибка, и в связи с ней недоразумение: PI>в "операционной бригаде" только одна светлая голова — т.н. хирург, а остальные — вспомогательная обслуга PI>и хирург делает все "ядровое" (core) — осн. код, осн. документацию, остальные (9 человек, если быть точным) лишь доводят, полируют, служат звеньями связи между бригадами и т.д.
Ммм. Не буду спорить, Брукса давно читал, но вроде там конкретного количества человек не было.
А про хирурга — +1. Но у нас его как такового нету. 4 хирурга, и ПМ для того, чтобы решать конфликтные ситуации Хотя таковых практически не возникает, люди достаточно вменяемые.
... << RSDN@Home 1.2.0 Mr. Bungle — Love is a Fist >>
экспрессивное повествование однако...
MS>Ну а теперь кто-то вбросил девку по имени Nemerle в полк. Некоторые взвыли от оргазма. Девка рожать после этого сможет? Искренне надеюсь что сможет, поскольку концепции Nemerle мне симпатичны, а вот все это броуновское движение вокругт нее — не очень.
справедливости ради, нужно отметить, что предшествовавшие высказывания Влада, возможно, были довольно горячи, что и вызвало естественную реакцию отторжения. тем не менее, я пожалуй, соглашусь с большинством из них (касательно немерле).
что же касается "полка", в который "вбросили продажную девку империализма", то могу лишь порадоваться, что этот "полк" в сущности является русским комьюнити профессиональных разработчиков. но вместе с тем, я весьма удивлён вместе с VladD2 (и думаю, с этим связана эмоциональность его прошлых постов) тем фактом, что лишь немногие увидели в немерле реальную, "на сегодня" замену промышленно используемых языков, сей факт не может не огорчать.
если бы не это неприятие в сущности хай-ендового языка, немерле бы уже обзавелся полным набором привязок к современному инструментарию программиста, после чего стало возможным бы пойти ещё дальше, и разработать ещё набор инструментов, использующих специфические возможности, получаемые в результате доступности АПИ компилятора и наличию макросистемы. в общем, "полк" оказался недостаточно "распутным", чтобы обрадоваться такому подарку судьбы.
а с другой стороны, я придерживаюсь доброй олдскульной традиции "программирование одного" (Зверёк Харьковский), и после трезвой оценки ситуации, не вижу для себя причин не переходить на немерле. как там в известном анекдоте... "да! трахаться я иду, трахаться!"... (с продажной девкой немерле)
Здравствуйте, PhantomIvan, Вы писали:
PI>я весьма удивлён вместе с VladD2 (и думаю, с этим связана эмоциональность его прошлых постов) тем фактом, что лишь немногие увидели в немерле реальную, "на сегодня" замену промышленно используемых языков, сей факт не может не огорчать.
Вот именно "на сегодня" Nemerle заменой промышленно используемых языков не является, ибо:
Ну, как вы наверняка заметили, мы не слишком быстро реализуем новые возможности и исправляем ошибки.
...
Я думаю, теперь пора стабилизировать сам язык и сосредоточиться на:
— исправлении ошибок
— улучшении в API компилятора/макросов
— улучшении производительности
— ну и конечно на вашем замечательном проекте интеграции
Продвижение в этой области + возможно еще некоторое улучшение в документации / тьюториалах, по моему мнению, — хороший план развития для Nemerle. Проблема в том, что у меня и Михал не так-то много времени для этого, учитывая, что (особенно для Михала) это не очень "интересная" работа...
Не очень-то лично мне хочется запускать в коммерческую эксплуатацию систему, написанную на языке, у авторов которого нет времени на исправления в нем ошибок.
Так что речь лучше вести о "завтра".
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
PI>>вообще то тут была допущена ошибка, и в связи с ней недоразумение: PI>>в "операционной бригаде" только одна светлая голова — т.н. хирург, а остальные — вспомогательная обслуга PI>>и хирург делает все "ядровое" (core) — осн. код, осн. документацию, остальные (9 человек, если быть точным) лишь доводят, полируют, служат звеньями связи между бригадами и т.д.
E>По вашему всем остальным достаточно "темных" голов?
объективно, достаточно, т.к. только хирург обязан обладать достаточным опытом в решении задачи, и в программировании как таковом, все остальные задачи — на порядок легче
документация? к примеру SELECT из сиквела — хирург описывает синтаксис в стандартной форме, кратко — назначение, и пару примеров
документёр берёт селект, пробует, дописывает более развернуто описание, генерит еще примеров, если что непонятно — спрашивает хирурга (не нужно быть 7 пядей во лбу для этого)
"тёмным головам" кстати, и платят меньше — их работа менее творческая, их задача — довести до максимума производительность хирурга (и как результат — производительность всей бригады)
PI>>вообще то тут была допущена ошибка, и в связи с ней недоразумение: PI>>в "операционной бригаде" только одна светлая голова — т.н. хирург, а остальные — вспомогательная обслуга PI>>и хирург делает все "ядровое" (core) — осн. код, осн. документацию, остальные (9 человек, если быть точным) лишь доводят, полируют, служат звеньями связи между бригадами и т.д.
M>Ммм. Не буду спорить, Брукса давно читал, но вроде там конкретного количества человек не было.
конкретное количество, с конкретным описанием их функций
этих людей около десятка (парочка позиций, вроде "секретаря", могут быть разделяемыми между несколькими бригадами)
M>А про хирурга — +1. Но у нас его как такового нету. 4 хирурга, и ПМ для того, чтобы решать конфликтные ситуации Хотя таковых практически не возникает, люди достаточно вменяемые.
вот, собственно, это и есть стандартная ситуация, в противоположность которой и ставил брукс свой пример "операционной бригады"
есть "хирург" — главный, кто врезается в код, и "второй пилот" — менее опытный программер на всякий случай, и конечно, для помощи
остальные, но они не у дел (не трогают главный код по сути). а когда 4 скальпеля режут по живому, от внутренностей пациента останется только мясной фарш (мешанина).
Здравствуйте, PhantomIvan, Вы писали:
PI>остальные, но они не у дел (не трогают главный код по сути). а когда 4 скальпеля режут по живому, от внутренностей пациента останется только мясной фарш (мешанина).
Может при правильном разделени труда такого не произойдет ?
Здравствуйте, PhantomIvan, Вы писали:
PI>документация? к примеру SELECT из сиквела — хирург описывает синтаксис в стандартной форме, кратко — назначение, и пару примеров PI>документёр берёт селект, пробует, дописывает более развернуто описание, генерит еще примеров, если что непонятно — спрашивает хирурга (не нужно быть 7 пядей во лбу для этого)
Хех. И 8 человек поочередно спрашивают хирурга о том, что им делать и как.
Печально имхо.
PI>>я весьма удивлён вместе с VladD2 (и думаю, с этим связана эмоциональность его прошлых постов) тем фактом, что лишь немногие увидели в немерле реальную, "на сегодня" замену промышленно используемых языков, сей факт не может не огорчать.
E>Вот именно "на сегодня" Nemerle заменой промышленно используемых языков не является, ибо:
у меня другое мнение, возможно, отличное от авторов языка, основанное на личном опыте (я написал мини-проект в стиле си-шарп на немерле), и смею заверить, с точки зрения стиля программирования си-шарп, немерле дает те же возможности.
более того, поддержка функционального стиля позволяет уже сейчас ощутить преимущества над сишарпом, кои я не преминул заюзать.
поэтому читаем то же самое внимательно:
E>Ну, как вы наверняка заметили, мы не слишком быстро реализуем новые возможности
этих авторов — раз, два и обчелся, которым нужно ещё аспирантские рутинные задачи выполнять.
но свое дело — компилятор — они уже фактически сделали, в текущем виде его может взять любая уважающая себя контора, и допилить напильником любую часть (если это действительно необходимо, что сомнительно).
E> и исправляем ошибки.
которых в компиляторе почти не осталось.
есть и будут твики, направленные на лучшую идентификацию ошибок, и поддержку удобства использования интерфейса компилятора извне (интеграция со студией), но из корректного сорса он билдит сборки весьма робастным образом — в этой части, в сути нечего менять уже.
E>Я думаю, теперь пора стабилизировать сам язык и сосредоточиться на:
показатель зрелости, не более
E>— исправлении ошибок E>— улучшении в API компилятора/макросов
макросы — это то самое killer-применение языка. какие изменения тут нужно внести, чтобы их применение стало еще более очевидным, я не знаю, наверно, будут улучшения (хотя, способ применения мне уже понятен, после некоторого разбирательства в самом компиляторе)
E>— улучшении производительности
приложения не медленнее аналогичных сишарповских
видимо, имеется в виду скорость работы компилятора
E>— ну и конечно на вашем замечательном проекте интеграции
тут стандартные фичи уже обеспечены, естесвтенно, в глючном виде пока что
E>Продвижение в этой области + возможно еще некоторое улучшение в документации / тьюториалах, по моему мнению, — хороший план развития для Nemerle. E>Проблема в том, что у меня и Михал не так-то много времени для этого, учитывая, что (особенно для Михала) это не очень "интересная" работа... E>[/q] E>Не очень-то лично мне хочется запускать в коммерческую эксплуатацию систему, написанную на языке, у авторов которого нет времени на исправления в нем ошибок.
а какого рода ошибок ты боишься?
после билда в системе будут только "посаженные" туда командой разработчиков продукта ошибки (что выявляется и устраняется тестированием)
если сорс корректен, то в большинстве случаев он компилится. конечно, кое-какие баги есть, но наткнуться на них можно довольно редко, и надеюсь, они будут исправлены. с другой стороны, исходные коды есть, и есть возможность все отладить и пофиксить самому.
а что времени у авторов мало, то удивляться тут нечему, их всего пара человек (см.в.)
E>Так что речь лучше вести о "завтра".
нет о "сегодня"
лично я пересел на немерле ещё "вчера" (правда, это потому, что я делаю "поделки" для себя).
PI>>документация? к примеру SELECT из сиквела — хирург описывает синтаксис в стандартной форме, кратко — назначение, и пару примеров PI>>документёр берёт селект, пробует, дописывает более развернуто описание, генерит еще примеров, если что непонятно — спрашивает хирурга (не нужно быть 7 пядей во лбу для этого) M>Хех. И 8 человек поочередно спрашивают хирурга о том, что им делать и как. M>Печально имхо.
если 8 человек постоянно спрашивают кого-то, что им делать, то одно из двух. либо они не читали спецификаций на подсистему, задача разработки которой поставлена перед бригадой, либо они не профессионалы в своей области (тестер должен уметь тестировать и видеть по спеке, что ему тестировать, так же документер должен обаладать скиллом "technical writing" и т.п.), типично русский подход "наберём студентов и научим их" бруксом не рассматривается.
а какая-то часть времени, затрачиваемая на коммуникацию внутри и извне команды естественна и необходима. между прочим, брукс настаивал на документировании коммуникации, вплоть до телефонных разговоров, и упорядочивании этой информации (этим занимается один из членов бригады).
что в условиях экс-ссср (фактического отсутсвия специализированного it-образования) трудно найти хорошего документёра, тестера и программера — это факт. напоминаю, Брукс работал в IBM — туда студентов не нанимали.
PI>>остальные, но они не у дел (не трогают главный код по сути). а когда 4 скальпеля режут по живому, от внутренностей пациента останется только мясной фарш (мешанина).
M>Может при правильном разделени труда такого не произойдет ?
вот мы плавно подошли к противоречию:
предположим, все 4 у тебя — "светлые головы"
одно из двух: либо задача делится на 4 равные части, либо к примеру, это одна функционально односвязная часть.
если первое, то каждый из твоих программеров — как бы хирург, лишенный помощи своей "операционной бригады" (тестирует сам, документирует сам, утилиты пишет сам)
если это одна и та же часть, то разделение труда с необходимостью диктует выделить "главного", кто напишет основной код, а остальные, хочешь-не-хочешь, смещаются на менее "умные" задачи — типа написания юнит-тестов. в последнем случае непонятно, зачем этим четырём "светлым головам" быть действительно "светлыми" (для юнит-тестов нужен менее опытный в программировании тестер).
Здравствуйте, PhantomIvan, Вы писали:
PI>что в условиях экс-ссср (фактического отсутсвия специализированного it-образования) трудно найти хорошего документёра, тестера и программера — это факт. напоминаю, Брукс работал в IBM — туда студентов не нанимали.
Ты настолько не уважаешь экс-ссср?
Есть мнение, что найти этих же тестеров, программистов и прочих здесь примерно также сложно как и там Только вот зарплаты и требования будут несколько различаться для представителя тех же США и, допустим, Питера. Чем софверные конторы и пользуются, если ты не заметил...