Agile: как превратить разрозненные отделы большой компании в команду единомышленников

Agile Development – работа с Agile в распределенной команде

Agile: как превратить разрозненные отделы большой компании в команду единомышленников

Несмотря на то, что agile-процессы набирают все большую популярность во многих средах разработки программного обеспечения, некоторые предприятия до сих пор не приняли Agile в связи с различным типами проблем, особенно если дело идет о его использовании  с распределенными командами. В этой статье мы поговорим о  препятствиях использования Agile в распределенной командной среде и о способах их преодоления с помощью так называемого «de-Agile».

Совместное размещение и распределенные команды

Совместное размещение команд способствует максимизации личного общения.  Работа в одном помещении является основной для всех методологий Agile, включая scrum.

Как сказал Кен Швабер (Ken Schwaber), автор The Enterprise и Scrum: «Лучшее общение происходит лицом к лицу, когда собеседники могут видеть выражение лица, жестикуляцию, чувствуют интонацию друг друга.

Когда для разработки группе предоставляется только электронная доска, пропускная способность связи сильно барахлит».

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

В опросе State of Agile за 2010 год, проведенном VersionOne, половины респондентов заявили, что в настоящее время они используют Agile как при работе с совмещенными, так  с распределенными командами, или планируют использовать его в ближайшее время.

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

Информация в остальной части этой статьи объяснит, как это сделать.

De-Agile для распределенных команд

De-Agile подразумевает адаптацию Agile для соответствия вашей команде, устранение бессмысленных процессов и настройку тех, которыенеобходимо изменить в соответствии с вашими потребностями. В распределенной командной среде de-Agile в основном занимается устранением ощущения удаленности.

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

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

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

В следующих разделах приведена особенно полезная информация для включения de-Agile для распределенных команд.

Оптимизируйте размер и состав команды

Эффективная распределенная разработка Agile сводится к минимизации влияния распределения.

Стандартные Agile-процессы хорошо работают для групп от 10 до 15 человек, но что делать, если ваша команда намного больше?  Стратегии работы “лицом к лицу” перестают действовать по мере роста численности команды, а распределенность команды начинает охватывать несколько часовых поясов.

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

Поиск правильного сочетания талантов в каждом месте имеет решающее значение при распределении команды.

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

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

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

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

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

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

Распределите работу равномерно

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

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

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

Источник: http://spbdev.biz/blog/agile-development-rabota-s-agile-v-raspredelennoi-komande

Ваша работа
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: