Скучно ли вам встречи стоя?

Вам скучны встречи на открытом воздухе? Я недавно встретил девушку на вечеринке. Она все время говорила о себе, не слушая, что я говорю. Излишне говорить, что в ту ночь я вернулся один, с пустыми руками. В следующий понедельник я почувствовал то же самое на своем митинге. Все разработчики стремились поделиться своими успехами, и никто не слушал их товарищей по команде и не заботился о них.

Я старший разработчик / руководитель группы в инвестиционном банке в Гонконге. Я возглавляю небольшую команду из 6 разработчиков для стойки администратора.

Помимо скучных и бесполезных фуршетных встреч в нашей команде были и другие проблемы:

  • Истории с высоким приоритетом были представлены поздно во время спринта. Иногда их даже перекатывали на следующий спринт.
  • Нам не хватало прозрачности внутри команды. Было трудно понять, почему пользовательская история, кажущаяся небольшой, оставалась активной в течение нескольких дней: мы ее недооценили? Была ли история неправильно понята? Было ли это чрезмерно спроектировано? Отсутствие прозрачности со временем может привести к потере доверия внутри команды.
  • И между проверками кода и исправлениями каждого из наших запросов на вытягивание было потрачено много времени.

На одной из ретроспектив мы решили изменить методологию и попробовать что-то новое. Раньше я тестировал парное программирование, и у меня были трудности с этим. Я твердо верю в практику, но мои глаза чувствительны к изменению яркости (без шуток). Работа на чужом ПК с другими настройками яркости после 16:00 вызывает у меня сильную головную боль.

На этот раз мы попробовали User Story Pairing: 2 или 3 разработчика работают вместе над одной историей за раз. Наши пользовательские истории достаточно малы, чтобы один человек мог завершить их самостоятельно, но также и достаточно велики, чтобы разделить работу между двумя или тремя разработчиками.

В первые часы мы садимся вместе, обсуждаем и согласовываем дизайн. Затем приступаем к парному программированию на одном ПК. Мы вместе пишем скелет решения: интерфейсы, сигнатуру общедоступных методов, дизайн API и несколько модульных тестов. Затем группа распределяет задачи между собой. Мы все идем сами по себе, чтобы решать свои задачи. Требуется быстрая и частая интеграция, но это не проблема, поскольку у нас есть отдельная ветка функций, и мы все сидим рядом друг с другом.

Группа несет ответственность за историю, пока она не будет запущена в производство. В течение этого периода нам разрешено делать все, что мы считаем лучшим, чтобы рассказать историю. Например, бывает так, что я изолируюсь со своими сверстниками в комнате и занимаюсь программированием мобов на большом экране.

Никогда не может быть более двух или трех рассказов одновременно. Мы никогда не начинаем новую историю, пока не будет завершена текущая: то есть выпущена в производство. Мы доставляем часть нашей продукции почти каждый день. Поскольку мы начинаем с самых важных историй, нам больше не приходится иметь дело с высокоприоритетными историями, перенесенными в следующий спринт.

Наличие менее 2 или 3 историй одновременно (для команды из 6 человек) дает и другие преимущества. Стенд-ап встречи гораздо более целенаправленны. Чем меньше тем для обсуждения, тем больше вовлеченности команды во время встречи. Мы даже не смотрим на свою доску схватки, потому что все знаем, кто что делает.

Это также увеличивает прозрачность внутри команды и сокращает время, затрачиваемое между проверками и исправлениями запросов на вытягивание.

Тесное сотрудничество с кем-то еще способствует обмену знаниями. Даже будучи старшим, мне еще есть чему поучиться, работая в паре с коллегами. Мы делимся всем, от лучших практик до новых ярлыков в IntelliJ, понимания бизнеса и исходного кода в нашей системе. Постоянно учиться друг у друга - это весело.

Прошло несколько спринтов, и команде это нравится. Импульс высок. Мы заметили рост производительности команды, и наши заинтересованные стороны, в том числе владелец продукта, стали более довольны. Мы перешли от команды с недостаточной прозрачностью и скучными стоячими встречами к команде, гораздо более заинтересованной и эффективной, с одним простым изменением: User Story Pairing.

Мы достаточно страдали от тех людей, которые всегда говорили о себе и никогда не слушали. Положите этому конец на следующем митинге.