• Чаще синхронизируйтесь. Если вы работаете в отдельной ветке, синхронизируйтесь каждый раз, когда вы хотите что-либо построить. Каждый день, когда вы начинаете работу, синхронизируйтесь с главной ветвью разработки, так чтобы ваша ветка была в адекватном состоянии и учитывала все изменения, сделанные другими группами. Даже если это приведет к кошмару слияния (merge-hell), учтите, что все могло бы быть еще хуже, если бы вы затянули слияние.

Ретроспектива для нескольких команд

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

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

А на планировании (где присутствуют все команды, так как мы стараемся синхронизировать спринты всех команд, которые работают над одним продуктом), мы первым делом выслушиваем представителей каждой команды, на тему наиболее важных моментов последней ретроспективы. Выходит примерно по 5 минут на команду. После этого проводим свободное обсуждение минут на 10–20. И, собственно, только потом начинается планирование спринта.

Мы не пробовали никаких других способов, потому что и такой подход работает достаточно хорошо. Однако, самый большой недостаток этого подхода, состоит в отсутствии возможности немного передохнуть между ретроспективой и началом планирования (см. стр. 55 «Отдых между спринтами»).

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

Как мы управляем географически распределёнными командами

Что же делать, если участники команды находятся в географически разнесённых местах? Большая часть «магии» Scrum'а и XP основана на совместном тесном взаимодействии участников команд, которые программируют парно и встречаются лицом к лицу каждый день.

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

Наша политика относительно распределённых команд очень простая. Мы используем все возможные способы, чтобы максимизировать пропускную способность средств связи между физически разделёнными участниками команды. Под «пропускной способностью средств связи» я понимаю не только Mbit/sec (хотя это тоже важный показатель). Я имею в виду пропускную способность средств связи в более широком смысле:

1. Возможность практиковать парное программирование.

2. Возможность встречаться лицом к лицу в ходе ежедневного Scrum'а.

3. Возможность увидеть друг друга в любой момент.

4. Возможность личных встреч и живого общения.

5. Возможность проводить незапланированные совещания всей командой.

6. Возможность видеть одни и те же версии sprint backlog, sprint burndown, product backlog’а и других источников информации по проекту.

Вот некоторые меры, предпринятые нами (или предпринимаемые в настоящий момент) для достижения цели:

• Web-камера и наушники с микрофоном на каждой рабочей станции.

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

• «Удалённые окна». Большие мониторы в каждом офисе, на которых постоянно можно видеть, что происходит в других офисах. Что-то типа виртуального окна между двумя отделами. Можно стоять перед ним и наблюдать. Например, кто на своём рабочем месте или кто с кем разговаривает. Всё для того, чтобы создать ощущение, что все находятся вместе.

Используя эти и другие техники, мы медленно, но уверенно начинаем понимать, как проводить планирование спринтов, демонстрации, ежедневные scrum'ы и пр. в географически распределённых командах.

Как обычно, главное — не прекращать экспериментировать. Обсуждение => адаптация => обсуждение => адаптация => обсуждение => адаптация => обсуждение => адаптация => обсуждение => адаптация.

Оффшорная разработка

У нас есть несколько оффшорных команд. Мы экспериментировали с тем, как эффективно ими управлять, используя Scrum.

Существуют две основных стратегии: удаленные команды и удаленные участники команд.

Первая стратегия — удалённые команды — очевидный выбор. И всё-таки, мы начали с использования второй стратегии — удалённые участники команд. На то существует несколько причин.

1. Мы хотим, чтобы участники команд лучше узнали друг друга.

2. Мы хотим, чтобы была налажена эффективная коммуникация, и чтобы команды поняли её важность.

3. На начальной стадии оффшорная команда слишком маленькая, чтобы самоорганизоваться в эффективную scrum-команду.

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

В долгосрочной перспективе мы вполне можем перейти к стратегии «удалённые команды».

Члены команды, работающие дома

Работа дома иногда может быть действительно эффективной. Порой, за один день дома можно сделать больше, чем за всю неделю на работе. По крайней мере, если у вас нет детей: o)

Однако, усадить команду вместе — одна из основополагающих идей Scrum'а. И что же делать в этом случае?

Чаще всего мы позволяем команде решать, как часто и когда именно её члены могут работать дома. Некоторые люди регулярно работают дома, так как живут далеко. И всё-таки, мы стараемся делать так, чтобы большую часть времени команда проводила вместе.

Когда члены команды работают дома, они участвуют в ежедневном Scrum'е, используя Skype- конференции (иногда видео конференции). Они доступны в чате в течение всего дня. Не так хорошо, как находиться в той же комнате, но этого достаточно.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату