Я работаю в стартапе, где я начинал как единственный разработчик 3 года назад, а сейчас руковожу командой разработчиков. Всего 15 сотрудников, 8 из которых инженеры:
В настоящее время мы просто создаем приложение для iOS.
Мы начинаем немного взрослеть, и теперь у нас есть UX-дизайнер, руководитель продукта, руководитель отдела маркетинга и так далее. После длительного периода разработки продукта и нескольких очень длинных циклов выпуска мы хотим начать итерации быстрее.
Мои цели:
чтобы команда работала над 2 или 3 вертикальными срезами функций параллельно.
чтобы иметь возможность выпускать эти функции каждый спринт
повысить ответственность и подотчетность в команде
Проблемы, которые я вижу:
Ощущение «сверху вниз» — большая часть командного общения идет через меня. т.е. если у бэкэнд-разработчика есть проблема с каким-либо компонентом iOS, он может спросить меня, и тогда я поговорю с разработчиком iOS, а затем передам информацию обратно.
Стендапы кажутся несфокусированными — поскольку у нас есть 8 разработчиков, работающих над разными «частями», стендапы не кажутся очень полезными, потому что на самом деле в команде нет единых усилий.
Перебрасывание через забор. После планирования спринта все склонны замыкаться в себе. Мы обсудили, что нужно доделать, но разработчики склонны уходить в свои миры и, например, не брать на себя инициативу обсуждать интерфейсы между фронтом и бэкендом, бросая вещи через всю стену на QA (что обычно приходит ко мне с нашим продуктом). владелец) и др.
Вопрос: Мне интересно, есть ли смысл на данный момент разделить команду на две кросс-функциональные группы? Я надеюсь, что это приведет к следующему:
Я полагаю, что все вышеперечисленное может быть выполнено в контексте одной большой команды, но я пока не смог найти хороший способ сделать это.
Есть несколько вещей, которые выделяются из вашего вопроса:
чтобы команда работала над 2 или 3 вертикальными срезами функций параллельно
Почему вы рассматриваете параллельную работу как цель? Обычно выполнение параллельной работы обходится вам с точки зрения эффективности из-за накладных расходов на переключение контекста.
если у бэкэнд-разработчика есть проблема с каким-либо компонентом iOS, он может спросить меня, и тогда я поговорю с разработчиком iOS, а затем передам информацию обратно.
Это проблема общения. Команда обсуждала это?
Стендапы чувствуют себя расфокусированными
Команда обсуждала это? Пробовали ли они что-нибудь, чтобы сделать стендапы лучше?
После Планирования Спринта все склонны замыкаться в своих силосах.
Здесь должно помочь исправление проблем со стендапом.
Я бы сказал, что самое большое улучшение, которое вы можете сделать прямо сейчас, — это начать обсуждать вещи в команде.
Возможно, разделение на две команды имеет смысл, но это решение лучше всего принимается самой командой, а не отдельным человеком.
судя по тому, что вы описываете, я не думаю, что у вас есть проблемы с размером вашей команды. 5+3 вроде нормально. Может быть, мне следует добавить несколько комментариев к вашим пунктам, чтобы вы поняли, почему я думаю, что ваша проблема заключается в чем-то другом:
Цель 1 и 2. Как вы думаете, почему вам нужно обрабатывать 2–3 вертикальных среза одновременно? Если ваши циклы выпуска в настоящее время слишком длинные, способ ускорить цикл — обрабатывать меньше потоков за раз. Также рекомендуется не обрабатывать один поток одним человеком.
Я думаю, что это распространенная и широко распространенная проблема — обрабатывать слишком много историй одновременно и надеяться, что это ускорит работу. Это не. Это приведет к разделению вашей команды на отдельных разработчиков, каждый из которых занимается своим делом.
Проблема 1 : Ваши разработчики в одной команде? Если да, то почему специалист по бэкэнду должен спрашивать вас о том, что сделал iOS-разработчик? Есть ли у них общая цель? Они должны попытаться выполнить свою общую цель вместе. Если потом они обнаружат, что что-то не ясно, и им потребуется обратная связь от PO, им следует обратиться к вам. Вместе.
Проблема 2 : см. комментарий к цели 1 и 2. Если все работают над разными частями чего-то, у вас на самом деле нет настройки команды. У нас также есть одна команда , которая делает это таким образом, не имея командной работы и создавая технический отдел, потому что им нужно быть «быстрыми».
Выпуск 3 : Да, также отсутствует командный дух. Это похоже на типичную ресторанную проблему. Сервис и повара не работают вместе, в худшем случае ведут свои маленькие войны и выясняют, кто виноват, и перекладывают работу на другую сторону.
Я надеюсь, что мои комментарии ясно показывают, что разделение команды — это не решение. Из того, что вы описываете, я не могу дать вам простое решение. Обычно разработчики iOS и бэкенда должны посвятить себя истории вместе. И если они этого не достигают, оба вместе терпят неудачу.
Более того, если ваша работа разделена так, что каждый делает свою маленькую историю, это также может быть проблемой личных симпатий и антипатий. После некоторого раунда нагнетания чувства вины люди становятся предвзятыми друг к другу. Ситуация усугубляется, если одни и те же люди снова и снова обсуждают одну и ту же тему.
Тодд А. Джейкобс
Барт ван Инген Шенау