The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
Несколько лет назад я написал блоговую запись о регулярных ежедневных встречах команд разработчиков программного обеспечения. С тех пор, статья получает комментарии с обеих сторон. Читатели либо 1) настойчиво соглашаются со мной, либо 2) обвиняют меня в полном непонимании смысла утренних стендап-собраний.
Моя точка зрения такова: только слабым менеджерам нужны такие встречи для координации работы команды, в то время как сильные используют более формальные инструменты для организации информационного потока. Тем не менее, как заметил кто-то, утренние собрания не предназначены для координации менеджерами, а “для обсуждения прогресса, препятствий и планирования”. Я не покупаю это.
Давайте отложим менеджера в сторону, так как многие из вас считают, что “продукт создает команда”, а не менеджер. Хотя я не согласен с этим, давайте представим себе команду, которой не нужен менеджер и которая может отлично скоординировать работу самостоятельно. Даже в этом случае я задаю тот же вопрос: почему нам нужно вставать и общаться лицом к лицу, чтобы “обсуждать прогресс и препятствия”? Почему мы не можем сделать это письменно, в чате, по электронной почте или даже по телефону? Хорошо, в идеале, конечно, мы должны использовать тикеты.
Почему «планирование на следующий день» и «обсуждение прогресса» должны проводиться лично в кругу стоя, а не через цифровые средства? Почему мы не можем обновлять друг друга о прогрессе с помощью электронного письма, информационной доски или электронной таблицы Excel? Почему планирование не может быть выполнено с помощью программного инструмента, которых сейчас полно на рынке? Что не так с регистрацией препятствий в виде заявок, их приоритизацией, назначением ответственных и последовательным их разрешением?
Ничего. Все это можно и должно делать онлайн. Для этого и были изобретены компьютеры. Все это понимают. Однако адепты Agile настоятельно верят в личные встречи, включая ежедневную церемонию scrum. Почему?
Как я сказал в Code Ahead, моей недавно опубликованной книге, единственное разумное объяснение, которое у меня есть, заключается в том, что группе необходим этот ритуал, чтобы они оставались единственными. И я имел в виду группу с слабым и неспособным менеджером управлением.
Крепкое и профессиональное руководство держит группу вместе и помогает ей достигнуть цели с помощью 1) ясно определенных личных задач и 2) несомненных мотивационных инструментов. Проще говоря, на каждый момент времени каждый точно знает, что ему нужно делать, чтобы получить то, за что он здесь.
Однако большинство групп программного обеспечения не обладает таким отличным управлением по многим причинам. Благодаря тому, как Agile уже много лет уменьшает роль управления проектами, заменяя ее лидерством и “командной работой”, многие потенциально хорошие менеджеры потеряли мотивацию работать именно в этой роли. Не нужно говорить, что талантливые менеджеры так же редки, как и среди программистов, стоматологов или дизайнеров интерьеров. Более того, отличное управление не терпит посредственности и делает ошибки видимыми, что, конечно же, противоречит интересам большинства—оно будет делать все возможное, чтобы препятствовать этому. В большинстве команд программного обеспечения попытка эффективного управления, ясно определяя цели и мотивируя результатами, скорее всего, приведет к увольнению такого смелого менеджера.
В результате большинство программистов не имеют личных целей и мотивационных инструментов: они остаются в офисе с девяти до пяти и получают повышение только раз в несколько лет, переходя в другую компанию. И у них есть начальники, наставники, тренеры, лидеры - назови это как хочешь, … вместо менеджеров.
Таким образом, как можно сохранить группу вместе и убедить программистов хотя бы притворяться, что они работают, если у них нет личных обязанностей, их мотивация близка к нулю, и их нельзя уволить, потому что стоимость найма новых очень высока? Кроме того, новые будут вести себя точно так же, потому что это наиболее эффективное поведение для них, когда руководство слабое (или отсутствует). Какой инструмент можно использовать, чтобы заставить их работать?
Guilt.
Это эмоция является одной из нескольких фундаментальных. Большинство людей чувствуют ее после нанесения вреда кому-то и стараются избегать этого. Программисты, стоящие в очереди каждое утро и вынужденные объясняться, неизбежно чувствуют вину: за ошибки, за помехи, за отсутствие прогресса, за свой наряд, за свою речь, за многое другое. Неважно, за что они чувствуют вину; главное - регулярно заставлять их чувствовать себя позором перед другими, даже если они этого не заслуживают. Эта эмоция возникает, когда группа слушает, а отдельное лицо говорит, даже если говорящее лицо не наносит реального вреда группе. Code Ahead приводит ряд научных статей, подтверждающих это, но не нужно иметь докторскую степень по психологии, чтобы понять, насколько уязвимым и страшным может быть положение того, кто говорит перед группой (я могу подтвердить это как обычный публичный диктор). Вина возникает, и программист чувствует, что его действия могут вызвать или уже вызвали проблемы для других. Программист возвращается к компьютеру и начинает работать усердно, без каких-либо целей или мотивации. Кроме как не подвести маму других!
Наоборот, сильное и компетентное управление использует формальные механизмы награды и наказания, чтобы выровнять личные цели каждого члена команды с бизнес-целями, которые команда пытается достичь. Вот несколько примеров такого механизма (награды и наказания смешаны вместе):
За каждое успешное развертывание вы получаете $120.
Когда этот модульный тест исправлен, вы получаете $200.
Каждый раз, когда сервер недоступен более 5 минут, вы теряете $500.
Вы проводите собеседование с новым программистом на Java и получаете $100.
Вы получаете $75 за каждую критическую ошибку, которую сможете найти.
Если вы не исправите эту заявку в течение 3 дней, вы не получите за нее оплату.
Для того чтобы внедрить такую явную и недвусмысленную систему мотивации, руководство должно быть достаточно умным и сильным. Кроме того, это потребует много работы и может привести к серьезным проблемам с командой, поскольку, как уже упоминалось выше, большинство средненьких будет пытаться ее подорвать.
Встречи, особенно утренние стендапы, являются «идеальной» заменой, поскольку они позволяют регулярно унижать программистов, вызывая их врожденное чувство вины, которое отправляет такие или подобные сигналы в их мозги:
Не переставайте работать, вы разочаруете команду!
Не открывайте Facebook, это расстраивает всех!
Работайте над этим тикетом, мы полагаемся на вас!
Разверни это быстрее, не подводи нас!
Будьте хорошим мальчиком/девочкой, не заставляйте нас ждать!
Если вы не исправите это сейчас, завтра утром вам будет стыдно!
Каждое утреннее стендап-собрание - это освежающая порция чувства вины, которая нужна каждому программисту для поддержания “мотивации” и “активности”. Именно поэтому они являются “более эффективными” по сравнению с цифровыми и формальными потоками информации.
Возможно, в будущем мы найдем способ доставлять чувство вины в виде небольшой таблетки, которую каждый программист должен будет проглотить утром. Пока такая таблетка не изобретена, продолжайте проводить утренние стендапы.
Who needs regular status meetings? #codeahead
— Yegor Bugayenko (@yegor256) September 8, 2019
Translated by ChatGPT gpt-3.5-turbo/35 on 2023-09-15 at 15:14