Сегодняшняя статья не входит в цикл по организации команд разработки, а является неким изложением мыслей тимлида. А запустил поток этих самых мыслей один из комментариев к предыдущей статье, который в общих чертах обрисовывал, что созвоны это трата времени, и не более. Обсудим?
![Время не вернешь Время не вернешь](https://habrastorage.org/getpro/habr/upload_files/b32/68f/dcb/b3268fdcbb6260df95dc27ff19cf1c02.jpg)
Меня зовут Султанов, и я тимлид (тяжелый вздох). Стараюсь беречь время команды. Иногда даже получается. А еще у меня есть канал, где можно обсудить эту и другие статьи. Подписывайтесь, там интересно. Наверное.
Довольно часто разработчики (почему-то именно они, а не аналитики и не дизайнеры) выдвигают забавный тезис – созвоны бесполезны, они тратят очень дорогое время разработчика, и получается, что специалисты вместо работы о чем-то постоянно разговаривают. Что уж там, когда я был разработчиком, я и сам так думал, и очень злился на подобную потерю времени. Но всё кардинально меняется, когда ты становишься ответственным не за свой конкретный код, а за результат команды в целом. Велком ту хелл, нью тимлид!
В идеальном мире программиста он сам вообще может ни с кем не общаться, а только брать тикеты в джире и писать код согласно задаче. Если по итогу получается не то, что нужно – он не виноват, это задача была плохо поставлена. И вообще, к пуговицам претензии есть?
В реальном мире при такой ситуации тимлиду приходится пояснять на демо перед заказчиком, как же так получилось, что сделано не то, что было нужно, потом собирать команду на ретро и долго выяснять, кто не прав – аналитик, который якобы криво поставил задачу, или программист, который читать не умеет. И очень редко бывает, что виноват кто-то один, обычно есть и косяки в постановке, и программист попался из непонятливых. Чтобы избежать подобного эффекта, тимлид собирает аналитика и программиста на созвон, где все втроем совместно решают, что нужно сделать по задаче. Делать это нужно непосредственно перед выполнением, потому что в текст всего не вложишь (да и писать его обычно лень, это внезапно выясняется, когда просишь самого программиста написать себе задачу со слов аналитика). Поэтому в тикете ВСЕГДА будут лишь основные тезисы, и аналитику с программистом ПРИДЕТСЯ общаться для лучшего понимания задачи. Тимлид проследит.
Реальный кейс, который произошел не в моей, но в соседней команде. Фронту поставили задачу на срочную правку какой-то страницы, и указали вставить какую-либо тематическую картинку. Он поставил туда фото женских половых органов, и это ушло на прод – срочный багфикс же. Со стороны программиста это просто шутка с подтекстом «ставьте задачу конкретнее», но представляете реакцию бизнеса? При этом программист формально прав, картинку ему не выдали, он вставил ту, что посчитал нужным вставить. А кто остался виноват? Конечно же тимлид, потому что именно он отвечает за результат работы команды.
А вот произошел бы созвон для уточнения задачи, всё сложилось бы иначе.
И это мы еще никак не рассмотрели вариант вполне сознательного «непонимания» задачи разработчиком с какими-то своими личными целями. На удаленке стало очень модно взять задачу, пару часов её «читать», а потом внезапно «не понять» и отдать на уточнение. Так как аналитик очень вряд ли возьмется сразу её уточнять, полдня освободить на личные нужды очень даже можно. И кто скажет, что так не бывает?
Это раньше, когда сфера программирования еще только зарождалась, и туда шли действительно увлеченные люди, практически уникальные профессионалы, одержимые идеей сделать мир лучше, подобного практически не наблюдалось. А сейчас разработчики – просто наёмный персонал, и в их среде всё чаще встречаются люди, желающие ничего не делать за большие деньги. Отсюда возникают различные способы недопущения подобных выкрутасов и методы контроля разработчиков. Один из таких методов – регламентированные созвоны с конкретно установленной целью понимания поставленной задачи.
Поделитесь в комментариях, проводятся ли у вас созвоны для уточнения задач, или вы надеетесь на тикеты и текст?
![Тот самый комментарий Тот самый комментарий](https://habrastorage.org/getpro/habr/upload_files/f07/09a/9c7/f0709a9c7429af4e68ab27fcf054a4a3.jpg)
Комментарии (16)
Batalmv
08.08.2024 14:34Зависит от желания и вовлеченности человека. Т.е. созвоны так или иначе нужны, но те кто хочет разобраться - часто задают дельные вопросы или предлагают идеи.
Я лично вообще проблемы не выше. Раньше народ в курилку бегал, и никто это потерей времени не считал
ssmaslov
08.08.2024 14:34+1Только в курилку бегали по желанию и во время которое сам выбрал лично для себя... 90% созвонов ненужная муть если команда профессионалов. Мое личное мнение
mBlaze
08.08.2024 14:34+1Вот в курилке обычно решается 90 процентов вопросов и проблем, а не встрече 50 человек). Порой даже стоило в курилке рассказать голосом умному человеку проблему и решение приходило само молниеносно, но блин не собрании толпы людей. Там люди думают когда все это закончится и когда подойдёт моя очередь)
mBlaze
08.08.2024 14:34Созвоны нужны, одним командам каждый день, другим два раза в неделю, третьим по пятницам, нужны 100500 процентов. Они нужны как минимум для того, чтобы рук и лид узнали статус работ и если где то по срокам не попадает, то почему и какие сроки, ну лид же пойдет потом на другую встречу и будет рассказывать как его команда работает, придумывать ему что ли или график сгорания задач показывать? Бизнес хочет нормальные русские слова услышать.
mBlaze
08.08.2024 14:34+2Для описанных кейсов, Вы правы, созвоны нужны обязательно, да и в целом знаю по себе, если не понятно сам иду оперативно на контакт ибо мне тоже важен результат, странно было бы по итогу хотеть оказаться вредителем или без инициативным тупицей).
В общем вы описали плохих разработчиков, которые не хотят работать, а хотят динамит и получать зарплату. Я к примеру тоже не хочу работать и хочу получать каждый месяц зарплату, но я знаю за что я ее получаю и что от меня ждут, а если ждут, значит надо.
Созвоны - есть пустые собрания, которые называют дейликами, статус встречами, при этом я встречал лидов которые говорили, что это не отчётные встречи, а мы обсуждаем проблемы каждого, мы команда, но это был враньё, это была обычная статус встреча, чтобы отчитаться по задачам, что делаешь и когда сделаешь.
Другой вариант встрече, как описали в комментариях выше, когда собирают всех, сидит 20 человека отдела, работающие в совершенно разных проектах и задачах, но объеденные самодурством либо руководителя либо Лида, и каждый так же рассказывает, что он сделал за вчера или за неделю - бред, мне по барабану, что делал этот человек, мы с ним даже не пересекаемся, потому что он админит, а я например разрабатываю.
Лиду, руководителю, нужно, необходимо в голове его понимание и ясно дать всем понять - я вас собрал, чтобы узнать, что вы что-то делаете, чтобы потом отчитаться выше или в обратную сторону лид и рук понимает и даёт понять команде, что мы команда и собрались обсудить именно понимание и проблемы.
И повторить, даже уже ленивый и нехочущий работать, но хороший разработчик в любом стэке, не будет сидеть на попе ровно и вставлять картинки, чтобы наказать. Это хороший, правильный разраб, все равно поднимет свою пятую точку и свяжется с аналитиком или лидом, а то и с заказчиком напрямую - и так тоже бывает.
ssmaslov
08.08.2024 14:34+2У меня 50 человек в подчинении, собираю всех 2 раза в неделю, максимум по полчаса, из них 10 минут говорю я. Остальные рассказывают только про планы и конкретные проблемы. Команда получает постоянное понимание кто чемизанимается, там же набираются микрокоманды для решения проблем если они есть. Даже если человек работает над другими задачами все равно мог встречаться ранее с такой же или похожей проблемой. Остальные созвоны только точечные при крайней необходимости
mBlaze
08.08.2024 14:34+250 человек на одном собрании и максимум пол часа или полчаса на одного человека в команде?;) Не верю, как сказал бы Станиславский. Либо они все устали от этих собраний и сразу говорят - все хорошо, проблем нет. Самое странное сборище, усадить или созвонить 50 человек и чтобы большая половина не понимала, зачем))). Ну как минимум это дорого. Вы эффективный менеджер?;)
dyadyaSerezha
08.08.2024 14:34Как уже написали в соседнем комментарии, по 20 секунд на человека (20 минут на 50 человек)? Ну бред же полный. Вообще, собирать 50 человек с целью "кто что делает", это очень плохо и не эффективно. И конечно же, это демотивирует.
Насчёт же самой статьи:
А вот произошел бы созвон для уточнения задачи, всё сложилось бы иначе.
А вот написали бы вместо "какую-нибудь картинку" что-то конкретное, и даже созвона не потребовалось бы. Созвоны хороши тогда, когда они по делу и есть реальный повод что-то обсудить всем участникам созвона, именно всем.
zmeyfmru
08.08.2024 14:34+2Истина находится между крайностями. Хороший руководитель имеет индивидуальный подход к своим подчинённым, но для этого нужно немного напрягаться и быть гибче. Для одного человека частые созвоны это потеря рабочего времени, для другого, тоже потеря времени, но без этого он работать вообще не будет. Вот и должен руководитель подавить свою гордыню и лень и подходить к управлению линейными сотрудниками индивидуально.
mBlaze
08.08.2024 14:34На созвоны должны ходить все,у Лида команда не 50 человек, ну максимум пусть с десяток и то разные специализации, два аналитика, три разработчика чего-то на фронте, ещё 4 на бэк. Ну утрирую. И собраться должны все, дабы как минимум рассказать, как идёт работа по задаче, в этом же и есть обычно вся цель ежедневного собрания, давайте уже будем честными, после этого собрания с командой лид идёт на встречу с бизнесом, докладывает результаты и тому подобные вещи с планами и сроками.
А вот превращать это в цирк, мы сейчас будем всей командой решать проблемы - не нужно. Для локальных уточнений работает точечный созвон.
Более того, бывают лиды унылые, они как бы же эксперты в ранее в разработке или в саморганизации, ну в общем крутой специалист, но он не лид, но лид.и каждое утро слушать унылого лида, это скажу я вам то ещё мучение, хуже не придумать. Ты если каждое утро дейлик проводишь заряжай людей, а не грустным голосом "сегодня третий день, как мы не хотим работать"))))
mBlaze
08.08.2024 14:34Я работал в очень разных командах и более того первые 11 лет я работал в службе, служба это когда есть департамент ИТ и ты в ней служишь), когда не лид, а руководитель службы. И нам насаждали конечно аджайлы, но было понятно, мы админы были, инженеры, какие нам высокие эти канбаны. Но каждую пятницу садились и рассказывали руководителю службы, как прошла наша неделя, считай еженедельный созвон в текущих реалиях. Один бд админит, другой шарепоинт, третий повербиай вертит, два других 1С и Бэст (это про бухгалтерию). Ни разу на этой встрече мы ни чего не решили, это была самая сраная встреча, собрание,котороя могла быть. Ну вот так.
Когда уже по прошествии этих 11 лет я ушел в разработку БиАй и начал работать в почти настоящих командах, там стало понятно и что такое созвон каждое утро, и что такое микроменджмент, кто знает, тот поймет. И лидов я повидал разных и крутых и унылых, но есть созвоны которые регулярные - это статус задач. А если локальные и точечные, и я как человек с 20 летним стажем работы в айти говорю - нужны, но не более получаса, и не толпой в 20 человек людей , у вас не может быть команды в 20 человек), ну это был бы звездец, отдел 20,30,50 человек да,команда она же более компактна и должна быть на связи, а не слушать час, полтора. Я со встреч долгих чрезмерно просто отключаюсь.
ozzyBLR
08.08.2024 14:34Давайте по порядку.
Надо определиться, за что отвечает тимлид? Максимизация продуктивности команды? Ресурсные вопросы комплектации команды входят в его зону ответственности? И так далее. Это поможет сфокусироваться тимлиду на тех областях, где "кто, если не он?". Вопросы по другим областям нужно подсветить ответственным и дальше решать сообща.
Кто вообще сказал, что разработчик отвечает только за свой код? Это прописано в каких-то корпоративных политиках, гайдах для разработчиков и т.д.? Это дезинтеграция. Если разработчик приходит в КОМАНДУ с мыслью "моя хата с краю", то он не приходит в КОМАНДУ. Плёвые вопросы вроде "немного неточных" тикетов разработчик мог бы прояснить сам, всё остальное он отгружает человеку, которые отвечает за "понятные тикеты". Да, возможно будут одна-две волны митинг, уточнение критериев ясности - но потом всё должно стать красиво. Если не становится - это беда и не проблема митингов, а проблема менеджмента.
Использовать ретро для разборок "кто виноват" - это ещё более дезинтегрирующая идея. Никто не любит быть виноватым и как правило люди не стремятся стать виноватыми. А для исправления непреднамеренных ошибок публичные бичевания не очень подходят. Попробуйте внедрить культуру "blameless" ретро. Оперируйте такими понятиями как "улучшения", а не "исправление ошибок". Жизнь - это то, как мы к ней относимся. Если тимлид программирует команду на разборки на ретро, ждите срачей.
Если говорить про сами созвоны, то не стоит выносить их в какую-то супер-отдельную категорию. Вот есть созвоны. А групповые чаты? А разговоры у стола коллеги? А письма? Всё это инструменты и все они должны служить благим целям. Вопрос не в самих созвонах, а в их эффективности. Приносят ли они пользу? Эта польза получается максимальной именно в такой форме? Иногда тебе не нужен созвон, вопрос можно решить в чате. А иногда переписка заходит в тупик и проще созвониться и проговорить всё голосом. Начните с манагеров, обучите их пользоваться каждым инструментом коммуникации, выбирать подходящий в зависимости от ситуации.
Наверное, вкратце ситуацию можно было бы описать таким образом. Есть симптомы, а есть заболевания. Есть баг, а есть корневая причина. Бесполезные митинги - это симптом. Будет тимлид лечить симтом или само заболевание - вот, в чём вопрос.
xxxphilinxxx
Думается, это сильно зависит от процессов в конкретной компании - не везде же применяется конвейер с узкоспециализированными ролями и множеством отдельных этапов. Когда нет ни тимлида для руководства и коммуникаций, ни аналитика для выяснения требований, проектирования решений и распиливания их на задачи, а есть плоская структура, командная ответственность, T-shaped компетенции, полный цикл поставки и стейкхолдеры, то беспокоить могут не 10-минутные внезапные взвоны от менеджера, а, скажем, еженедельные совещания на полный день человек на 15 со подключением команды (а то и нескольких) полным составом для проработки и требований, и реализаций, или двухнедельные сессии каждый квартал для выработки квартальной цели, роадмапа и ключевых метрик; тоже полным составом департамента/команды. Вот это все плюс ритуалы фреймворка плюс обязательные/необязательные мероприятия плюс разовые контакты и т.д. может занимать в среднем часов по 20+ в неделю у линейных вообще-то сотрудников, что меняет ситуацию с "не хочу уточнять задачи" на "что-то между созвонами работать стало некогда" :)