Процесс управления разработкой программного
обеспечения
Невозможно описать и стандартизировать все работы,
выполняемые в проекте по созданию ПО. Эти работы весьма существенно зависят от
организации, где выполняется разработка ПО, и от типа создаваемого программного
продукта. Но всегда можно выделить следующие:
Первая стадия программного проекта может состоять из
написания предложений по реализации этого проекта. Предложения должны содержать
описание целей проектов и способов их достижения. Они также обычно включают в
себя оценки финансовых и временных затрат на выполнение проекта. При
необходимости здесь могут приводиться обоснования для передачи проекта на
выполнение сторонней организации или команде разработчиков.
Написание предложений — очень ответственная
работа, так как для многих организаций вопрос о том, будет ли проект
выполняться самой организацией или разрабатываться по контракту сторонней
компанией, является критическим. Не существует каких-либо рекомендаций по
написанию предложений, многое здесь зависит от опыт.
На этапе планирования проекта определяются
процессы, этапы и полученные на каждом из них результаты, которые должны
привести к выполнению проекта. Реализация этого плана приведет к достижению
целей проекта. Определение стоимости проекта напрямую связано с его планированием,
поскольку здесь оцениваются ресурсы, требующиеся для выполнения плана.
Контроль за ходом выполнения работ (мониторинг
проекта) — это непрерывный процесс, продолжающийся в течение всего срока
реализации проекта. Руководитель должен постоянно отслеживать ход реализации
проекта и сравнивать фактические и плановые показатели выполнения работ с их
стоимостью. Хотя многие организации имеют механизмы формального мониторинга
работ, опытный руководитель может составить ясную картину о стадии развитии проекта
просто путем неформального общения с разработчиками.
Неформальный мониторинг часто помогает обнаружить
потенциальные проблемы, которые в явном виде могут обнаружиться позднее.
Например, ежедневное обсуждение хода выполнения работ может выявить отдельные
недоработки в создаваемом программном продукте. Вместо ожидания отчетов, в
которых будет отражен факт "пробуксовки" графика работ, можно
обсудить со специалистами намечающиеся программистские проблемы и не допустить
срыва графика работ.
В течение реализации проекта обычно происходит
несколько формальных контрольных проверок хода выполнения работ по созданию ПО.
Такие проверки должны дать общую картину хода реализации проекта в целом и
показать, насколько уже разработанная часть ПО соответствует целям проекта.
Время выполнения больших программных проектов может
занимать несколько лет. В течение этого времени цели и намерения организации,
заказавшей программный проект, могут существенно измениться. Может оказаться,
что разрабатываемый программный продукт стал уже ненужным либо исходные
требования к создаваемому ПО просто устарели и их необходимо кардинально
менять. В такой ситуации руководство организации-разработчика может принять
решение о прекращении разработки ПО или об изменении проекта в целом с тем, чтобы
учесть изменившиеся цели и намерения организации-заказчика.
Руководители проектов обычно обязаны сами подбирать
исполнителей для своих проектов. В идеальном случае профессиональный
уровень исполнителей должен соответствовать той работе, которую они будут
выполнять в ходе реализации проекта. Однако во многих случаях руководители
должны полагаться на команду разработчиков, которая далека от идеальной. Такая
ситуация может быть вызвана следующими причинами:
Таким образом, почти всегда подбор специалистов для
выполнения проекта имеет определенные ограничения и не является свободным.
Вместе с тем необходимо, чтобы хотя бы несколько членов группы разработчиков
имели квалификацию и опыт, достаточные для работы над данным проектом. В
противном случае невозможно избежать ошибок в разработке ПО.
Руководитель проекта обычно обязан посылать
отчеты о ходе его выполнения как заказчику, так и подрядным организациям.
Это должны быть краткие документы, основанные на информации, извлекаемой из
подробных' отчетов о проекте. В этих отчетах должна быть та информация, которая
позволяет четко оценить степень готовности создаваемого программного продукта.
В рамках курса «Технология разработки программного
обеспечения» выделены следующие роли в группе по разработке ПО: