- •В.Н. Лукин,
- •Руководитель проекта: кто он
- •Кем приходится руководить
- •Программист
- •Команда
- •Роли в команде
- •Цель – проект
- •Постановка задачи
- •Планирование
- •Внутренние стандарты
- •Качество изделия
- •Контроль
- •Цель – команда
- •Понимание
- •Передача знаний
- •Делегирование
- •Проверка
- •Участие
- •Другие принципы руководства
- •Управление программными проектами – Теория w Барри Боэма
- •В какой обстановке живёт команда
Внутренние стандарты
Внутренние стандарты оказывают благотворное влияние на качество продукта. Стоит регламентировать стиль пользовательского интерфейса, требования к стилю написания программ, требования к проектированию данных, порядок работ по созданию программ, модификации общих ресурсов ит.п. Стандарты могут быть как внутрифирменные, так и командные. Эффект состоит в узнаваемости команды пользователем, в упрощении тестирования, в удобстве сопровождения, что, в конечном итоге, сэкономит немало средств.
Качество изделия
Гласс [1] считает заблуждением утверждение, что «менеджмент может сделать программный продукт качественным». Действительно, несмотря на то, что за качество отвечает руководитель проекта, программное обеспечение – слишком сложный объект, и в его создании существенную роль играет технический специалист. Конечно, существуют методологии управления качеством программного продукта, например, CMM, которые сводятся к управлению качеством процессов на основе статистических показателей. Однако организаций, находящихся на достаточно высоком уровне зрелости довольно мало, а к «свободным» командам это и вовсе не относится. Поэтому руководители годами пытаются бороться за качество, используя разные средства, самые неэффективные из которых – принуждение или лозунги. Враг качества – сроки, и если для руководителя проекта в данный момент они важнее – о качестве можно забыть. Руководители могут лишь создать условия, при которых оно сможет появиться: устранить препятствия, мешающие качественной работе, обеспечить приоритет качества в разработке, взять на работу классных специалистов, дать возможность программистам гордиться своей работой.
Контроль
Для достижения требуемого качества и выполнения работы в срок необходим постоянный контроль. Контроль качества обычно включает проверку изделия на соответствие внутренним стандартам и выполнение тестирования. Надо, чтобы сотрудники знали: если программа прошла через вашу проверку, ни один пользователь не выйдет на ошибку. Конечно, ошибки есть всегда, но тщательное тестирование позволит выявить большую часть из них, а внутренние стандарты облегчат их исправление. За соблюдением сроков удобно следить, используя сетевой график. На особом контроле должны быть критически важные процессы и процессы с высоким риском (например, зависящие от других или неопределённые). Контроль не сводится лишь к формальным количественным показателям. По утверждению Гласса [1], «хороший руководитель в области умственного труда стремится оценивать качественные показатели, а не количественные».
Цель – команда
Руководство программным проектом, по сути, сводится к достижению двух целей: выполнения проектного задания и создания (сохранения) команды. Первая цель достигается квалификацией руководителя и участников команды в области разработки программных систем, а вторая требует, чтобы руководитель стал признанным командой лидером. Лидером нельзя стать, обладая лишь суммой знаний. Рейнвотер [5] утверждает, что лидерство – это свойство характера, которое можно воспитать, следуя некоторым фундаментальным принципам. Это понимание, передача знаний, делегирование, проверка и участие. Рассмотрим их подробнее.
