exam10 3 - stankin/design-part-2 GitHub Wiki
Концепция зрелости процессов в методологии CMMI.
Сохранение целостности комплексных моделей
Реферат к лекции 10Выполнил Маргита Елизавета, ИДБ-19-07
Проверил Шавыкина Таисия, ИДБ-19-07
Концепция зрелости процессов в методологии CMMI.
Определение методологии CMMI:
CMMI (Capability Maturity Model Integration) – набор моделей (методологий) совершенствования процессов в организациях разных размеров и видов деятельности. CMMI содержит набор рекомендаций в виде практик, реализация которых, по мнению разработчиков модели, позволяет достичь цели, необходимые для полной реализации определенных областей деятельности [1].
Речь идет о том, что действия, указанные в данной методологии, позволяют модернизировать существующие процессы предприятия. Следует отметить, что данная методика не является методологией разработки по типу Scrum или RUP, и в основном направлена на оценку/улучшение/сертификацию процессов предприятий.
Уровни зрелости
Несмотря на то, что и сами разработчики ПО, и их руководство зачастую очень хорошо знают свои постоянные проблемы, они не могут прийти к единому мнению о том, какие изменения необходимы компании в первую очередь. Без выработки единой стратегии проведения улучшений руководство не может найти взаимопонимания со своими сотрудниками относительно наиболее приоритетных задач по улучшению. Для достижения максимального результата от усилий, потраченных на улучшение процессов, необходимо иметь поэтапную стратегию развития, которая позволит улучшать зрелость процессов разработки постепенно, эволюционным путем.
Постоянное улучшение процессов базируется на постепенном взращивании культуры компании, а не на проведении революционных инноваций. В СММI представлена схема такого постепенного улучшения, разделенная по 5 уровням зрелости процессов.
Основным критерием оценивания, согласно которому можно сделать вывод о степени развития процессов предприятия, выступает уровень зрелости.
Уровень зрелости представляет собой некоторый определенный динамический предел совершенствования процесса. Каждый уровень зрелости стабилизирует существенную часть процессов организации. Иными словами, уровень зрелости – это показатель качества процессов компании. Каждый достигнутый уровень является отправной точкой для дальнейшего совершенствования процессов. Уровни зрелости состоят из заданного набора областей процессов [2]. Эти уровни измеряются по достижении специфических и общих целей, применимых к каждому заданному набору областей процессов.
В существующей концепции зрелости CMMI описываются пять уровней:
- Начальный.
- Управляемый.
- Определенный.
- Количественно управляемый.
- Оптимизируемый.
Далее будет рассмотрен каждый уровень по отдельности [3]:
Начальный – неупорядоченные и спонтанные процессы, работа организации зависит от отдельных личностей и их усилий. Однако, стоит заметить, что такие организации могут производить качественную продукцию, но зачастую с выходом за пределы бюджета и графика.
Управляемый – появляются политики и процедуры организации процессов, утвержденные на уровне компании. Однако в полной мере процессы существуют лишь в рамках отдельных проектов и являются ответом на некоторые события.
Определенный – всем процессам дана четкая характеристика, они понятны и описаны в стандартах, процедурах, инструментальных средствах и методах. Набор стандартных процессов организации, который лежит в основе определенного уровня зрелости, устоялся и со временем усовершенствовался. Эти стандартные процессы используются для обеспечения единообразия по всей организации. Процессы обычно описаны более подробно, строго, и решаются с опережением чем на предыдущем уровне зрелости.
Количественно управляемый – Из подпроцессов выбираются те, которые существенно влияют на общую производительность процесса. Управление этими выбранными подпроцессами осуществляется с использованием статистических и других количественных методов. Количественные цели, установленные для определения качества и производительности процесса, используются в качестве критериев в управляемых процессах. Количественные цели основываются на нуждах клиентов, конечных пользователей, организации и разработчиков процессов. Качество и производительность процесса понимаются с точки зрения статистики и контролируются на протяжении всего срока существования процессов. Критерии измерения качества и производительности процесса включаются в хранилище метрик организации, чтобы обеспечить в дальнейшем принятие решений, подкрепляемых фактами. В отличие от предыдущего уровня, производительность процессов контролируется с помощью статистических и других количественных методов и поддается количественному прогнозированию.
Оптимизируемый – Основное внимание данного уровня зрелости сосредоточено на непрерывном совершенствовании производительности процесса путем небольших постепенных усовершенствований и внедрения технических новшеств. Количественные цели усовершенствования процессов, установленные для данной организации, постоянно пересматриваются, чтобы отразить изменение коммерческих целей, и используются в качестве критериев управления усовершенствованием процессов. Выявляются, оцениваются и внедряются усовершенствования процессов, чтобы выяснить общие причины колебаний процессов и ощутимо усовершенствовать их. Отбор усовершенствований осуществляется на основании количественного представления о том, каков будет их ожидаемый вклад в дело достижения целей по усовершенствованию процессов организации в сопоставлении с затратами и влиянием на организацию. В отличие от предыдущего уровня, занимаются рассмотрением общих случаев колебания процессов и изменением процесса (то есть смещением средней величины производительности процесса) с целью усовершенствования производительности процесса для достижения поставленных количественных целей усовершенствования процессов.
Тезисное описание уровней зрелости представлено на рисунке ниже:
Исходя из приведенного описания уровней зрелости, можно сделать вывод и о том, как осуществляется переход с одного уровня на другой в рамках этой концепции: организации добиваются постепенного усовершенствования организационной зрелости, прежде всего, добившись стабильности на уровне проекта, а затем переходя на более высокий уровень, осуществляя непрерывное совершенствование процессов в масштабах всей организации, используя количественные и качественные данные для принятия решений.
Модели CMMI
Набор моделей CMMI включает три модели:
- CMMI for Development (CMMI-DEV). В ней рассматриваются процессы разработки продуктов и услуг.
- CMMI for Services (CMMI-SVC). В ней рассматриваются процессы управления цепочками поставок, приобретения и аутсорсинга в правительстве и промышленности. Модель CMMI-SVC предоставляет рекомендации по применению лучших практик CMMI в организации поставок. Лучшие практики в модели сосредоточены на деятельности по предоставлению качественных услуг клиентам и конечным пользователям. CMMI-SVC объединяет своды знаний, которые необходимы поставщику услуг.
- CMMI for Acquisition (CMMI-ACQ). В ней содержится руководство по предоставлению услуг внутри организации и внешним клиентам. Лучшие практики в модели сосредоточены на действиях по инициированию и управлению приобретением продуктов и услуг для удовлетворения потребностей клиентов и конечных пользователей.
Наиболее известной является модель CMMI for Development, ориентированная на организации, занимающиеся разработкой программного обеспечения, аппаратного обеспечения, а также комплексных систем [4].
CMMI и Agile
Существуют мнения о том, что многое может быть получено за счет совместного использования гибкой методологии и CMMI. Они, конечно же, совместимы. На уровне проекта, CMMI фокусируется на том, что проекты по-настоящему делаются, в то время как гибкая модель концентрируется на том, как проекты разрабатывают продукты. С какой-то стороны CMMI и гибкая модель могут дополнять друг друга, создавая синергию, приносящую пользу организации [5].
Организации могут получить определенную выгоду от методов, поскольку CMMI является списком областей, которые необходимо рассмотреть при улучшении процесса, в то время как гибкий подход (Agile) является подмножеством областей и как они могут работать в определенных ситуациях. Другими словами, CMMI предоставляет опыт разработки систем, которые помогут в использовании гибкого подхода в больших проектах. Гибкие методы предоставляют все те ответы в разработке ПО, которые нельзя получить из опыта CMMI.
CMMI | Гибкая методология (Agile) |
---|---|
Управление играет важную роль в обеспечении успеха проекта | Управление является всего лишь инструментом, который помогает избавиться от барьеров на пути к прогрессу |
Фокус направлен на организацию или предприятие | Фокус направлен на проект или команду |
CMMI полезно во многих смыслах, особенно когда целевой рынок растет | Гибкие методы обладают большими преимуществами в непонятных и непредсказуемых рынках |
CMMI акцентирует внимание на обзорах во время разработки | Гибкая методология использует параллельный способ разработки |
Организация получит лишь хорошие результаты от использования обеих методологий. У каждого подхода есть свои ценности. Тем не менее, есть определенные положительные стороны от совмещения различных технологий.
Процессные области
Процессные области – это то, из чего состоит вся модель. Для каждой из процессных областей существует ряд целей, которые должны быть достигнуты при внедрении CMMI в данной процессной области. Некоторые цели являются уникальными – они называются специальными. Общие цели применяются к нескольким процессным областям [6]. Далее представлен список процессных областей с краткой расшифровкой названия каждой:
- Менеджмент требований (Requirements Management). Управление требованиями предъявляемым к продуктам проекта или компонентам продукта, с целью выявления несоответствия между требованиями и планами проекта.
- Планирование проекта (Project Planning). Разработка и поддержание планов определяющих развитие проекта.
- Мониторинг и контроль проекта (Project Monitoring and Control). Обеспечение понимания стадии разработки проекта с целью принятия корректирующих действий в случае серьезного отклонения от плана.
- Менеджмент договоров с поставщиками (Supplier Agreement Management). Управление приобретением товаров и услуг от внешних поставщиков, с которыми заключены договоры.
- Измерение и анализ (Measurement and Analysis). Разработка и поддержание возможности измерения, используемой для поддержки нужд информационного менеджмента.
- Оценка (гарантирование) качества товаров и процессов (Process and Product Quality Assurance). Обеспечение поддержки и управления в соответствии с целями процессов и связанными с ними продуктами работы.
- Конфигурационный менеджмент (Configuration Management). Установка и поддержание целостности продуктов работы в результате использования идентификации конфигураций, конфигурационного контроля и конфигурационного аудита.
- Разработка требований (Requirements Development). Сбор и анализ требований потребителей к продуктам и компонентам продуктов.
- Техническое решение (Technical Solution). Разработка, дизайн и внедрение решений по соответствующим требованиям. Решения, дизайн и внедрения выражены продуктами, компонентами продуктов и связанными с данными продуктами процессами.
- Интеграция продукта (Product Integration). Сборка продукта из его составляющих, проверка качества интеграции, ее функциональности и выпуск продукта.
- Верификация (Verification). Гарантирование того, что выбранные продукты работы отвечают предъявляемым требованиям.
- Валидация (Validation). Демонстрация того, что продукт и его компоненты соответствуют его предполагаемому использованию в предполагаемой среде.
- Фокусирование на процессах организации (Organization Process Focus). Установление и поддержание понимания процессов организации и процессных активов, идентификация, планирование и внедрение улучшений связанных с данными областями.
- Описание процессов организации (Organization Process Definition). Установление и поддержание возможного к использованию массива процессов организации.
- Организационный тренинг (Organizational Training). Повышение знаний и способностей людей для выполнения ими своих ролей эффективно и рационально.
- Менеджмент интеграции проектов (Integrated Project Management). Установка и управление проектом и вовлечение всех заинтересованных лиц в интегрированный и определенный процесс. Данная область также затрагивает общее видение проекта командой разработчиков.
- Менеджмент рисков (Risk Management). Определение потенциальных проблем до их появления. В связи с этим процессы по снижению рисков могут планироваться и осуществляться на любом этапе разработки продукта или процесса.
- Интегрированные команды (разработчиков) (Integrated Teaming). Формирование и поддержание интегрированных команд для разработки продуктов работы (work products).
- Интегрированное управление поставщиками (Integrated Supplier Management). Мониторинг новых продуктов, оценка источников продуктов, которые могут удовлетворить требованиям к проекту и использование данной информации для выбора поставщиков.
- Анализ решений и разрешение(Decision Analysis and Resolution). Разработка решений на основе структурированного подхода, который позволяет оценить альтернативные решения на основе установленных критериев.
- Организационная среда для интеграции (Organizational Environment for Integration). Предоставление инфраструктуры для интегрированной разработки продуктов и процессов и управление людьми (персоналом) в целях интеграции.
- Производительный организационный процесс (Organizational Process Performance). Установление и поддержание количественного понимания производительности набора стандартизированных процессов организации и обеспечение информацией о производительности процессов и моделей для количественного управления проектами организации.
- Количественный менеджмент проекта (Quantitative Project Management). Количественно управлять определенным процессом в целях достижения установленного в рамках проекта качества и целей производительности.
- Организационные инновации и внедрение(Organizational Innovation and Deployment). Выбор и внедрение инноваций и улучшений, которые измеряемо, улучшают организационные процессы и технологии.
- Анализ причин и разрешение (Causal Analysis and Resolution). Идентификация причин дефектов и других проблем и принятие действий предотвращающих их появление в будущем.
Зачем нужна данная модель
Использование модели CMMI позволяет организации оценить эффективность процессов, установить приоритетные направления их усовершенствования, а также внедрить данные усовершенствования. Внедрение CMMI позволяет улучшить структуру и качество процессов, обеспечить стабильно высокое качество разработок и освоить процессы, которые могут служить основой для повышения конкурентной способности и дальнейшего развития и расширения компании.