Как менеджер по продукции компании Пол Луппино заключил соглашение с Microsoft на выпуск нового релиза LiveVault. Контракт предполагал, что Microsoft начнет обеспечивать своих клиентов внеофисным хранением резервных данных к февралю 2008 года. Компания Iron Mountain предложила Полу стать менеджером по разработке этого продукта. Трудиться над ним предстояло в течение шести месяцев.
Пол был прижат к стенке, и его работу еще более затрудняло то, что ему приходилось управлять командами разработчиков, расположенных в разных местах. У Пола было множество партнеров, корпоративные обязательства, необходимость соблюдения даты выпуска, подавленная неудачами команда и 12 месяцев истории постоянных провалов.
Он слышал о Scrum, поэтому немедленно заказал обучающие курсы для всех участников проекта в Iron Mountain и одновременно начал разработку итераций. Пол не знал, какие у него могут возникнуть проблемы, но он знал, что, если все исследовать и обдумывать планы, могут пройти месяцы. Он решил начать разработку сразу, а проблемы решать по мере их поступления. Итерации позволят ему и Iron Mountain знать в пределах 30 дней, есть ли у них проблемы и выполним ли проект.
Все испытывали трудности из-за физической дистанции между командами разработчиков. Видеоконференции были дорогими, Skype работал недостаточно хорошо, и расходы на переезды также очень высоки. Каждый участник координировал свою работу во время ежедневных совещаний (используя дорогостоящие видеоконференции, электронную почту и инструменты социальных сетей), связывающих разработчиков из Iron Mountain в Массачусетсе, разработчиков Microsoft в Индии и менеджеров Microsoft по продуктам в Вашингтоне, чтобы оценивать прогресс в разработке и вносить изменения в дальнейшие планы.
Все менеджеры проверяли прогресс в создании инкремента каждые 30 дней. Сначала люди, находясь в разных местах, изучали законченный инкремент и затем в формате телеконференции обсуждали прогресс и проблемы, а также планировали объем работы для следующей итерации. Обучающие курсы помогли каждому стать более организованным. Пол обновил рабочее пространство в Iron Mountain, чтобы команда разработки стала более продуктивной и эффективной. Потери от нескоординированной работы, которую приходилось переделывать, были устранены. Потери от ручного тестирования, которое можно делать автоматически, также были устранены. Высшее руководство Iron Mountain решило развивать LiveVault. Новая маркетинговая программа и усилия по продвижению были запущены. Еще три релиза выпустили в течение следующих шести месяцев.
Подумайте, что вы хотите сделать
Вернемся к истории финансовой организации из Огайо, вице-президент которой расположил команду разработки рядом со своим офисом. Он поделился своими идеями о приложении и сказал, что хочет проверить эмпирический процесс разработки, чтобы узнать, поможет ли он быстро создать приложение. Члены команды провели целый день, узнавая друг о друге. Они анализировали, как может выглядеть приложение, и выбрали первоначальный внешний вид пользовательского интерфейса. Они оценили требования по защите, производительности и стабильности будущего приложения и составили список того, что приложение сможет делать, когда будет закончено, и что они, по их мнению, смогут реализовать за три месяца итераций.
Команда решила, что, для того чтобы оценить, будет ли разработка осуществимой, они должны выяснить в течение первой итерации следующее.
1. Может ли команда разработки создать приложение в рамках существующей технологии?
2. Можно ли приложение эффективно подключать к функционалу портала без использования интерфейса интернет-портала?
3. Как должно выглядеть это приложение?
Члены команды определили, что должно быть выполнено и какой функционал должен быть реализован, чтобы ответить на эти вопросы. Программа-минимум состояла в том, чтобы получить на экране страницу регистрации, но отклонять идентификационные данные пользователя. Максимальная же цель была в том, чтобы регистрация работала и открывала функционал портала в приложении.
Пять членов команды никогда не работали вместе, кроме того, ни один из них никогда не работал с таким типом приложений и технологий. У них было много предложений и возражений. Чем больше они разговаривали, тем больше сталкивались с трудностями совместной работы. Необходимость создать инкремент по окончании итерации добавляла больше стресса.
Чрезвычайно важны обсуждения, за которыми стоят сильные чувства участников. Но такие обсуждения возможны только тогда, когда все ощущают себя защищенными. Каждый должен чувствовать, что его мнение будет принято с уважением. Каждый должен иметь возможность спорить, не соглашаться и бороться за применение лучшего подхода к решению проблемы. Менеджер пилотного проекта уже проходил это раньше. Он рассказал членам команды об уважении и помог создать правила этикета общения в команде. В соответствии с ними было запрещено отбрасывать идеи и мнения других, относиться друг к другу пренебрежительно и использовать оскорбления. Без этих и других правил работа в команде в открытом общем офисе может стать трудной.
Сделайте маленький фрагмент работы полностью
Первоочередной задачей проекта стало планирование того, как будет выглядеть приложение. Следующий шаг – планирование того, как команда начнет превращать дизайн приложения в работающее программное обеспечение.
Команда должна была подводить ежедневные итоги и давать оценку тому, что сделано в течение дня и какие проблемы возникли, а также решать, каким наиболее важным задачам будет посвящена завтрашняя работа.
День за днем члены команды подгоняли друг к другу различные фрагменты общей головоломки. Они учили приложение подсоединяться через операционную систему смартфона к интернет-приложению портала. Кроме того, определяли коммуникационные протоколы для взаимодействия и разбирали, как активировать функциональные возможности входа в систему на портале. Вице-президент и менеджер пилотного проекта напомнили, что приложение должно быть защищенным, стабильным и производительным. Члены команда провели ряд тестов, чтобы оценить эти характеристики, и внесли изменения в программное обеспечение, чтобы соответствовать этим требованиям.
Примечание: сотрудники IT-отдела постоянно приходили в офис команды разработки с различными просьбами и мешали команде. Менеджер проекта попросил их всех уйти и решать свои проблемы где-нибудь в другом месте.
Даже то, что, казалось бы, вызывает незначительную задержку, может снизить общую эффективность команды более чем на 50 %. Вице-президент знал, что висит на крючке у руководства, желающего проверить эффективность эмпирического процесса, и не хотел все испортить из-за того, что его сотрудников отвлекают.
Оцените, что бы вы хотели сделать дальше
Команда разработала часть программного обеспечения для приложения к концу итерации. Теперь кто угодно мог скачать приложение на смартфон, запустить его и увидеть такую же страницу входа в систему, которую видят пользователи портала. Приложение работало стабильно, отвечало всем требованиям и было готово к дальнейшему безопасному улучшению. Несмотря на то что члены команды разработки надеялись добавить больше функционала, чем просто вход в систему, они были довольны полученным результатом, так же как и вице-президент.