Как небольшая команда разработчиков может одновременно поддерживать множество продуктов?

Я работаю инженером-программистом в команде из 5 разработчиков, которые разрабатывают и поддерживают 4 разных проекта.

  • В основном я отвечаю за 2 продукта:

    • продукт «мусорного ПО» и некоторая часть устаревшей системы.
    • решение для синхронизации, которое синхронизирует информацию о клиентах с многоуровневой CRM
  • 1 разработчик и 1 стажер работают над приложением для финансового анализа

  • 1 разработчик и 1 стажер работают над HR-приложением, измеряющим продуктивность бухгалтеров.

Я своего рода техлид и скрам-мастер в команде, но не полностью:

  • Раньше у меня были задачи разработки в других продуктах. Но сейчас я больше сосредоточен на своих старых.

  • Я помогаю другим разработчикам принимать технические решения. Но они также могут принимать собственные решения, если захотят.

  • Я не обязательно участвую во всех дискуссиях, владелец продукта (генеральный директор) может напрямую связаться с разработчиком и дать ему задание или уточнить вопросы.

  • Разработчик может связаться с дизайнером, чтобы обсудить UI и UX.

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

  • Я чувствую себя немного сбитым с толку, потому что они знают подробности лучше меня.

  • Я также отвечаю за представление и обсуждение состояния разработки продуктов на собраниях руководства (генеральный директор не может играть эту роль на этих собраниях).

Я единственный разработчик, который может работать над 4 продуктами. Другие разработчики работают исключительно в одном продукте. Они не знают о других продуктах (особенно шахтах).

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

Похоже, что SCRUM не соответствует нашим потребностям, и мы более гибкие, чем он ??

Я думаю, что моя команда работает над многими проектами одновременно, и в последнее время мы редко проводим код-ревью.

Стоит ли просить менеджера чередоваться и работать только над двумя продуктами вместо 4 во время спринта или релиза?

Должны ли мы разделить команду на 3 и переопределить обязанности и роли?

Есть ли другие решения?

Ответы (2)

Если у вас есть команды, которые работают только над одним проектом, вы можете оставить их на итерациях Scrum. Если они могут планировать и выполнять работу, не слишком полагаясь на внешние ресурсы (я имею в виду «вы» здесь), тогда отлично, пусть они это делают. Из того, что я понял из вашего вопроса, кажется, что это не главная проблема, а тот факт, что вы являетесь общим ресурсом со своими собственными проектами и с обязанностями на собраниях руководства.

Если вы разделяете свою работу на четыре направления, «вы» не можете использовать Scrum.

  • Вы могли бы сделать, как вы говорите. Продолжайте использовать Scrum и переопределяйте роли и обязанности, а также реорганизуйте команды, в основном пытаясь создать отдельные команды для каждого продукта, при этом вы занимаете «более высокую» позицию в качестве роли менеджера/консультанта/поддержки или того, что подходит для работы по поддержке. что ты делаешь, или...
  • вы позволяете другим командам использовать Scrum в своих проектах, в то время как для двух проектов, которыми вы занимаетесь + дополнительная поддержка, «вы» переключаетесь на Kanban. Это позволит вам лучше визуализировать то, что происходит со всем, получить больше информации и знаний, а затем принять более обоснованные решения.

Scrum может быть решением, а может и нет (например, выполнение Scrum с командами всего из двух человек может быть немного тяжелым с точки зрения процесса, и в то же время слишком легким для всех необходимых навыков, которые должны присутствовать в каждой команде). без необходимости просить других о помощи и поддержке).

Что бы вы ни решили делать, вам нужно проанализировать всю ситуацию и увидеть, где болевые точки, и только потом решить, что делать: продолжать использовать Scrum во всех командах, реорганизовать команды, реорганизовать роли, использовать Канбан во всех командах, использовать и то, и другое. Канбан и Скрам и др.

Спасибо за Ваш ответ. Что вы думаете о том, чтобы заставить моих коллег работать над всеми 4 проектами? поначалу может быть сложно, но команда будет более сплоченной, а проверка кода будет более эффективной.
Я бы посоветовал вам, чтобы каждый разработчик работал над всеми проектами — «команды из одного человека не бывает». Конечно, вы не будете продвигать каждый продукт с каждым циклом, но вы не хотите иметь продукт, над которым регулярно работает «только один» человек и, следовательно, единственный, кто его понимает.
@redala: распространение ноу-хау между большим количеством людей — это всегда хорошо. Это увеличивает коэффициент автобуса . Прямо сейчас похоже, что ваш фактор автобуса равен 1 во всех проектах. Но, конечно, это не все достижения. Вы также потеряете некоторое время на обучение людей, потеряете некоторое время на переключение контекста людей между проектами (вместо того, чтобы сосредоточиться только на одном), вы можете не продвигать каждый проект с каждым циклом, как упоминает Майк Робинсон в предыдущем комментарии, и т. д. Итак. вам нужно найти правильный баланс между тем, что вы получаете, и тем, что вы теряете, если вы это сделаете.

Стоит ли просить менеджера чередоваться и работать только над двумя продуктами вместо 4 во время спринта или релиза? Да, это короткий ответ.

Работа со многими продуктами одновременно, как с общим ресурсом, всегда будет сложной задачей, независимо от того, какой способ работы вы применяете (например, в данном случае Scrum).

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

В зависимости от того, насколько строго команды используют Scrum, теоретически они все равно не должны работать над несколькими продуктами, поскольку Scrum не предназначен для конфликтующих приоритетов таким образом — вместо этого они должны работать над одним невыполненным заданием, на котором следует сосредоточиться. один продукт, и у каждого спринта есть цель и т. д. и т. д. Если это так, то способ организовать время состоит в том, чтобы выделить X количество историй/очков историй на каждый продукт.

Самая большая проблема при работе над несколькими вещами одновременно — это стоимость переключения контекста. Сокращение работы над двумя, а не над четырьмя продуктами поможет сократить потери времени, усилий и энергии, поскольку вам придется думать только о двух вещах, а не о четырех!

Уменьшение также может помочь создать лимит WiP (незавершенное производство). Часто, когда происходит нагрузка, может быть полезнее замедлиться и взяться за дело по одному, а не иметь несколько вращающихся тарелок, так как тогда вы можете сосредоточиться, собраться и выполнить работу.

Должны ли мы разделить команду на 3 и переопределить обязанности и роли?

Похоже, это было бы очень полезно как для вас в вашей роли, так и для членов вашей команды. Это поможет избавиться от некоторых дел, чтобы вы не чувствовали, что вам нужно постоянно проверять, а также даст другим возможность принимать собственные решения, не полагаясь на вас так сильно. В Интернете есть много ресурсов для простых сеансов R + R, посмотрите этот или напишите мне в DM, и я могу поделиться с вами простым в использовании шаблоном.

Есть ли другие решения?

Мне интересно, нужно ли обсуждать более широкую реорганизацию? А также R+R с более высокого уровня? например, попросить генерального директора отступить и позволить команде продолжить свою работу, не отвлекаясь. Трудно сосредоточиться и что-то сделать, если начальник всегда вставляет: «сделай это сейчас/сейчас/вместо этого».

В зависимости от того, насколько вы велики, плоские иерархии могут способствовать сотрудничеству и разрушению барьеров или способствовать анархии. Так что, если вы растущая организация, возможно, стоит подумать о внедрении некоторых ступеней. Не для того, чтобы создать культуру «должно быть одобрено», а для того, чтобы помочь определить R + R, чтобы вы все могли сосредоточиться на своей работе. Возможно иметь как иерархию, так и сверхоткрытую, честную культуру сотрудничества!

Надеюсь, это полезно!

РЛ.

Спасибо, это помогает. Я только что попросил генерального директора провести реорганизацию и обсудить R+R. Я также планирую изменить и не продолжать поддерживать свои основные продукты (я делал это в течение 3 лет)
Большой! Удачи в продвижении!