Программная инженерия Тема: Стандарты SEI CMM и его
3088-standarty_sei-cmm.ppt
- Количество слайдов: 15
Программная инженерия Тема: Стандарты SEI CMM и его особенности Группа 32-13 Мамаева А.А.
SEI - Software Engineering Institute Software Engineering Institute, Carnegie Mellon University - Институт Программной Инженерии в университете Карнеги-Меллона – это центр исследования и разработки, находящийся на федеральном финансировании и спонсируемый министерством обороны США. SEI ставит своей основной задачей создание методик для оценки уровня развития внутренних процессов в организации. В качестве подразделения широко известного благодаря разработкам в области вычислительной техники и программного инжиниринга, SEI имеет доступ к самым передовым техническим инновациям.
CMM - Capability Maturity Model Capability Maturity Model – модель оценки уровня зрелости процессов разработки вместе с его производными. Он был создан SEI. Первая официальная версия стандарта вышла в 1993 г., хотя работы над ним начались гораздо раньше – основные его положения были опубликованы еще в 1986 г.
Методология CMM разрабатывалась и развивалась в США как средство, позволяющее выбирать лучших производителей ПО для выполнения госзаказов. Для этого предполагалось создать критерии оценки зрелости ключевых процессов компании-разработчика и определить набор действий, необходимых для их дальнейшего совершенствования. В итоге методология оказалась чрезвычайно полезной для большинства компаний, стремящихся качественно улучшить существующие процессы проектирования, разработки, тестирования программных
Основные признаки зрелой организации в компании имеются четко определенные и документированные процедуры управления требованиями, планирования проектной деятельности, управления конфигурацией, создания и тестирования программных продуктов, отработанные механизмы управления проектами; эти процедуры постоянно уточняются и совершенствуются; оценки времени, сложности и стоимости работ основываются на накопленном опыте, разработанных метриках и количественных показателях, что делает их достаточно точными; актуализированы внешние и созданы внутренние стандарты на ключевые процессы и процедуры; существуют обязательные для всех правила оформления методологической программной и пользовательской документации; технологии незначительно меняются от проекта к проекту на основании стабильных и проверенных подходов и методик; максимально используются наработанные в предыдущих проектах организационный и производственный опыт, программные модули, библиотеки программных средств; активно апробируются и внедряются новые технологии, производится оценка их эффективности.
Основные признаки незрелой организации отсутствует долговременное и проектное планирование; процесс разработки программного обеспечения и его ключевые составляющие не идентифицированы, реализация процесса зависит от текущих условий, конкретных менеджеров и исполнителей; методы и процедуры не стандартизированы и не документированы; результат не предопределен реальными критериями, вытекающими из запланированных показателей, применения стандартных технологий и разработанных метрик; процесс выработки решения происходит стихийно, на грани искусства.
К преимуществам модели SEI SW-CMM относится то, что она ориентирована на организации, занимающиеся разработкой программного обеспечения. В данной модели удалось более детально проработать требования, специфичные для процессов, связанных с разработкой ПО. По этой причине в SEI SW-CMM приведены не только требования к процессам организации, но и примеры реализации таких требований.
Основной же недостаток SW-CMM заключается в том, что модель не авторизована в качестве стандарта ни международными, ни национальными органами по стандартизации. Впрочем, CMM давно уже стала промышленным стандартом де-факто. К недостаткам данной модели необходимо отнести также большие внешние накладные расходы на приведение процессов компании в соответствие модели СММ, нежели к моделям ISO 9000. Это связано с меньшей распространенностью модели в мире, меньшим количеством консалтинговых органов и экспертов и, в результате, с гораздо большими внешними затратами на консалтинг и на подтверждение соответствия процессов независимой третьей стороной. Тем не менее, CMM, несомненно, полезнее ISO 9000.
Создатели стандарта SEI SW-CMM определили пять уровней зрелости процессов разработки. Чем выше уровень зрелости, тем более предсказуемыми и управляемыми становятся процессы и, как следствие, более предсказуемо и качественно будут реализованы проекты. Каждый из уровней, кроме первого, состоит из нескольких ключевых областей процесса, содержащих цели, обязательства по выполнению, осуществимость выполнения, выполняемые действия, их измерение и анализ и проверку внедрения. Таким образом, СММ фактически является комплексом требований к ключевым параметрам эффективного стандартного процесса разработки ПО и способам его постоянного улучшения. Выполнение этих требований, в конечном счете, увеличивает вероятность достижения предприятием поставленных целей в области качества.
Уровни зрелости Начальный Повторяемый Определённый Оптимизирующий Управляемый
Уровень 1. Начальный (Initial) Технология полностью импровизированная, в некоторых случаях — даже хаотическая. Успех всецело зависит от усилий отдельных сотрудников. Ключевые области процесса этого уровня не зафиксированы.
Уровень 2. Повторяемый (Repeatable) Базовые процессы управления проектом ПО установлены. Есть дисциплина соблюдения, что обеспечивает возможность повторения успеха предыдущих проектов в той же прикладной области Ключевые области процесса разработки ПО этого уровня: Управление требованиями. Планирование проекта разработки ПО. Отслеживание хода проекта и контроль. Управление субподрядчиками разработки ПО. Обеспечение уверенности в качестве разработки ПО. Управление конфигурацией продукта.
Уровень 3. Определяемый (Defined) Процессы задокументированы, стандартизованы и интегрированы в единую для всей организации технологию создания ПО. Для каждого проекта используется адаптивный вариант этой технологии. Ключевые области процесса разработки ПО этого уровня: Цель упорядочивания работы организации. Определение (стандартного) процесса организации. Программа обучения. Интегрированное управление разработкой ПО. Технология разработки программных продуктов. Межгрупповая координация. Экспертные (совместные) оценки коллег.
Уровень 4. Управляемый (Managed) Собираются и накапливаются метрики (объективные данные) о качестве исполнения процессов и выходной продукции. Управление процессами и выходной продукцией осуществляется по количественным оценкам. Ключевые области процесса разработки ПО этого уровня: Количественное управление процессом. Управление качеством ПО.
Уровень 5. Оптимизирующий (Optimized) Совершенствование технологии создания ПО осуществляется непрерывно на основе количественной обратной связи от процессов и пилотного внедрения инновационных идей. Ключевые области процесса разработки ПО этого уровня: Предотвращение дефектов. Управление изменением технологий. Управление изменением процесса.