Развитие кросс-функциональных команд в IT: как обеспечить баланс компетенций и эффективности

Разработка ПО Бизнес-процессы СМИ о нас
Публикации
Развитие кросс-функциональных команд в IT: как обеспечить баланс компетенций и эффективности
Источник: Инвест-Форсайт
Поделиться:
Андрей Кузьминов
Андрей Кузьминов
Руководитель практики разработки
Кросс-функциональные команды ориентированы на оптимизацию внутренних и внешних коммуникаций, поэтому максимально выравнивают и упрощают иерархию как внутри себя, так и во взаимодействии с внешними подразделениями. Создавая подобную команду, компания должна быть готова к постепенному отказу от строгой иерархии управления и формирования отделов.

С чего начать

Во-первых, компания должна быть готова к отказу от своей прежней структуры.

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

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

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

Какие неожиданности могут возникнуть

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

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

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

Определяем роли, ставим цели для оценки эффективности

В разработке ПО, как правило, сильно помогают фреймворки и методологии. Например, Scrum четко фиксирует набор ролей в команде. Ключевыми будут product owner, scrum master и разработчик scrum-команды. Поэтому рекомендую опираться на практики, которые де-факто стали стандартами отрасли, и адаптировать их под конкретный проект.

Кросс-функциональные команды в ИТ сегодня отвечают не только за выпуск новых фич, но и за интеграционную и эксплуатационную часть разработки ПО. Принцип «кто разработал, тот и поддерживает» встречается очень часто. Поэтому границы ответственности у команды будут единые, очерченные набором изначальных полномочий. Ведь задачи перед участниками ставятся общие, значит, и ответственность за их достижение коллективная.

Для оценки эффективности работы команды еще на старте проекта необходимо зафиксировать цели, для которых она формируется. Это может быть вывод нового продукта или генерирование идей для него, проверка гипотез и разработка функциональностей.

Оценить вклад каждого участника — задача весьма трудоемкая, так как обычно специалисты в кросс-функциональных командах выходят за рамки привычных обязанностей, помогая решать задачи смежным направлениям. Например, Java-разработчик может принимать участие и в написании тестов и формализация требований.

Выстраиваем коммуникацию

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

Сформировать бесконфликтную среду позволяет:

  • работа с культурой общения;
  • объяснение того, как работает команда;
  • фокусирование команды на решении задач и достижения целей проекта.
  • Решать спорные моменты также помогает scrum-мастер. Он не столько операционный менеджер, сколько коуч или тренер команды, который в момент притирки сглаживает острые углы и выводит коллег на нужный уровень культуры.

Поддерживаем мотивацию и сохраняем вовлеченность

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

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

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

Решаем проблемы

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

Это задача-вызов для scrum-мастера. Основной способ ее решения — создание курсов погружения в проект, материалов и способов по дообучению новых сотрудников в конкретной команде.

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

Еще одна сложность — масштабирование гибких методологий при увеличении числа команд, работающих над проектом. Для решения проблемы рекомендую применять отдельные фреймворки и технологии. К счастью, уже формализовано достаточное количество фреймворков, подходящих под применение гибких методологий большим количеством команд. Нужно опираться на эти практики, так как большинство из них базируется на обширном опыте других компаний.

Внедряем ИТ-решения для работы

Наиболее важны для кросс-функциональных команд сервисы обеспечения коммуникации как внутренних, так и внешних — с заказчиками или пользователями продукта.

Важно выбрать современные чат-платформы и ВКС-системы, которые помогают эффективно вести общение по всем каналам.

Также необходимы инструменты, позволяющие привнести DevOps-практики, а именно: непрерывную поставку, интеграцию и автоматизацию для написанного кода. Сегодня это фактически обязательное требование для кросс-функциональных команд, так как кроме оптимизации коммуникации нужно еще и оптимизировать сам процесс разработки, стремясь к максимальной автоматизации. В конечном итоге это дает возможность выдержать темп поставки изменений пользователям.

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

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

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

Как все эти процессы выстроены у нас

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

Во-первых, это проекты, в которых мы свободнее себя чувствуем, управляя дорожной картой их развития.

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

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

Формирование кросс-функциональной команды — крайне ответственная задача, и она имеет определенные требования к участникам. Если их соблюдать и опираться на ключевые правила, то вероятность успешной реализации проекта будет весьма высокой.

Хочешь работать с нами? Отправь свое резюме

Нажимая на кнопку, вы соглашаетесь с Политикой конфиденциальности персональных данных

Файлы cookie обеспечивают работу наших сервисов. Используя наш сайт, вы соглашаетесь с нашими правилами в отношении этих файлов.