Лекция №20Управление программным проектом
Управление программным проектом — один из ключевых аспектов разработки программного обеспечения. В классических моделях жизненного цикла ПО управление проектом составляет основу для всего процесса разработки. В более новых подходах (гибкой методологии, экстремальном программировании, Scrum и так далее) управление ориентировано на решение задач меньшего масштаба, но по-прежнему играет важную роль в разработке.
Управление программным проектом состоит из нескольких видов деятельности:
- планирование проекта;
- отчетность о ходе разработки;
- управление рисками;
- управление кадрами;
- управление качеством процессов и продуктов производства;
- управление конфигурацией проекта.
Важная часть управления разработкой ПО — управление рисками. Под рисками в производстве подразумеваются нежелательные ситуации, у которых могут быть непредвиденные отрицательные последствия. Пример риска — неудовлетворительная эффективность приобретенного компонента повторного использования. Управление рисками имеет четыре стадии:
- идентификация рисков, которые могут влиять на производство;
- оценка вероятности и последствий рисковых ситуаций;
- составление планов по предотвращению или минимизации последствий рисков;
- мониторинг рисков для переоценки вероятности рисковых ситуаций по ходу выполнения проекта.
Идея управления рисками состоит в том, чтобы по возможности избежать рисковых ситуаций. Например, для того чтобы не встретиться с неудовлетворительной эффективностью КПИ, при проектировании следует привязываться к испытанным компонентам, принадлежащим организации-разработчику. Другой тип стратегии борьбы с рисками — минимизация последствий. Например, чтобы на скорости выполнения проекта не сказалась внезапная болезнь ключевого разработчика, работа должна распределяться между членами команды более равномерно. Наконец, если рисковая ситуация все же настала, у разработчиков должен иметься заранее заготовленный план действий.
Не менее важный аспект управления проектом — его планирование. Вне зависимости от выбранной модели разработки, проектные планы играют важную роль в организации производства ПО. Планы определяют разбиение разработки на составляющие процессы, задают затраты, рубежи и производимые продукты для каждого процесса, а также области ответственности для разработчиков.
В классических моделях жизненного цикла ПО общий план проекта играет ключевую роль в разработке (поэтому такие модели иногда называют разработкой через планирование — plan-driven development). В гибкой методологии разработки составляются планы для следующего выпуска ПО (длина таких планов составляет несколько месяцев) и отдельно для каждой итерации (длиной несколько недель). Использование краткосрочных планов позволяет быстро адаптироваться к изменениям окружения, в котором работает ПО, и к изменениям требований.