Время — деньги. Создание команды разработчиков программного обеспечения - Салливан Эд
Общие проблемы и решения
Далее обсуждается ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.
Отсутствие руководстваОдна из наиболее распространённых проблем, мешающих плавно завершить проект, — нехватка руководства и дисциплины на завершающих стадиях. В этот период менеджер проекта отрабатывает свой оклад, поскольку должен быть кто-то один, ответственный за выпуск ПО. Обеспечить эффективную работу на завершающих этапах проекта нелегко. Возможно, придётся задержать группу в выходные, чтобы провести повторные тесты или отвергнуть последний набор действительно классных изменений из-за слишком высокого риска. Не ограничивайте себя в средствах. чтобы выполнить эту работу в лучшем виде.
Обмен информациейКогда на группу обрушиваются все заботы, связанные с выходом ПО, обмен информацией между участниками группы часто нарушается, что провоцирует возникновение слухов и сомнительных разговоров. Обязательно нужно организовать управление работой над проектом вплоть до его закрытия, обмен информацией о его состоянии и решение любых проблем по мере их возникновения.
ОтветственностьПоскольку в производстве ПО участвует много людей и постоянно приходится принимать решения, важно назначить ответственных в каждом подразделении, работающем над кандидатом на выпуск. Очень плохо, когда ответственность постоянно переходит от одних людей к другим. Нужны люди, которые могут отвечать за вверенные им команды и за принятые решения.
План тестированияНеобходим конкретный план тестирования кандидата на выпуск. Нельзя тестировать все подряд, на это просто не хватит времени. Нужно сосредоточиться на важнейших фрагментах. Однако у многих групп отсутствует чёткое представление о том, что и как нужно делать. Заключительное тестирование должно быть продумано, прежде чем проект вступит в фазу работы с кандидатом на выпуск.
АвтоматизацияЕсли тестирование автоматизировано недостаточно, дело плохо. Возможность автоматизированного тестирования ключевых функций на окончательной сборке программы (и на новых сборках программы, если они будут созданы) имеет решающее значение для своевременной и полной проверки продукта. Нельзя тратить время на тестирование каждого кандидата на выпуск вручную.
Глава 15
Закрытие проекта
Наконец, проект завершён, программа отправлена заказчикам! Это все, не так ли? Ещё нет. Завершить работу над проектом — это больше, чем просто вынести его за дверь и уйти домой. В проект вложено много времени и сил, команде пришлось принести большие жертвы, теперь критически важно должным образом провести закрытие проекта, не забыв никого из участников. Если отказаться от этого этапа, можно упустить прекрасную возможность отблагодарить людей, выразить команде признательность за внесённый вклад и подготовить её к работе над следующим проектом.
Почему это так важно?
Закрытие проекта венчает работу команды. Оно также позволяет участникам осознать всю важность проекта, а также почувствовать, что их вклад и самопожертвование получили признание и были оценены по достоинству. Слишком часто упадок сил после завершения проекта ведёт к неразберихе и даже к депрессии. Люди должны быть уверены, что их усилия, сверхурочные часы и бессонные ночи не пропали зря. Они могут спросить себя: «Была ли моя работа замечена? Стоило ли так на напрягаться?» — или, что ещё важнее: «Буду ли я выкладываться в следующий раз?» Правильно проведённое закрытие проекта даёт ответ на эти вопросы. При правильно проведённом закрытии необходимо:
• известить всех об окончании проекта и о передаче программы заказчику;
• выделить индивидуальные достижения, вклад и преданность делу;
• отметить общие усилия и эффективность работы команды в целом;
• помочь участникам команды увидеть их ошибки и извлечь из них урок;
• решить текущие проблемы с кадрами или проектом;
• начать подготовку к следующему проекту.
Как это делается?
Провести закрытие проекта несложно, но для этого нужно решить множество задач.
Передача программыВыпуск во внешний мир программного продукта его создателями должен быть общественным событием. Нельзя придумать более удачной церемонии закрытия проекта, чем передача прав собственности командой заказчику. Это событие должно происходить на глазах у всей команды. Оно представляет собой яркий и запоминающийся момент для каждого участника работы над проектом.
Например, если ПО передаётся производственной организации, можно устроить небольшую церемонию, во время которой менеджер проекта передаёт компакт-диски с ПО представителю этой организации. Если программа передаётся через сеть, то поводом для сбора всех участников команды может быть последнее нажатие клавиши ввода. Как бы это ни происходило, главное — собрать всю команду, чтобы каждый участник узнал о передаче проекта заказчику.
Конечно, событию должна предшествовать краткая речь. Всегда весело, когда люди вспоминают самые трудные задачи проекта и как команда решала их сообща. Забавно припомнить самые комичные эпизоды работы над проектом, поинтересовавшись, как же всё-таки удалось пережить их живым и невредимым!
А теперь рассмотрим противоположную ситуацию, когда закрытие не проводилось. Если участникам команды приходится спрашивать, отправили ли проект заказчику или они обнаруживают, что их не пригласили на передачу проекта, они ощущают себя вовсе не игроками одной команды, а скорее винтиками, которые сослужили свою службу в составе большой машины, но так и не стали её неотъемлемыми частями. Так быть не должно.
Заключительное письмоЕсли команда многочисленна или её участники разбросаны по обширной территории, собрать всех вместе может быть сложно. В таких случаях обычно прибегают к рассылке по электронной почте писем, приуроченных к завершению проекта. Получив такое письмо, все смогут одновременно и в равной степени почувствовать, что проект закончен и команда выполнила поставленную перед ней задачу. Это письмо также может послужить катализатором празднования выхода нового выпуска.
Празднование нового выпускаОдин из самых замечательных моментов, наступающих после выхода программного продукта, — праздник по случаю нового выпуска. Чувство выполненного долга, после которого приходит праздник, — это что-то потрясающее. Чем дальше отстоят эти моменты во времени, тем меньшее впечатление от праздника. После выпуска ПО можно:
• открыть бутылку шампанского;
• подать всем мороженое прямо на рабочие места;
• пригласить команду на ужин в ресторан;
• устроить совместный поход в кино;
• собраться на пикник в доме одного из участников команды;
• отправиться в боулинг и т.п.
Какое бы мероприятие вы ни выбрали, главное, чтобы все смогли принять о нём участие: некоторые могут и не изъявить желания участвовать в турнире по пейнтболу или в катании на горных велосипедах.
Общественное признаниеОбщественное признание может стать мощным средством выражения благодарности группам и отдельным участникам за исключительные достижения. Общественное признание может быть как на уровне подразделения, так и на более высоком — группы или целой компании. Однако независимо от размера команды следует придерживаться некоторых основных правил.
• Должны быть отмечены лишь значительные достижения
Награды заслуживают только усилия, выходящие за рамки должностных обязанностей.
• Необходимо отмечать отличную работу на любом поприще
Следует поощрять отличившихся работников всех отделов, а не только какого-либо одного.