Современные подходы к управлению проектом

Став бригадиром, я упростил этот процесс до мыслимого предела

В. Ерофеев. «Москва — Петушки»

 

Продолжающиеся непрерывные неудачи в крупных программных проектах заставили министерство обороны США сформировать подразделение, которое получило название Сеть менеджеров по разработке программного обеспечения (Software Program Managers Network — SРМN) (http://www.spmn.com).Для этой организации были сформулированы четыре главных цели ее работы

* Внедрить лучшие практические навыки создания программного обеспечения.

* Дать возможность руководителям проектов сфокусировать свои усилия на разработке качественного программного обеспечения, нежели на следовании должностным инструкциям и формальным методикам, которые только ухудшали состояние проекта.

* Дать возможность руководителям проектов применять лучшие мировые практические навыки с учетом локальной корпоративной культуры.

* Дать возможность быстро изучить и внедрить эти навыки в свою работу с помощью соответствующих методик обучения и программных систем.

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

Перечислим основные практики.

* Формальное управление рисками. Рекомендуется постоянно вести и анализировать списки основных важнейших рисков. У сотрудников не должно быть никаких иллюзий о допустимости рисков.

* Согласованность интерфейсов. Интерфейсы — необходимая часть архитектуры. Чем позже будут определены соглашения об интерфейсах, тем больше вероятность того, что систему придется проектировать заново.

* Формальные проверки проекта. Экспертизы, проверки, сквозной контроль — все те действия, которые позволяют устранить ошибки как можно раньше.

* Планирование и управление на основе метрик. В основу планов и оценок должны быть положены числовые оценки — метрики, накопленные в предыдущих проектах.

* Контроль качества на детальном уровне. Промежуточные итоги должны проводиться еженедельно или даже ежедневно.

* Свободный доступ к информации о ходе проекта. Проект будет испытывать большие трудности, если менеджер скрывает от остальной команды ин формацию о состоянии проекта.

* Отслеживание причин возникновения ошибок для достижения высокого качества. Ошибки должны быть формально отслеживаемы, каждый случай обнаружения и устранения ошибки должен быть обязательно документирован.

* Конфигурационное управление. Использование систем управления исходными кодами, позволяющих отслеживать изменения и дающих возможность вернуться к предыдущим версиям.

* Ответственность и подотчетность руководства перед сотрудниками. Такая мотивация сотрудников может значительно повысить производительность труда программистов.