программы, которые в свою очередь отчитываются перед главным менеджером программы. Подобные структуры могут также появляться внутри областей компетенций. Но важно помнить, что эти иерархии не должны затенять модель команды MSF на уровне проекта в целом.
Прочие особенности
Модель процесса
Водопадная модель – фазы работ и вехи
Рис. 8.2
Водопадная модель – постоянное уточнение требований, активное взаимодействие с заказчиком.
Рис. 8.3
В MSF объединяются водопадная и спиральная модели: сохраняются преимущества упорядоченности водопадной модели, не теряя при этом гибкости и творческой ориентации модели спиральной.
Рис. 8.4
Итак, процесс MSF ориентирован на “вехи” (milestones) – ключевые точки проекта, характеризующие достижение в его рамках какого-либо существенного (промежуточного либо конечного) результата. Этот результат может быть оценен и проанализирован, что подразумевает ответы на вопросы: “Пришла ли проектная группа к однозначному пониманию целей и рамок проекта?”, “В достаточной ли степени готов план действий?”,
66
“Соответствует ли продукт утвержденной спецификации?”, “Удовлетворяет ли решение нужды заказчика?” и т.д. А между вехами - итерации, итерации, итерации…..
Управление компромиссами. Хорошо известна взаимозависимость между ресурсами проекта (людскими и финансовыми), его календарным графиком (временем) и реализуемыми возможностями (рамками). Эти три переменные образуют треугольник, показанный на рис. 8.5.
Рис. 8.5
После достижения равновесия в этом треугольнике изменение на любой из его сторон для поддержания баланса требует модификаций на другой (двух других) сторонах и/или на изначально измененной стороне.
Рис. 8.6
Зафиксировав ___________, мы согласовываем ___________ и принимаем результирующий ___________.
67
Литература
1.Microsoft Solutions Framework, Process Model, Version 3.1. 2002. http://www.microsoft.com/msf (Русский перевод: Microsoft Solutions Framework.
Модель процессов, версия 3.1. 41 с.)
2.Microsoft Solutions Framework, Team Model, Version 3.1. 2002. http://www.microsoft.com/msf (Русский перевод: Microsoft Solutions Framework.
Модель команды, версия 3.1.)
3.Microsoft Solutions Framework, Project Management, Version 3.1. 2002. http://www.microsoft.com/msf (Русский перевод: Microsoft Solutions Framework.
Упрвление проектами, версия 3.1.).
68
Лекция 10. CMMI
Что такое CMMI?
CMMI является некоторым описанием идеального процесса разработки ПО, предлагает некоторую модель процесса. То есть в процессе выделяются и тщательно описываются некоторые составные части, ключевые с точки зрения CMMI. Эта точка зрения CMMI – совершенствование процессов разработки. То есть эти значимые части процесса – области усовершенствования. В CMMI различаются следующие группы областей усовершенствования: управление процессами, управление проектами, инженерные области, служебные области. При этом все области задаются в виде требований, определяющих не то, как они реализованы, а интерфейсные требования. Из этого имеется два следствия.
Следствие 1. CMMI допускает различные реализации и не является методологией разработки ПО, подобно MSF, Scrum, RUP и пр. Последние могут использоваться в его реализации. Так, существует, например, специальный шаблон процесса в VSTS для CMMI под названием MSF for CMMI.
Следствие 2. CMMI используется для сертификации компаний на зрелость их процессов. Изначально, в конце 80-х начале 90-х годов, CMM (тогда еще не CMMI) создавался именно как средство сертификации федеральных субподрядчиков. И только позднее, получив широкое распространение в мире, он начал использоваться а после и ориентироваться на совершенствование процессов.
Отметим еще одну важную характеристику CMMI. Он предназначен не только для разработки программных систем. Многие крупные компании выпускают не ПО, а целевые изделия, куда ПО входит как составная часть. Например, авиационная, аэрокосмическая индустрии. То есть разработка ПО происходит вместе с инженерными работами иных видов. И часто бывает, что в одном проекте участвует более двух различных видов инженерии. Задача CMMI – предоставить таким проектам и компаниям единую платформу организации процесса разработки.
Уровни зрелости процессов по CMMI
В отличии от классической модели CMM, которая была жестко иерархической и допускала только последовательное улучшение процессов по уровням, модель CMMI имеет два измерения – последовательное, такое же как и в CMM, и непрерывное, допускающее совершенствование процессов в организации до некоторой степени в произвольном порядке. Здесь мы остановимся на последовательной модели. Она имеет 5 уровней зрелости процессов, как показано на рис. 9.1.
69
Рис. 9.1
Начальный уровень (уровень зрелости 1) – это уровень, на котором, по определению, находится любая компания. На этом уровне разработка ПО ведется болееменее хаотично.
Управляемый уровень (уровень зрелости 2) – здесь уже появляются политики и процедуры организации процессов, утвержденные на уровне компании. Но в полной мере процессы существуют лишь в рамках отдельных проектов.
Определенный уровень (уровень зрелости 3) – здесь появляется стандартный процесс на уровне всей компании в целом. Это большой и постоянно пополняющийся набор активов процесса – шаблонов документов, моделей жизненного цикла, программных средств, практик и пр. Любой конкретный процесс получается вырезкой, из этого стандартного.
Управляемый количественно уровень (уровень зрелости 4) подразумевает появление системы измерений в компании, которые происходят на базе стандартного процесса и позволяют количественно управлять разработкой.
Оптимизирующийся уровень (уровень зрелости 5) подразумевает постоянное улучшение процессов разработки, как постепенных, пошаговых, так и революционных. При этом данные изменения оказываются не вынужденными, а упреждающими проблемы и трудности. Процесс совершенствуется сам и постоянно – есть, реализованы соответствующие механизмы.
Области усовершенствования
Уровень |
Области усовершенствования |
|
зрелости |
|
|
|
|
|
Уровень |
Управление требованиями |
|
зрелости 2 |
|
|
Планирование проекта |
|
|
|
|
|
|
Наблюдение за проектом и контроль |
|
|
|
|
|
70 |
|