Слайд 2
CMM: зрелость организаций и процессов
CMM SW (Capability Maturity
Model for Software) – американский стандарт в области качества
ПО.
Разработан SEI университета Карнеги-Меллон по заказу Министерства обороны США.
Уоттс Хамфри
(Watts S. Humphrey, 1927-2010) “Отец качества ПО”
1989
Слайд 3
В середине 1970-х годов Министерство обороны США столкнулось
с рядом проблем, связанных с разработкой ПО:
Рост сложности
задач, стимулируемый развитием аппаратной базы.
Появление и широкое внедрение интегральных схем существенно повысило производительность вычислительной техники, что позволило переходить к решению качественно более сложных задач. Рост объема и сложности задач, возлагаемых на программное обеспечение, имел взрывоподобный характер.
Хронические срывы сроков и качества как следствие роста сложности задач.
Сроки выполнения проектов постоянно срывались, качество ПО (соответствие ожиданиям заказчика) оставалось на неприемлемо низком уровне, и Министерство обороны США начало всерьез беспокоиться об эффективности расходования бюджетных средств.
CMM
Слайд 4
Безуспешный поиск методик и инструментов. Усилия были направлены
на поиск эффективных методологий и инструментов для разрешения “сугубо
технических” (как тогда казалось) проблем программного обеспечения. Почти два десятилетия обещаний поднять производительность и качество работ за счет новых методов и средств разработки ПО ушло на осознание того, что корень зла – не в технике.
Неспособность организаций управлять процессом разработки ПО как основная причина сложившейся ситуации. В конце концов, был сделан вывод, что фундаментальная проблема “хронического кризиса ПО” состоит в неспособности организаций управлять технологическим процессом разработки программного обеспечения.
CMM
Слайд 5
Военные приступили к поиску формальных и объективных методов
оценки способности организации-разработчика произвести ПО требуемой сложности в установленные
сроки и с требуемым уровнем качества.
SEI получил заказ от Министерства обороны США на проведение исследований в этой области.
В 1993 г. вышел отчет SEI:
CMM SW (Capability Maturity Model for Software)
Модель технологической зрелости организации-разработчика ПО
CMM
Слайд 6
Стандарт быстро получил широкое международное признание.
Причины популярности:
1. стандарт
предназначен только для разработки ПО;
2. по сравнению с другими
стандартами управление качеством для разработки ПО в нем прописаны достаточно подробно и детально.
Personal Software Process (PSP)
2005
Team Software Process (TSP)
2006
CMM
Слайд 7
CMM: модель технологической зрелости
Зрелые и незрелые организации
Следуя
идеям TQM, исследователи SEI оценку зрелости организаций решили проводить
на основе анализа выполняемых этой организацией процессов по разработке ПО.
Предполагалось, что организация является тем более зрелой (более предсказуемой), чем более установленными являются применяемые процессы.
Первые исследования организаций с этих позиций показали, что организации находятся на разных уровнях зрелости – была проведена классификация этих уровней, разработаны методы оценки уровня организации и предложены способы повышения уровня зрелости организации. Все это вместе составляет модель технологической зрелости организации, или модель зрелости ее технологических процессов.
Слайд 8
Модель технологической зрелости
Модель технологической зрелости – описание стадий
эволюции, которые проходят организации-разработчики по мере того, как они:
определяют,
реализуют,
измеряют,
контролируют,
cовершенствуют
процессы
создания ПО.
Модель помогает выбрать адекватную стратегию усовершенствования процессов, предоставляет методическую основу для определения текущего уровня их совершенства и выявления проблем, критичных для качества разрабатываемого ПО.
Слайд 9
Модель технологической зрелости
Основа модели
Process (технология, технологический процесс,
процесс) – последовательность шагов (действий), предпринимаемых с заданной целью.
Точнее: Производственный процесс – набор операций, методов, практик, используемых разработчиками для создания и сопровождения ПО и связанных с ним продуктов (планов проекта, проектных документов, кодов, сценариев тестирования, руководств пользователя).
Process Capability (продуктивность, совершенство технологии/процесса) – диапазон результатов, которые можно ожидать от организации, соблюдающей данный технологический процесс. Это понятие имеет отношение к будущим проектам, но базируется на фактических характеристиках технологии, достигнутых на предыдущих проектах. Индекс воспроизводимости процесса.
Слайд 10
Модель технологической зрелости
Основа модели
Process Performance (производительность технологии/процесса)
– фактические результаты, достигнутые организацией, соблюдающей данную технологию/процесс. Ассоциируется
с уже выполненными проектами. Таким образом, производительность фокусируется на достигаемых результатах, в то время как его продуктивность опирается на ожидаемые результаты.
Process Maturity (зрелость технологии) – степень определенности, управляемости, наблюдаемости, контролируемости и эффективности процесса, технологии. Фактически, это индикатор полноты технологии и степени последовательности (настойчивости) организации в ее применении на всех проектах. Зрелость определяет потенциал дальнейшего роста совершенства технологии/процесса.
Слайд 11
Модель не содержит никаких финансово-экономических, политических, организационных критериев выбора субподрядчика,
равно как и критериев возможности допуска к секретным работам
(вероятно, такие задачи и не ставились).
Речь идет только о критериях, описывающих способности потенциального субподрядчика в части разработки программных систем.
Модель технологической зрелости
Слайд 12
Способность организации качественно выполнять работу была названа зрелостью.
За основу при ее оценке создатели модели взяли процессы
организации.
Дальше они сделали несколько нетривиальных предположений, которые впоследствии были приняты и признаны справедливыми многими ИТ-специалистами (а может быть, и большинством из них).
Предположение 1. Существуют качественно отличающиеся уровни зрелости проектной организации, разрабатывающей информационные системы (в модели СММ таких уровней пять).
Предположение 2. Всякая организация-разработчик заинтересована в переходе на более высокий уровень зрелости (не только для того, чтобы повысить свои шансы в борьбе за контракты Министерства обороны, но и в целях собственного совершенствования).
Уровни зрелости
Слайд 13
Предположение 3. Переход возможен только на следующий по порядку уровень.
“Перескочить” через уровень нельзя (точнее, можно, но риски для
организации при этом резко возрастают).
Уровни образуют “лесенку”, по которой поднимается организация по мере собственного развития. Каждый уровень характеризуется определенными составом и свойствами процессов организации.
Уровни зрелости
Слайд 14
Уровни зрелости
В модели СММ определены пять уровней технологической
зрелости, по которым:
заказчики могут оценивать потенциальных поставщиков (претендентов
на получение контракта),
поставщики могут совершенствовать процессы создания ПО.
Каждому из уровней технологической зрелости внутри модели СММ дано краткое определение.
Слайд 15
Пять уровней зрелости
1. Начальный (Initial).
Технология разработки ПО в
целом характеризуется как импровизированная, применимая только к конкретному проекту,
а в некоторых случаях – даже как хаотическая. Лишь некоторые процессы определены, успех всецело зависит от усилий отдельных сотрудников.
2. Повторяемый (Repeatable).
Установлены базовые процессы управления проектом ПО, позволяющие отслеживать затраты, следить за графиком работ и функциональностью выходного продукта. Установлена дисциплина процессов, необходимая для повторения успеха предыдущих проектов в той же прикладной области.
Слайд 16
Пять уровней зрелости
3. Определенный (Defined).
Производственный процесс документирован и
стандартизован как для управленческих работ, так и для проектирования. Он
интегрирован в стандартный производственный процесс организации. Каждый проект использует утвержденную, адаптированную к особенностям данного проекта, версию стандартного производственного процесса организации.
4. Управляемый (Managed).
Собираются и накапливаются детальные метрики (объективные количественные данные) качества исполнения процессов и создаваемого продукта. Как производственный процесс, так и продукты оцениваются и контролируются с количественной точки зрения.
Слайд 17
Пять уровней зрелости
5. Оптимизируемый (Optimized).
Постоянное совершенствование процесса создания
ПО достигается благодаря количественной обратной связи с процессом и
реализации в нем передовых идей и технологий.
Слайд 18
Модель зрелости должна дать ответ на два вопроса:
На каком уровне зрелости находится организация?
Что надо делать,
чтобы перейти на следующий уровень?
Модель зрелости CMM является гибкой – она не содержит четких и конкретных (формализованных) указаний на этот счет, а дает некоторую схему поиска ответов на поставленные вопросы и рекомендации по ее использованию.
По мнению разработчиков, это расширяет применимость модели.
Модель зрелости
Слайд 20
Модель зрелости: элементы
Группы ключевых процессов.
Каждый уровень зрелости содержит
описание группы ключевых процессов, которые должны выполняться на этом
уровне.
Слайд 21
В CMM существуют отдельные работы, называемые ключевыми практиками. Они
связаны друг с другом по входам-выходам и служат исходным материалом
для построения процессов. CMM не дает указаний относительно способа построения процессов, т. е. связывания ключевых практик в логические последовательности.
Наборы ключевых практик называются группами ключевых процессов.
“Каждая группа ключевых процессов определяет блок связанных работ, в результате выполнения которых достигается совокупность целей, значимых для повышения продуктивности производственного процесса. Например, для группы ключевых процессов "Управление требованиями" цель состоит в том, чтобы согласовать требования, выдвигаемые к проекту разработки ПО заказчиком и разработчиком”.
Модель зрелости: элементы
Группы ключевых процессов
Слайд 22
Модель зрелости: элементы
Группы ключевых процессов,
распределенные по уровням
зрелости
Слайд 23
Модель зрелости: элементы
Цели.
Для каждой группы ключевых процессов определены
цели, которые нужно достигнуть для перехода на следующий уровень.
Цели достигаются за счет выполнения ключевых практик.
В CMM достижение цели означает, что после выполнения ключевых практик получается нужный результат, и он получается стабильно.
Способ достижения целей группы ключевых процессов может различаться от проекта к проекту в зависимости от различий в предметной области или среде.
Если эти цели на постоянной основе реализуются для всех проектов, то это означает, что организация достигла того уровня зрелости производственного процесса, которому соотнесена данная группа ключевых процессов.
Цели
Слайд 24
Модель зрелости: элементы
Они представляют собой свойства групп ключевых
процессов, которые должны быть реализованы на соответствующем уровне.
Эти свойства
описывают, как процессы реализованы и насколько они легализованы в организации, т.е. официально утверждены и согласованы с корпоративными процедурами, политиками, другими процессами.
Разделы
Описания ключевых процессов организованы по разделам. Их на каждом уровне пять.
Слайд 25
Разделы
Модель зрелости: элементы
1. Обязательства по выполнению.
Описывают действия, которые
должна выполнить организация, чтобы обеспечить установление и стабильность процесса.
Обычно касаются установления организационных политик и поддержки со стороны высшего руководства.
2. Необходимые предпосылки
Описывают предварительные условия, которые должны выполняться в проекте или организации для компетентного внедрения производственного процесса; обычно касаются ресурсов, организационных структур и требуемого обучения.
Слайд 26
Модель зрелости: элементы
Разделы
3. Выполняемые операции
В разделе описаны содержательные
работы, которые должны выполняться на данном уровне. Выполняемые операции обычно
включают в себя создание планов и реализацию конкретных операций, выполнение и отслеживание работ, а также, по мере необходимости, выполнение корректирующих действий.
4. Измерения и анализ
Раздел описывает, что необходимо сделать для измерения процесса и анализа результатов измерений. В этом разделе обычно приводятся примеры измерений, с помощью которых можно определить статус и эффективность выполняемых операций.
Слайд 27
Модель зрелости: элементы
Разделы
5. Проверка внедрения
В разделе описываются шаги,
позволяющие убедиться в том, что операции выполняются в соответствии с установленным
процессом. В раздел обычно входят проверки и аудиты со стороны руководства и работы по обеспечению качества ПО.
Слайд 28
Модель зрелости: элементы
Ключевые практики
Ключевые практики.
Описание каждого раздела
ключевых процессов выражается ключевыми практиками и подпрактиками, выполнение которых
способствует достижению целей группы ключевых процессов.
Слайд 29
Фактически “ключевая практика” – это общее название “действий”,
“работ”, “условий, которые должны выполняться”, “шагов”, “операций” и т.д.
“Каждая
группа ключевых процессов выражается ключевыми практиками, выполнение которых способствует достижению целей группы. Ключевые практики описывают инфраструктуру и операции, которые дают наибольший вклад в эффективное внедрение и установление группы ключевых процессов.
Каждая ключевая практика состоит из одного предложения, часто раскрываемого более подробным описанием, в которое могут входить примеры и уточнения. Ключевые практики, иногда называемые ключевыми практиками верхнего уровня, устанавливают основные политики, процедуры и операции для группы ключевых процессов. Компоненты подробного описания часто называются субпрактиками”.
Модель зрелости: элементы
Ключевые практики
Слайд 30
Ключевые практики описывают, что необходимо сделать, но их
не следует воспринимать в виде догм, устанавливающих, как нужно
достигать целей. Вообще говоря, цели группы ключевых процессов могут быть реализованы с помощью альтернативных практик.
Интерпретация ключевых практик должна быть разумной, допускающей достижение целей группы ключевых процессов эффективным способом, хотя, возможно, формально и отличающимся от рекомендованного CMM.
Модель зрелости: элементы
Ключевые практики
Слайд 31
Взгляд на деятельность по управлению ИТ, при котором вместо процессов рассматриваются
их составляющие – ключевые практики, а процессы присутствуют только
виртуально, как что-то, что может быть построено из ключевых практик, выглядит на первый взгляд несколько экзотично!
До сих пор задача совершенствования управления ИТ решалась внедрением готовых процессов из эталонной процессной модели. Теперь же возникает множество уровней, содержащих разрозненные (т.е. не объединенные в процессы) ключевые практики, и рекомендуемая последовательность продвижения по уровням.
Управление ИТ, согласно CMM, совершенствуется по мере продвижения на более высокий уровень зрелости.
Модель зрелости: элементы
Ключевые практики
Слайд 32
Критерии оценки уровня зрелости
CMM предлагает следующие критерии оценки
соответствия организации тому или иному уровню зрелости:
Целевые установки группы
ключевых процессов считаются удовлетворенными, если действующая в организации практика соответствует всем ключевым элементам практики СММ для данной области.
Группа ключевых процессов считается удовлетворяющей соответствующему уровню, если все целевые установки СММ в данной области удовлетворены и не удовлетворяющей, если полностью не удовлетворена хотя бы одна ее целевая установка.
Организация считается соответствующей уровню зрелости, если все ключевые области процессов этого и всех нижестоящих уровней удовлетворены и не считается соответствующей, если хотя бы одна ключевая область процессов этого или любого нижестоящего уровня не удовлетворяет СММ.
Слайд 33
Принципы CMM: резюме
Зрелость организации есть возможность выполнять сложные
проекты.
Зрелость организации определяется через зрелость ее технологических процессов.
Можно выделить
уровни зрелости организаций (процессов). В CMM их пять.
Слайд 34
Модель зрелости – описание способа оценки уровня зрелости
и путей перехода на следующий уровень.
Модель зрелости описывается:
– ключевыми
процессами, которые должны выполняться на каждом уровне зрелости;
–– каждый ключевой процесс описывается целями и набором разделов – атрибутов, определяющих различные аспекты выполнения процесса;
––– каждый атрибут описывается в виде ключевых практик – отдельных действий и условий, которые должны выполняться.
Принципы CMM: резюме
Слайд 35
Принципы CMM: резюме
Достижение уровня зрелости определяется по критерию:
–
уровень достигнут, если удовлетворены все ключевые процессы этого уровня;
–
ключевой процесс удовлетворен, если достигнуты все его цели;
– цели процесса достигнуты, если выполняются все ключевые практики всех разделов или их аналоги.