[devel] Re: subteams? (was: I: Sisyphus-20041027 unmets)
Денис Смирнов
=?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Пн Ноя 1 14:56:31 MSK 2004
On Sun, Oct 31, 2004 at 08:03:34PM +0200, Michael Shigorin wrote:
MS> Не претендую (тем паче только что посмотрев "Revolution OS" :)
MS> К тому же подозреваю, что частично она решена.
Решить её полностью, и задокументировать результат слабо? ;-)
>> Такая tiger team должна:
>> 1. обладать очень высокой квалификацией
MS> Да. Но кое-кто тут в своё время и был замечен ровно за
MS> высказыванием вида "уровень разработчиков в команде существенно
MS> выше уровня разработчиков в мире" года два-три тому.
Сие есть факт.
Я бы сказал _много_ выше, ибо средний уровень разработчиков в мире, мягко
скажем, низковат, и за сравнение "просто выше" и обидеться можно :)
Но тут не относительные величины нужны а абсолютные. Человек либо может
решить какие-то проблемы, либо нет.
>> 2. иметь в своём составе хотя бы 1-2 "универсалов" (знающих
>> "почти всё", и способных помочь остальным в интеграции) плюс
>> специалистов в отдельных секторах (таких как языки
>> программирования, отдельные платформы типа KDE/Gnome со всей их
>> инфраструктурой, или kernel team).
MS> Скорее да.
MS> Ты упустил ещё одно качество (или включил в универсальность?) --
MS> кругозор по дистрибутивам. Бишь "а как это делается в ...",
MS> что может способствовать стабилизации (вместо бурного роста)
MS> отечественного велосипедостроения и улучшению стратегической
MS> интероперабельности на разных уровнях, от конфигурации и опыта
MS> до пакетов и их "гроздей" (последнее и для портирования спеков
MS> довольно важно).
Я это действительно упустил.
Правда вообще-то это в первую очередь группы планирования развития
дистрибутива. О существовании такой группы мне ничего не известно.
>> 3. (ключевое) иметь очень жёсткую дисциплину и организованность
>> действий.
MS> Ты только не путай второе с первым. Вместо первого кажется более
MS> полезным задокументированная методология и нечто вроде бОльших
MS> полномочий (например, на NMU по оговоренному алгоритму -- см.,
MS> например, Debian Policy про дырки и критические баги).
А дисциплина в проектах масштаба больше "полтора человека за одним
ноутбуком в гараже" и может быть, IMHO, реализована исключительно
написанием полиси на каждый чих и непрерывной их модификацией под текущие
реалии.
Насчёт NMU -- Блин-Ну-Когда-Же-Спеки-Будут-Лежать-В-CVS?
>> Эдакий "мантейнерский спецназ".
MS> Ну, в общем, да. Только формализованный. За счёт чего меньше
MS> времени и сил должно уходить в каждом конкретном случае на
MS> переливание из пустого в порожнее и больше -- на собственно дело.
Разумеется.
>> Проблемы:
>> 1. чем выше квалификация, тем выше загруженность (читай тяжелее
>> мотивировать, особенно на срочную работу)
MS> Дело не столько в срочности, сколько в предсказуемости.
MS> Например, что-то предвидится изменить в том же rpm-build-python
MS> или initscripts. Люди, которые составляют такую команду, могут
MS> выработать рекомендации по прохождению изменения, помогать
MS> индивидуальным майнтейнерам, пакеты которых оно цепляет,
MS> управлять желающими помочь, но имеющими ещё недостаточно опыта
MS> для самостоятельного создания или портирования спеков (это к
MS> слову о janitors / junior jobs и, пожалуй, студентах -- наверное,
MS> и мне было бы интересно с чего-то _полезного_ начать, заодно
MS> посмотрев на то, как какое-либо инфраструктурное изменение
MS> проходит по _разным_ спекам и как на что влияет -- это же
MS> разносторонний опыт!).
MS> И это может быть та же пара недель, а не "на позавчера", да и
MS> "час X" обычно вполне сдвигаем.
Опять же, в этом случае у нас получается в центре команды как минимум один
человек специальностей "Хакер" и "Менеджер", который периодами практически
целиком выбывает из деятельности кроме управления/обучения/пинания остальных
членов этой команды.
Такую модель я вижу реализуемой только если ядро этой команды будет сидеть
на зарплате.
>> 2. организовать _чёткое_ взаимодействие между людьми не
>> являющимися сотрудниками одной организации весьма сложно.
MS> Ну почему, насколько могу судить -- в рамках того же lkml бывают
MS> достаточно чёткие взаимодействия и без этого условия.
Естественно это возможно. Естественно это часто встречается. Нам этого
мало. Нам нужно чёткий способ воспроизводить некоторый уровень качества
взаимодейства по первой необходимости.
>> Соответственно основной вопрос -- как мотивировать?
MS> Ну, когда-то можно поиграться и во что-то вроде slashdot ratings
MS> ("этот человек знаменит тем, что ведёт NN пакетов, пишет NNN
MS> полезных писем в рассылки в средний месяц и помог N пакаджерам с
MS> их M пакетами").
MS> Но неохота на такие фантики размениваться.
Угу. С другой стороны как раз для начинающих это, вместе с работой под
руководством более опытного специалиста и может являться хорошим стимулом.
Фактически при таких рейтингах ему проще будет в будущем трудоустроиться.
MS> Посему остаётся банальная экономия времени при достижении
MS> индивидуальных целей (ведь у каждого из нас они есть, и обсудить,
MS> почему мы тратим время на Sisyphus -- было бы отдельно интересной
MS> темой; но пусть для начала newsletter стартует).
MS> Например, автору (инициатору) подобного изменения участие в
MS> подобной team по своему направлению может экономить вполне
MS> заметное время, которое иначе придётся потратить на рассеивание
MS> непонимания и всё то же решение предвиденных и не очень, но
MS> возникающих у коллег проблем.
Понымаешь в чём фишка... Есть навыки, которые ближе уже к менеджерским чем
программерским -- списаться с кем надо, кого-то пнуть по мыло, кого-то
выловить в IM, на кого-то багу повесить. Это надо не только уметь
(научиться этому легко), надо этим _хотеть_ заниматься. Опять же вопрос
мотивации.
Скажем несколько лет назад для меня проще было потратить пару дней на
разбирании и правке чужого кода, чем пару часов на переписку с автором
кода, который может решить проблему, возможно, за несколько минут. И
никакие вопросы эффективности ни могли с этим справится.
Дык вот такому человеку гораздо проще решать вопросы коммуникации если он
входит в официальную team, у которой сейчас есть конкретная
(общеизвестная) задача на текущий момент.
Если кто-то из team напишет мне "нужно поправить такой-то пакет", я,
естественно, скажу "Ok, как время будет". И положу в папочку "сделать в
ближайшие дни". Если же, скажем, мне прийдёт письмо "эти 3 дня посвящены
такому-то изменению в репозитории, и моё торможение будет задерживать весь
процесс или вынуждать других делать моё дело", то обработка этой просьбы у
меня ляжет в папочку "сделать срочно".
MS> Возвращаясь к началу -- мерой, по которой можно судить об
MS> удачности такого проекта, может быть то, будет ли получаться эта
MS> самая экономия времени. Вообще говоря, она зависит от:
MS> - количества изменений, требующих такого разбирательства,
MS> в единицу времени;
MS> - количества пакетов, задеваемых изменением;
MS> - объёма нестандартных (и нескриптуемых) действий над спеками,
MS> которые необходимы для изменения заданного пакета;
MS> - времени, которое уходит на непродуктивные (социальные,
MS> снимающие напряжённость etc) обсуждения результатов принятия
MS> какого-либо изменения (особенно при задержках между изменением
MS> базы и мигрированием пакетов);
MS> - количества таких вот людей.
MS> Как по мне -- так тот же проект "по питоньей части" был
MS> достаточно грамотно организован (не путать с "идеально") и можно
MS> попробовать это формализовать для использования в будущем.
К сожалению я не наблюдал за процессами происходящими с питоном, потому
как всё руки не доходят его изучить :)
--
С уважением, Денис
http://freesource.info
Подробная информация о списке рассылки Devel