Методы и средства инженерии программного обеспечения

       

Управление инженерией ПО (Software Engineering Management)


Управление инженерией ПО (менеджмент) – руководство работами команды разработчиков ПО в процессе выполнения плана проекта, определение критериев и оценка процессов и продуктов проекта с использованием общих  методов управления, планирования и  контроля работ.

Как любое управление, менеджмент ПО предполагает планирование, координацию, измерение, контроль и отчет по процессу управления проектом; представляет собой системную, дисциплинированную и измеряемую разработку ПО. Координацию людских, финансовых  и технических ресурсов при реализации задач проекта выполняет менеджер проекта, аналогично тому,  как это делается в  технических проектах. В его  обязанности входит  соблюдение запланированных бюджетных и временных характеристик и  ограничений, стандартов и сформулированных требований.  Общие вопросы  управления проектом содержится в  ядре знаний  РMBOK [19] в разделе Management Process Activities, а также   в стандарте ISO/IEC 12207 – Software life cycle processes [14], где управление проектом рассматривается как дополнительный и организайионный процесс ЖЦ,

Область знаний «Управление инженерией ПО (Software Engineering Management)» состоит из следующих разделов:

– организационное управление (Organizational Management),

– управление процессом и  проектом  (Process/Project Management),

– измерение инженерии  ПО (Software Engineering Measurement).

Организационное управление – это планирование и составление графика работ, оценка стоимости работ, подбор и управление персоналом,  контроль за  выполнением работ согласно принятых стандартов и планов. Главными проблемами организационного управления проектом являются: управление персоналом (обучение, мотивация и др.),  коммуникации между сотрудниками и средой (сценарии, встречи, презентации и др.), а также риски (минимизация риска, техники определения риска, выбор решений по их предотвращению и др.). Для управления проектом создается такая  структура  коллектива, специалисты которой могут выполнить проект, они распределяются по работам и все вместе реализуют задачи проекта под руководством  менеджеру проекта.  


Задачам проекта сопоставляется оборудование, средства и исполнители. Проводится распределение обязанностей специалистов  и их выполнение  с учетом заданной стоимости и срока разработки проекта.

 

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

Управление продуктом заключается в уточнении  требований  и проверки  (валидацию)  их на соответствие, в просмотре и ревизии требований на соответствие заданным спецификациям качества, а также в проверке (верификации) правильности реализованных функций в отдельных продуктах проекта. Процесс управления проектом  базируется на  заданных  сроках выполнения  работ, их начала и окончания. Результаты планирования отображаются в сетевых диаграммах (PERT – Program Evaluation and Review Technique, CРM – Сritical Path Method и др.), предназначенных для отображения полного комплекса работ, времени их выполнения  и   зависимостей между разными работами.

Сетевая диаграмма PERT является  графом, в вершинах которого располагаются работы, а дуги задают взаимные связи между этими работами. Такой граф является наиболее распространенным представлением сети для управления разными видами работ на сегодняшний день. Другой тип сетевой диаграммы является событийным,  когда в ее вершинах  указываются  события, а  работы задаются линиями между двумя узлами–событиями. Ожидаемое время выполнения работы для   сетевых диаграмм оценивается с помощью среднего весового значения трех оценок: оптимистической, пессимистической и ожидаемой – вероятностной. Эти оценки берутся из заданного времени  на разработку и заключений экспертов, оценивающих  отдельные работы и в комплексе.


Есть и другие методы оценок.

После составления плана решается вопрос   управления  и контроля проекта согласно плану,  выбранного процесса и сущности проекта. Корректно составленный план обеспечивает  выполнение требований  и целей проекта. Процесс контроля более всего  направлен на  внесение изменений в проект, оценку риска  и оценка принимающих решений.

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

Риск – вероятность проявления неблагоприятных обстоятельств, которые могут повлиять негативно  на реализацию качества проекта и на управление разработкой (например, увольнение сотрудника и отсутствие замены для продолжения работ и др.). Для управления риском проводится идентификация и анализ риска, оценка критических рисков и планирование непредвиденных ситуаций,  касающихся рисков. Предотвращение риска заключается в выполнении действий, которые снимают   риск (например, увеличение времени разработки и др.), уменьшают вероятность появления нового риска при реорганизации проекта, БД или  транзакций, а также при выполнении ПО.

Измерение в инженерии ПО проводится для  определения отдельных характеристик объектов  инженерии (продуктов, процессов и т.п.)  и их измерение. Проводится комплекс работ,  связанных с  выбором метрик для  оценки качества процессов и продуктов, а также обстоятельств и зависимостей, влияющих на их измерение. К ним относятся: совершенствование процессов управления  проектом; оценки  временных затрат и стоимости ПО,  их регулирование; определение категорий рисков и отслеживание факторов для регулярного расчета вероятностей их возникновения; проверка заданных в требованиях показателей качества отдельных продуктов проекта и проекта в целом  [15].

Проведение разного рода измерений является важным принципом любой инженерной деятельности, а в программном проекте оно положительно влияет на результат  выполнения и создания  ПО, необходимого заказчику и потребителям.Без измерений в инженерии ПО  процесс управления становится неэффективным  и превращается в самоцель.

 

Таким образом, рассмотрение основных принципов  формирования команды разработчиков, методов планирования работ и оценки процессов создания ПО и самого продукта позволяет менеджеру коллектива разработчиков проекта сосредоточится на  планировании работ,  оценках трудозатрат, распределения ресурсов  и управления изменениями и рисками.


Содержание раздела