Продвижение работы
Большинство программистов предпочитает, чтобы результаты их работы не контролировались ежедневно, но такая свобода, в свою очередь, предполагает, что каждый обязан информировать руководителя проекта обо всех проблемах, которые могут помешать продвижению работы. Если соблюдение сроков становится невозможным, программист должен как можно быстрее предупредит руководителя проекта, чтобы можно было принять соответствующие меры. Своевременная реакция может сэкономить много времени в дальнейшем, а стремление выполнить работу в очевидно нереальные сроки лишь вызовет большие задержки на следующей стадии разработки.
Руководство группой. Многие люди становятся руководителями группы после приобретения большого опыта работы в проектных группах и поэтому сохраняют интерес к техническим деталям проекта. Если нет особой необходимости в том, чтобы руководитель проекта имел достаточный технический опыт для оценки и планирования разработки, он должен стремиться избегать опасности так углубиться в технические детали реализации, что у него не останется времени для руководства проектом. Правильное распределение времени между руководящей и технической работой будет зависеть от нескольких факторов, например от объема проекта, квалификации других сотрудников и области применения проекта.
В небольших проектах, над которыми работают два три человека, роль руководителя, по всей вероятности, в основном будет технической; возможно, он будет работать как разработчик всей системы. Однако для больших проектов с 15 -20 участниками нужен освобожденный руководитель. Руководителю проекта рекомендуется брать на себя чуть меньше технической работы, чем он может выполнить, в частности он не должен участвовать в выполнении заданий, сроки которых критичны.
Если возникнут непредвиденные проблемы, связанные с руководством, он должен будет в первую очередь решать именно их; от этого пострадает его работа в качестве разработчика, что, в свою очередь, отразится на сроках завершения всей работы над проектом. Гораздо более предпочтительно, чтобы руководитель проекта брал на себя такие технические задания, в которые не входила бы разработка программ, например составление функциональной спецификации или подготовка приемных испытаний. Эти задания можно с меньшими потерями прервать в случае возникновения непредвиденных проблем, и они, как правило, выполняются по более долговременному и сложному графику, нередко требующему взаимодействия с будущим пользователем.
Во многих проектах роль руководителя изменяется по мере продвижения работ. Как правило, на ранней стадии эта роль сводится в основном к технической деятельности, возможно, к анализу общего описания проекта. Однако по мере того, как работа набирает темп, он постепенно передает функции по принятию конкретных технических решений ведущим специалистам группы, непосредственно занятым проектированием системы, а сам переключается на общее руководство проектом. В какой степени будет изменяться роль руководителя, существенно зависит от объема проекта.

