Тема 2 Модель CMMI S_romanenko@mail.ru Пятиуровневая интегрированная модель совершенствования потенциальных возможностей (Capability Maturity Model Integrated for Software – СММI). Назначение модели. Базовые понятия модели: структура модели, уровни зрелости, ключевые области процесса, цели и ключевые приемы. Распределение ключевых областей процесса по уровням зрелости. Концепция зрелости процесса. Оценивание уровня зрелости. 1 Институт технологии программирования Software Engineering Institute (SEI) • Научно-исследовательский центр с государственным финансированием при университете Карнеги-Меллон • Основан в 1984 году • Собрал воедино специалистов по разработке ПО Стратегическая цель: обеспечить ведущие позиции в технологии программирования для улучшения качества систем, зависящих от программного обеспечения 2 Результаты деятельности SEI • 1987 г. - отчет “Метод для определения способностей подрядчиков в области технологии программирования” • 1989 г. - модель совершенствования способностей к разработке ПИ (CMM) • 2000-2002 г.г. – интегрированная модель совершенствования способностей к разработке ПИ (CMMI) 3 Особенности модели CMM • Задает совокупность базовых технологических действий и умений, которые необходимы и достаточны для предсказуемого и управляемого процесса создания ПИ, и указывает путь для непрерывного улучшения этого процесса • Нацелена только на разработку ПИ • Не определяет, как выполнять разработку ПИ (методы, технологии и процедуры не заданы) • Не определяет, с помощью каких инструментов следует выполнять разработку ПИ 4 Структура модели CMM Уровни зрелости Содержат Характеризуют Ключевые области процесса Способности Организуются через Достигают Цели Определяют Реализаци и процесса Общие черты Содержат Ключевые приемы Описывают Правила, условия 5 Концепция зрелости процесса • Степень зрелости процесса – степень, в какой на данном предприятии определен, управляется, измеряется, контролируется и совершенствуется процесс создания ПИ • Способность процесса - диапазон ожидаемых результатов, которых можно достичь, если следовать процессу • Производительность процесса - мера фактической результативности, достигнутой через следование процессу (производительность создания ПИ, продолжительность ЖЦ ПИ, уровень качества разрабатываемых ПИ) 6 Уровни зрелости процесса по CMM 1. Начальный 2. Повторяемый 3. Определенный 4. Управляемый 5. Оптимизируемый 7 2 Ключевые области второго уровня зрелости процесса • Requirements Management - Управление требованиями • Software Project Planning - Планирование проекта • Software Project Tracking and Oversight - Отслеживание и контроль проекта • Subcontractor Management - Управление субподрядчиками • Software Quality Assurance - Обеспечение качества • Software Configuration Management - Управление конфигурацией 8 2 Управление требованиями Цель ключевой области: обеспечение возможности установления единого с заказчиком понимания требований к разрабатываемому ПИ и его компонентам 9 2 Планирование проекта Цель ключевой области: создание условий для составления реалистичного проектного плана (эталонной модели хода выполнения проекта) и управления им Результат: набор согласованных планов выполнения проекта ПИ 10 2 Отслеживание проекта Цель ключевой области: создание условий для установления надежной отображаемости хода выполнения проекта Результат: руководители всех уровней могут эффективно управлять выполнением проекта на всех этапах ЖЦ ПИ 11 2 Управление субподрядчиками Цель ключевой области: обеспечение правильного выбора субподрядчиков и эффективного управления их деятельностью по разработке ПИ Содержит в себе элементы всех ключевых областей второго уровня зрелости по отношению к субподрядчику 12 2 Обеспечение качества Цель ключевой области: обеспечение концептуальной целостности всех компонентов ПИ и обеспечение требуемой эффективности и качества разрабатываемого ПИ Необходимо иметь специальный план по обеспечению качества, согласованный с остальными планами 13 2 Управление конфигурацией Цель ключевой области: обеспечение единой системы идентификации компонентов ПИ, контроля за изменениями и управление изменениями компонентов. Управление конфигурацией осуществляется на всех фазах ЖЦ ПИ 14 3 Ключевые области третьего уровня зрелости процесса • Organization Process Focus - Нацеленность процесса • Organization Process Definition - Определение процесса • Training Program – Повышение квалификации • Integrated Software Management – Интегрированное управление • Software Product Engineering – Технология разработки ПИ • Intergroup Coordination – Межгрупповая координация • Peer Reviews – Обзоры с коллегами 15 3 Нацеленность процесса Цель ключевой области: создание определенной организационной дисциплины во всех видах деятельности, которая обусловливает способности организации по разработке ПИ Результат: набор компонентов процесса для его определения 16 3 Определение процесса Цель ключевой области: определение, внедрение и постоянное улучшение выделенного набора компонентов процесса, который обеспечивает его эффективность по всем проектам Результат: перечень видов деятельности, набор процедур, стандартов и других ограничений, которые описываются в книге процесса для их однозначного понимания и строгого соблюдения 17 3 Повышение квалификации Цель ключевой области: создание условий для развития навыков и знаний у исполнителей проектов для более эффективного выполнения поставленных перед ними задач 18 3 Интегрированное управление Цель ключевой области: соединение деятельности по разработке ПИ и управлению в единый согласованный процесс, исходя из компонентов процесса второго и третьего уровней зрелости предприятия 19 3 Технология разработки Цель ключевой области: Определение, внедрение и постоянное следование внедренной технологии разработки ПИ 20 3 Межгрупповая координация Цель ключевой области: создание средств для эффективного взаимодействия отдельных групп разработчиков, выполняющих разные проекты ПИ, для повышения повторного использования накопленных в организации результатов и передовых технологических приемов. Межгрупповая координация должна планироваться, координироваться и управляться. 21 3 Обзоры с коллегами Цель ключевой области: обеспечение условий для раннего обнаружения и наиболее эффективного устранения ошибок и дефектов, обнаруженных в ПИ Следствие товарищеских обзоров - изучение причин, вызвавших дефекты, и выработка эффективных мероприятий по предотвращению выявленных причин в будущем 22 4 Ключевые области четвертого уровня зрелости процесса • Quantitative Process Management Количественное управление процессом • Software Quality Management Управление качеством 23 4 Количественное управление процессом Цель ключевой области: обеспечение возможности управления эффективностью процесса по реальным данным – метрикам процесса Определяются реальные отклонения текущих метрик процесса от значений целевых метрик устойчивого процесса и на основе анализа причин вырабатываются требуемые управляющие воздействия для обеспечения достижения значений целевых метрик 24 4 Управление качеством Цель ключевой области: создание возможности управления достижением целевых количественных показателей по качеству ПИ. Необходимо иметь план управления качеством 25 5 Ключевые области пятого уровня зрелости процесса • Defect Prevention - Предотвращение дефектов • Technology Change Management - Управление изменениями технологии • Process Change Management - Управление изменениями процесса 26 5 Предотвращение дефектов Цель ключевой области: создание условий для эффективного выявления причин возникновения дефектов в прошлом для предотвращения возникновения подобных дефектов в будущем (предотвращение дефектов, а не исправление ошибок!) 27 5 Управление изменениями технологии Цель ключевой области: обеспечение установленного порядка в определении эффективности передовых технологий и возможности управления их внедрением на предприятии При внедрении новых технологий должно отслеживаться соотношение преимуществ от их применения и понесенных затрат на их внедрение 28 5 Управление изменениями процесса Цель ключевой области: обеспечение возможности систематического выявления свойств процесса, требующих совершенствования, и управлении совершенствованием последних. Самоусовершенствование процесса должно происходить под управлением самого процесса так, чтобы процесс постоянно двигался в сторону все большей своей оптимизации. 29 Оценивание достижимости уровней зрелости Уровень зрелости считается достигнутым, если в результате оценивания предприятия по 10балльной шкале дипломированными внешними экспертами окажется, что все ключевые области данного уровня получили экспертную оценку не ниже 7 Оценивание каждого компонента процесса проводится по трем факторам: • подход; • уровень внедрения; • результат. 30 Оценка фактора “Подход” Определяет, как данный компонент процесса воспринимается непосредственно теми, кого он касается • 0 (плохо) –администрация не видит необходимости внедрения процесса; у предприятия нет возможности или желания; данная деятельность неочевидна; • 2 (слабо) – администрация начала признавать необходимость; начали создаваться необходимые условия для ведения данной деятельности; некоторые подразделения предприятия могут вести данную деятельность; • 4 (посредственно) – имеется большое, но не всеохватывающее желание руководителей всех уровней; имеется план введения данной деятельности в практику; реализованы несколько из необходимых условий для ведения данной деятельности; 31 Оценка фактора “Подход” (продолжение) 6 (условно удовлетворительно) – сильное желание руководства, причем некоторые руководители становятся активными проводниками данной деятельности; в нескольких подразделениях предприятия наблюдается внедрение данной деятельности; имеются в наличии все необходимые условия для ее ведения; • 8 (удовлетворительно) – полное желание руководства, большинство руководителей выступают как активные проводники данной деятельности; деятельность стала составной частью процесса; выполненные необходимые условия делают легким ведение данной деятельности на практике; • 10 (отлично) – руководство взяло на себя ведущую роль при огромном желании; превосходство данного предприятия признается за его пределами • 32 Оценка фактора “Уровень внедрения” Характеризует то, насколько хорошо данный компонент процесса распространен на предприятии. • 0 (плохо) – никакое подразделение не ведет данную деятельность; никакое подразделение не проявляет к ней интереса; • 2 (слабо) – фрагментное использование от случая к случаю; несистематическое использование; имеет распространение в некоторой части предприятия; ограниченный контроль над реализацией деятельности; • 4 (посредственно) – более систематическое использование; имеет распространение в большей части предприятия; контроль и проверка реализации деятельности осуществляется в нескольких частях предприятия; 33 Оценка фактора “Уровень внедрения” (продолжение) • 6 (условно удовлетворительно) – деятельность внедрена в большей части предприятия; в основном наблюдается систематическое использование по всему предприятию; контроль и проверка реализации деятельности выполняется в большинстве подразделений; • 8 (удовлетворительно) – деятельность внедрена практически на всем предприятии; систематическое использование практически на всем предприятии; имеет распространение в некоторой части предприятия; контроль и проверка реализации деятельности осуществляется практически на всем предприятии; • 10 (отлично) – повсеместное и систематическое выполнение на всем предприятии в течение заметного интервала времени; контроль и проверка реализации деятельности осуществляется практически на всем предприятии 34 Оценка фактора “Результат” Характеризует то, как сказывается данная деятельность на практических результатах предприятия. • 0 (плохо) – безрезультатно; • 2 (слабо) – получены отдельные разрозненные результаты; несистематические результаты; некоторые свидетельства о результативности деятельности для некоторой части предприятия; • 4 (посредственно) – получены систематические и положительные результаты для нескольких подразделений предприятия; несистематические результаты для остальных 35 подразделений; Оценка фактора “Результат” (продолжение) • 6 (условно удовлетворительно) – имеются положительные результаты, допускающие измерение в большей части предприятия; имеются систематические положительные результаты в течение заметного времени во многих подразделениях предприятия; • 8 (удовлетворительно) – получены положительные результаты, допускающие измерение практически на всем предприятии; получены систематические положительные результаты в течение заметного времени практически на всем предприятии; • 10 (отлично) – наблюдается превышение установленных требований; имеются систематические результаты мирового уровня; другие 36 разработчики перенимают опыт Развитие стандартов СММ Название стандарта Описание System Engineering CMM (SE-CMM) Ориентирован на вопросы системного инжиниринга – разработку продуктов (анализ требований, проектирование систем продукта и их интеграция) и их производство (планирование производственных линий и функционирование) Trusted CMM (T-CMM) Предназначен для обслуживания программных систем с особыми требованиями или защищенных, которые требуют гарантии высокого качества ПО System Security Engineering CMM (SSE-CMM) Сфокусирован на аспектах безопасности программной инженерии, обеспечивает безопасный процесс разработки, в том числе и безопасность членов команды People CMM (P-CMM) Рассматривает вопросы развития персонала в софтверных организациях Software Acquisition CMM (SA-CMM) Охватывает вопросы приобретения программных продуктов у внешних организаций Integrated Product Development CMM (IPD-CMM) Служит средой для интеграции усилий по разработке на всех этапах жизненного цикла и со стороны каждого отдела компании 37 Особенности модели CMMI • Является развитием модели CMM • Включает три модели: CMMI for Development (CMMIDEV), CMMI for Services (CMMI-SVC) и CMMI for Acquisition (CMMI-ACQ) • Задает два способа описания модели: Уровневое (поэтапное) представление модели (Staged Representation ) – элементы модели выстраиваются по уровням зрелости Непрерывное представление модели (Continuous Representation) – ориентировано на уровни возможностей и разбивает элементы модели по функциональным областям 38 Поэтапное представление модели процесса Уровни зрелости: 1. 2. 3. 4. 5. Выполнимый Управляемый Определенный Управляемый количественно Оптимизируемый 39 Непрерывное представление модели процесса: области процессов Категория «Управление процессом»: Категория «Управление проектом»: Категория «Разработка»: Категория «Поддержка»: Нацеленность процесса Определение процесса Обучение персонала Управление производительностью Внедрение новых технологий Планирование проекта Отслеживание и контроль проекта Управление субподрядчиками Интегрированное управление проектом Управление рисками Создание объединенной команды Количественное управление проектом Управление требованиями Разработка требований Разработка технических решений Интеграция программного продукта Верификация Валидация Управление конфигурацией Обеспечение качества процесса и продукта Измерение и анализ Анализ и принятие решений Организационное окружение для интеграции 40 Причинный анализ и предотвращение дефектов Пример анкеты при оценивании по ключевой области “Отслеживание проекта” Используется ли документированный проектный план для отслеживания деятельности по разработке ПИ и подготовке отчетов о состоянии проекта? 2. Проводит ли руководство предприятия обзор и утверждает все предложения отдельных лиц и групп по улучшению отслеживания хода выполнения проекта, а также контролируются ли изменения этих предложений? 3. Доводятся ли в явном виде до персонала разработчиков, руководителей, связанных с разработкой ПИ групп сведения об утвержденных изменениях намерений в отношении ПИ или намерений, влияющих на деятельность по разработке ПИ? 4. Отслеживаются ли критические компьютерные ресурсы и предпринимаются ли действия по стабилизации хода выполнения проектов? 1. 41 Пример анкеты (продолжение) Отслеживаются ли трудоемкость проектов и предпринимаются ли действия по исправлению положения при обнаружении отклонений реальной трудоемкости от плановой? 6. Отслеживается ли стоимость выполнения проектов и предпринимаются ли действия по исправлению положения при обнаружении отклонений? 7. Отслеживается ли график выполнения проектов и предпринимаются ли действия по исправлению положения при обнаружении отклонений от планового графика? 8. Отслеживается ли деятельность технического характера при выполнении проектов и предпринимаются ли действия по исправлению положения при проявлении рисков и непредвиденных трудностей? 5. 42 Пример анкеты (продолжение) Отслеживаются ли на протяжении всего времени разработки технические риски, риски по стоимости, ресурсам и графику? 10. Осуществляется ли хранение фактических данных измерений и данных по перепланированию деятельности по отслеживанию проекта для использования разработчиками и руководителями? 11. Совершают ли разработчики и руководители всех уровней регулярные обзоры для отслеживания продвижения в технических вопросах, планировании, исполнении и решении проблем, соответствия их планам разработки? 12. Проводятся ли официальные обзоры на определенных этапах проекта ПИ, а также при начале и завершении определенных стадий разработки для выявления достигнутых результатов? 9. 43