18 июн. 2011 г.

Должен ли РМ кодить?


Гуляя по просторам интернета регулярно встречаю споры о том, кто же такой РМ (в IT проектах), должен ли он программировать, должен ли быть технически грамотным и т.д.

Для начала думаю стоит обратиться к первоисточнику - PMBok.
Проект – это временное предприятие, предназначенное для создания уникальных продуктов, услуг или результатов.
Управление проектами – это приложение знаний, навыков, инструментов и методов к работам проекта для удовлетворения требований, предъявляемых к проекту.
Менеджер проекта – это лицо, назначаемое исполняющей организацией ответственным за достижение целей проекта.


Если опираться на эти определения, то получается, что руководитель проекта это человек, который несет ответственность за успех проекта, а значит за все действия, которые для этого предпринимаются. 
Какие же действия для этого предпринимаются? 

Любой проект включает в себя такие работы, как анализ и выявление целей проекта, планирование затрат, работ, выделение ресурсов (как человеческих, так и материальных), выявление и управление рисками, распределение задач и руководство работами, анализ достигнутых результатов, прогнозирование, коммуникации, управление качеством, отслеживание состояния выполнения работ, подготовка отчетности... 

Задача руководителя проекта - выбрать оптимальный процесс управления (выбрать процессы управления), которые наилучшим образом помогут привести проект к успеху. 

Есть ли в данных процессах место и время для того, чтобы руководитель проекта самостоятельно принимал участие в разработке? 

Есть. Но далеко не во всех проектах. 
Давайте представим себе небольшой проект по разработке приложения, объемом приблизительно 10 человеко-месяцев, для реализации которого достаточно 1 архитектора (он же тимлид), 1 разработчика, 1 аналитика и 1 тестировщика. Разумно ли тратить ресурсы (в первую очередь финансовые) на ввод в данную команду руководителя проекта без совмещения с ролью архитектора или аналитика? Конечно неразумно. И в таких проектах является правильным решением, когда РМ является одновременно архитектором (тимлидом) или аналитиком. Объем работ по непосредственно управлению проектом тут невелик и занимает в общей сложности около 30-40% времени РМ'а (а чаще даже меньше). 

А если это проект на 100 человеко/месяцев? А если на 1000? 
Думаю уже понятно что я хочу сказать - роль руководителя проекта меняется в зависимости от размера проекта. И это логично, особенно если вспомнить про предел управляемости - 5-9 человек (оптимально - 7). И если команда состоит из более, чем 10 человек - управлять всеми РМ уже просто не сможет. И объем различных "управленческих" работ у РМа в таком проекте будет занимать не менее 70-80% времени. Соответственно времени на участие в разработке у него уже не будет. И не только на участие в разработке, но и даже на участие в проработке архитектуры, анализе архитектурных и других решений и т.д.

Это означает следующее - РМ, которому можно доверить проект на 100 и более человеко/месяцев должен быть конечно же технически грамотным специалистом, иметь соответствующее (IT) образование. Но знать на уровне эксперта применяемые технологии разработки, и тем более кодить самостоятельно - не должен.



3 комментария:

  1. А если при 10 человеко-месяцах РМ совмещает с программистом, а не с аналитиком или архитектором? Бред конечно, :) но все-же?

    ОтветитьУдалить
  2. Почему бы и нет? Если у него уровень сениор-программиста, а архитектор выделен на проект отдельный.
    Но это конечно уже на уровне бреда. В реальной жизни не встречала.

    И совмещение РМа с тестировщиком - тоже :)

    ОтветитьУдалить
  3. Дополню.
    Встречала в варианте совмещения с тим-лидом, но в вариантах когда в команде еще минимум 2 программиста. При этом был отдельный архитектор.

    ОтветитьУдалить