Время — деньги. Создание команды разработчиков программного обеспечения
Шрифт:
Сбор и распространение информации между участниками группы — ключ к эффективному исполнению плана проекта. В этом разделе я покажу, как лучше всего собрать сведения о состоянии проекта и довести их до сведения каждого, не таская всю группу по собраниям из-за мелочей, и избежать различных накладок. И, что важнее всего, вы узнаете, как с помощью собранной информации увидеть проблемы до того, как они станут причиной крупных задержек или существенных трудностей.
Как сказано выше, ежедневные сборки программы и базисные тесты —
Кроме того, необходимо проводить базисные тесты, критичные для регулярной (ежедневной) оценки базового, качества ПО. Обнаруженные проблемы надо сразу решать, поступать иначе — то же самое, что сидеть сложа руки, когда самолёт быстро снижается.
В той или иной форме контрольные собрания проводятся почти в каждой группе. Контрольные собрания — замечательный способ сбора и распространения ключевой информации о состоянии проекта, поддержания контактов и совместной работы в коллективе. Но если контрольные собрания проводятся плохо, они могут до смерти наскучить людям, породить ощущение беспомощности и нарушить сплочённость группы. Ниже перечислен ряд правил, придерживаясь которых, можно извлечь из контрольных собраний максимум пользы.
• У собрания должна быть определённая цель
На контрольном собрании участники группы сообща обсуждают крупные достижения, неудачи и трудности. Сосредоточьтесь на том, что удалось и что не удалось. На собрании также поднимают важные проблемы, требующие внимания одного или нескольких участников группы.
• На собраниях должны быть все
На контрольном собрании должны быть все участники реализации проекта. К ним относится основной состав группы (см. главу 4): менеджер проекта, разработчики, тестировщики, специалисты по обучению пользователей и технологи.
• Не посвящайте собрание решению частных проблем
Собрания часто становятся местом встречи нескольких участников группы, которые хотят обсудить свои проблемы. Несомненно, эти проблемы важны и требуют разрешения, но контрольное собрание — не место для «мозговой атаки», решения технических и других серьёзных вопросов. Если попытаться охватить проблемы всех участников группы, то лучшую часть дня придётся потратить на собрания, при этом значительная часть времени остальных участников группы будет потеряна зря: люди должны знать суть решения, а не его подробности.
Должен ли каждый разработчик отсиживать на собрании, посвящённой новому формату электронной справки? Должен ли каждый тестировщик выслушивать, как разработчики обсуждают набор изменений в API? Нет. Если проблему нельзя решить за две минуты, для её решения надо провести отдельное собрание, пригласив только тех, кого эта проблема касается. Решения, выработанные на собраниях, посвящённых частным проблемам, следует доложить на общем контрольном собрании. Не используйте общегрупповые контрольные собрания для решения частных проблем.
Столь же неправильно докладывать на контрольном собрании о всех задачах, над которыми пришлось работать за неделю. Нужно лишь сказать, идёт ли разработка проекта по намеченному
пути. Если нет, надо перечислить причины, всё остальное несущественно.• Не затягивайте собрание
Контрольные собрания должны быть краткими и проводиться чаще. Рекомендуется проводить их хотя бы раз в неделю, предоставляя каждому участнику группы пять минут на доклад о состоянии дел в вверенной ему области с учётом вышеописанных требований. Организатор собрания (обычно это менеджер проекта) должен поддерживать обсуждение в определённом русле и не позволять ему переходить на отвлечённые темы. Однако все важные вопросы, поднятые любым участником группы, следует внести в список проблем проекта.
• Ведите список нерешённых проблем
Во время реализации проекта обычно возникают проблемы, которые надо решать. Чтобы не забыть о них, в главе 5 я рекомендовал регистрировать такие проблемы, назначать ответственных за их решение и обязательно разъяснять найденное решение другим. Аналогичную концепцию можно применить при проведении контрольных собраний. На собраниях проводится анализ нерешённых проблем, назначаются ответственные за их решение и устанавливаются сроки. Таким образом, каждый будет знать, что все проблемы будут рассмотрены и решены.
Из собственного опыта
В преддверии завершения важного промежугочного этапа сотрудники компании NuMega должны были сообща устранять последние неполадки и ошибки. Чтобы гарантированно обеспечить себя актуальной информацией, мы составили список неполадок, упорядоченный сначала по их приоритету, а затем — по именам ответственных за их устранение. Каждый участник контрольного собрания получал копию этого списка (позже печатные списки были заменены подключёнными к сети лэптопами, что позволило работать прямо из системы). Такие обзоры позволили мобилизовать всю группу на решение важных проблем и устранение ошибок, сдерживавших работу других или бывших источником особого риска. Интенсивное общение имеет очень большое значение на завершающих стадиях работы над проектом, бета-версией или новым выпуском программы.
Очень полезна технология «управления мимоходом» (Managing by Walking Around, MBWA). Контрольные собрания — формальность, но менеджер проекта и ведущие специалисты, даже просто находясь в группе, могут встречаться с участниками для неформального обсуждения тех или иных проблем.
• Каждый видит, что менеджер проекта участвует в работе и заботится об успехе проекта. Он не собирается отгородиться от исполнителей проекта цифрами, графиками и рисунками, управляя проектом лишь через компьютер. При таком подходе менеджер проекта и ведущие специалисты становятся доступнее, и с ними можно быстро и без проблем обмениваться информацией.
• Люди часто ощущают дискомфорт, выступая на контрольных собраниях. Удивительно, что во время беседы тет-а-тет за чашкой кофе они высказывают такие мысли, о которых скорее всего даже не заикнулись бы на групповом собрании.
• Такая практика допускает спонтанное обсуждение важных предметов и проблем, в ходе которого часто рождаются совершенно новые подходы к их решению. Замечательные идеи не рождаются в два часа пополудни каждый понедельник. Чтобы они возникали, нужно поощрять внеплановое, неформальное и нерегламентированное общение.