THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Введение

Важнейшей частью современных сложных систем являются программные продукты - интеллектуальная составляющая. Программные продукты сейчас применяются для решения задач управления практически во всех сферах деятельности человека: в экономике, социальной, военной и других областях. Обеспечение высокого качества отечественных программных продуктов при их массовой разработке и поставке для различных сфер применения в стране и на мировом рынке стало стратегической задачей.

В настоящее время сложилось два почти независимых направления стандартизации в программной инженерии и обеспечении качества программных продуктов, которые условно можно назвать профилями стандартов ISO (Международной организации стандартизации) и моделями зрелости SEI (Института программной инженерии США). Первые достаточно полно представлены в [ , ], а вторые - в [ , ]. Именно моделям зрелости посвящено основное содержание статьи.

Для обеспечения конкурентоспособности в мире сложных программных продуктов и возможности их успешного экспорта они должны быть разработаны и сертифицированы в соответствии с требованиями профилей международных стандартов на базе ISO 9000:2000 или моделей зрелости - CMMI:2003 (Capability Maturity Model Integration - Интегрированная модель оценивания зрелости программной инженерии). Эти два направления методологически очень близки и частично пересекаются посредством взаимных ссылок.

Совершенствование технико-экономических показателей и качества программных продуктов, а также предотвращение ошибок и дефектов обеспечивается применением современных технологий программной инженерии и систем автоматизированного проектирования. Это высокопроизводительные, ресурсосберегающие технологии создания комплексов программ высокого качества, надежности и безопасности, имеющие своей целью сокращение общих затрат ресурсов на проектирование, реализацию и сопровождение программных средств (ПС). Для этого, прежде всего, необходимо применять методы и средства анализа и проектирования, обеспечивающие конкретизацию и максимально точное представление целей, назначения и функций с начала жизненного цикла (ЖЦ) ПС и предотвращающие распространение возможных системных дефектов на последующие этапы разработки. Такие технологии программной инженерии позволяют исключать или значительно снижать уровень системных, алгоритмических и программных ошибок в программных продуктах, передаваемых для эксплуатации. Кроме того, они эффективны при модификации и сопровождении ПС, а также при изменениях внешней среды.

Для удостоверения качества, надежности и безопасности применения сложных, критических систем, используемые в них программные продукты, подвергаются сертификации аттестованными, проблемно-ориентированными испытательными центрами или лабораториями. Такие испытания необходимо проводить, когда программы управляют сложными, критическими процессами или обрабатывают столь важную информацию, что дефекты в них или недостаточное качество могут нанести значительный ущерб. Сертификационные испытания должны устанавливать соответствие комплексов программ требованиям документации и допускать их к эксплуатации в пределах изменения параметров внешней среды, исследованных при проведенных проверках. Эти виды испытаний характеризуются наибольшей строгостью и глубиной проверок, должны проводиться специалистами, независимыми от разработчиков и от заказчиков (пользователей).

Основой сертификации должны быть детальные и эффективные программы и методики испытаний комплексов программ на соответствие стандартизированным требованиям заказчиков, специально разработанные тестовые задачи и генераторы для их формирования, а также высокая квалификация и авторитет испытателей. Применение на предприятиях-разработчиках программных продуктов, сертифицированных систем качества обеспечения ЖЦ ПС на базе требований ISO 9000:2000 или CMMI:2003 , гарантирует высокое, устойчивое управление качеством процессов и продуктов их жизненного цикла, а также позволяет во многих случаях облегчать сертификацию конечного программного продукта. Поэтому заказчики сложных программных проектов стремятся выбирать подрядчиков-исполнителей, имеющих сертификаты, удостоверяющие применение ими систем гарантирования качества на основе адаптированных профилей международных стандартов или моделей зрелости.

Пробелы в обучении методам программной инженерии оставляют широкое поле для произвола специалистов при оценивании качества их труда, а также для появления многочисленных дефектов и ошибок в проектах программных средств. Возрастание сложности и ответственности современных задач, решаемых программами, а также возможного ущерба от недостаточного качества их результатов, значительно повысило актуальность освоения методов полного, стандартизированного описания требований к характеристикам качества и способов измерения их реальных, достигнутых значений на различных этапах жизненного цикла ПС. Резко возросла необходимость знания специалистами понятий, определений и способов оценивания характеристик качества программных продуктов.

Быстрое увеличение и усложнение комплексов программ приводит к созданию крупных программистских коллективов с профессиональным разделением труда, в которых необходимо регламентирование координированной деятельности групп специалистов над единым проектом. Обещания разработчиков в контрактах создать высококачественные программы в согласованные сроки во многих случаях не выполняются. Часто это происходит в силу того, что заказчик и исполнитель оценивают уровень качества по разным критериям, и согласованности по этому вопросу у них нет, а подход к оценке качества программ недостаточно формализован. Кроме того, иногда не хватает умения правильно оценить ресурсы, необходимые для достижения высокого качества программ. В результате качество программной продукции зачастую остается низким, неподдающимся достоверной оценке и не конкурентоспособным на международном рынке. Поэтому важнейшей проблемой развития и применения многих современных систем является обучение и воспитание специалистов в области программной инженерии, использованию международных стандартов, способствующих высокому качеству ПС и достоверному его оцениванию с основной целью - сделать процессы проектов управляемыми , а результаты - предсказуемыми . Необходимо умение формализовать требования и достигать конкретные значения характеристик качества функционирования и применения сложных комплексов программ с учетом тех ресурсов, которые доступны для обеспечения и совершенствования этого качества.

Модель зрелости CMMI - 1.1 , уточняет и совершенствует предшествовавшие модели CMM (см. ), а также частично учитывает основные требования существующих международных стандартов в области менеджмента программных средств. Значительное внимание в CMMI уделяется процессам разработки и учету итераций при изменении требований заказчиков, их прослеживанию к функциям, компонентам, тестам и документам проекта. В последнее время появилась информация о модернизации институтом SEI версии 2003-го года CMMI - 1.1 на основе накопленного опыта и отзывов предприятий. Предполагается выпустить в 2006 году новую, существенно модернизированную, версию модели CMMI - 1.2 , после чего постепенно должно прекратиться применение версии 1.1. До конца 2007 года должен проводиться переход пользователей на версию CMMI - 1.2 , а в дальнейшем она станет обязательной для формализованной оценки качества (сертификации) технологии предприятий в области программной инженерии. При этом срок действия сертификата будет ограничен тремя годами. К этим изменениям следует готовиться заказчикам и разработчикам крупных ПС до официальной публикации институтом SEI версии 1.2.

Структура и содержание модели зрелости CMMI - 1.1

Два варианта модели CMMI - 1.1 созданы для обеспечения непрерывного оценивания комплекса процессов в определенной области создания программных средств или для поэтапного оценивания и совершенствования зрелости предприятия, а также для организации ЖЦ комплексов программ в целом. Модели CMMI представляют помощь специалистам при организации и совершенствовании их продуктов, а также по упорядочению и обслуживанию процессов разработки и сопровождения ПС. Концепция этих моделей охватывает управление и оценивание зрелости сложных систем, инженерии программных средств, а также процессов создания интегрированных программных продуктов и совершенствования их разработки. Компоненты непрерывной и поэтапной моделей в значительной степени подобны, могут выбираться и применяться в разном составе и последовательности использования в зависимости от свойств и характеристик конкретных проектов.

Варианты описания моделей построены по единой схеме, которая включает общие разделы:

  • предисловие;
  • 1 раздел - введение;
  • 2 раздел - модель компонентов;
  • 3 раздел - терминология;
  • 4 раздел - содержание уровней и главные компоненты каждого варианта модели (разработка целей и процедур);
  • 5 раздел - структура взаимодействия процессов; аннотированы четыре категории процессов раздела 7, их общий обзор и схемы взаимодействия CMMI процессов:
    • менеджмент процессов;
    • менеджмент - управление проектом;
    • инжиниринг (технология);
    • поддержка;
  • 6 раздел - использование модели CMMI - краткие рекомендации для пользователей по применению модели и обучению; отмечается совместимость и соответствие процессов модели, с регламентированными процессами предыдущей модели СММ в части 2 и 3 стандарта ISO 15504 .
  • 7 раздел - последний, самый большой в каждом стандарте, он занимает около 500 страниц из полного объема документа, который составляет свыше 700 страниц. В этом разделе представлены подробные рекомендации для реализации каждого из перечисленных в нем процессов, которые учитывают особенности конкретной модели.

Первый вариант (непрерывной) модели отражает документ: Capability Maturity Model Integration (CMMI) for Systems Engineering/ Software Engineering/Integrated Prod-uct and Process Development, Version 1.1, Continuous Representation (CMMI-SE/SW/IPPD, V1.1, Continuous ). Интегрированная модель оценивания зрелости инженерии систем/программной инженерии/интегрированных продуктов и процессов разработки - непрерывное представление . В этой модели седьмой раздел составляют процессы:

  • менеджмент процессов:
    • организация обучения;
    • организация преобразования (изменений) процессов;
    • организация инноваций и расширений;
  • управление проектом:
    • планирование проекта;
    • мониторинг и контроль процессов проекта;
    • управление рисками;
    • количественное управление проектом;
  • инженерия (технология):
    • управление требованиями;
    • разработка требований;
    • технические решения;
    • интеграция продукта;
    • верификация;
    • валидация (аттестация, утверждение);
  • поддержка:
    • управление конфигурацией;
    • анализ и принятие решений на изменения;
    • анализ причин и разрешение проблем (устранение дефектов).

В пяти приложениях приводятся:

А - состав использованных литературных источников и документов, в котором, однако, не упоминаются стандарты ISO ;

В - сокращения;

С - глоссарий на основе терминологии ISO , применяемой только в четырех стандартах ISO 9000, ISO 12207, ISO 15504:1-9, ISO 15288 ;

D - описания требований и предложений для формирования компонентов модели по уровням зрелости;

Е - список участников разработки CMMI - проекта.

В этой модели внимание акцентировано на организационных процессах, на планировании, управлении и контроле процессов реализации проектов программных средств, на разработке и управлении требованиями к программным продуктам. Ниже представлены примеры детализации в CMMI некоторых из них .

Планирование проекта в этой также как и во второй модели включает:

  • оценку возможного размера (масштаба) программного продукта;
  • оценку сложности функций и характеристик проекта ПС;
  • определение модели и этапов жизненного цикла комплекса программ;
  • технико-экономическое обоснование проекта - определение стоимости, трудоемкости и длительности ЖЦ ПС;
  • разработка поэтапного графика работ и бюджета проекта;
  • анализ, идентификация и оценка проектных рисков;
  • планирование и управление документированием процессов и продуктов в ЖЦ проекта ПС;
  • планирование и распределение технических и людских ресурсов по этапам ЖЦ ПС;
  • планирование обеспечения знаний и квалификации коллектива специалистов для реализации проекта;
  • обобщение и анализ совокупности планов проекта ПС;
  • согласование работ и ресурсов по этапам ЖЦ разработчиком с заказчиком проекта ПС;
  • документирование плана работ и утверждение его менеджером разработчиков проекта.

Процессы разработки требований к программному продукту аналогичны процессам в обеих моделях и включают:

  • выявление реальных потребностей заказчика и пользователей к функциям и характеристикам программного продукта;
  • разработку и согласование между заказчиком и разработчиком исходных, базовых требований к функциям программного продукта;
  • определение доступных ресурсов и ограничений проекта комплекса программ;
  • декомпозицию базовых исходных требований к функциям ПС в набор требований к компонентам и тестам комплекса программ;
  • формализацию требований к интерфейсам между компонентами, с операционной и внешней средой;
  • разработку концепции программного продукта и сценариев его использования;
  • разработку требований к обобщенным характеристикам функциональной пригодности и использованию функций программного продукта по назначению.

Управление требованиями в обеих моделях включает:

  • достижение однозначного понимания требований к проекту ПС заказчиком и разработчиками;
  • получение заказчиком от разработчиков обязательств выполнить все его требования к программному продукту;
  • согласованное между заказчиком и разработчиком управление изменениями требований к проекту ПС;
  • обеспечение прослеживания корректности изменений от общих требований к проекту ПС до требований к компонентам и частным процессам;
  • выявление и идентификация несоответствий между процессами разработки проекта и требованиями заказчика.

Второй вариант представляет документ: Capability Maturity Model Integration (CMMI) for Systems Engineering/Software Engineering/Integrated Product and Process Development, Version 1.1, Staged Representation (CMMI-SE/SW/IPPD, V1.1, Staged ). Интегрированная модель оценивания зрелости инженерии сложных систем/программной инженерии/интегрированных продуктов и процессов разработки - поэтапное представление . Модель базируется на сохранении концепции пяти уровней зрелости CMM [ , ]. Состав процессов практически повторяет приведенный выше для первого варианта модели, но в несколько иной последовательности и с относительно небольшими дополнениями.

Первый уровень отличается значительной неопределенностью состава и содержания процессов в различных относительно простых проектах, поэтому он в документе не комментируется. Поэтому при уточнении и детализации содержания процессов в поэтапном варианте CMMI рекомендуется ограничиваться четырьмя основными уровнями :

  • второй уровень - формализует базовое управление проектами:
    • управление требованиями;
    • планирование проекта;
    • мониторинг и контроль проекта;
    • управление соглашениями с поставщиками;
    • измерение и анализ процессов и продуктов;
    • обеспечение качества процессов и продуктов;
    • управление конфигурацией;
  • третий уровень - содержит стандартизацию основных процессов:
    • разработка требований;
    • технические решения;
    • интеграция продукта;
    • верификация;
    • валидация (аттестация);
    • содержание организационных процессов;
    • определение организационных процессов;
    • организация обучения;
    • интегрированное управление процессами и продуктами проекта;
    • управление рисками;
    • интеграция команды разработчиков;
    • интегрированное управление поставщиками;
    • анализ и разрешение проблем (устранение дефектов);
    • организация окружения для интеграции;
  • четвертый уровень - определяет количественное управление:
    • организация представления качества процессов;
    • количественное управление всем проектом и ресурсами;
  • пятый уровень - оптимизационный, непрерывное совершенствование:
    • организация, инновации, количественное управление процессами и обеспечением ресурсами;
    • анализ причин дефектов, совершенствование качества и управления процессами и продуктами.

Приложения во втором варианте модели подобны по составу приведенным выше приложениям для первой модели. Рекомендуется на каждом более высоком уровне зрелости применять все процессы предыдущих нижних уровней. В обоих вариантах модели каждый, выделенный выше, базовый процесс комментируется подробными рекомендациями для его практической реализации, которые содержат унифицированные по структуре описания объемом около 20 - 30 страниц:

  • общие цели процесса, которые должны быть достигнуты;
  • вводные замечания и общее описание функций процесса;
  • специфические цели процесса;
  • менеджмент процесса;
  • разработка требований к процессу;
  • взаимодействие и интерфейсы с другими процессами;
  • практические цели - требуемые результаты действий процесса;
  • планирование действий в определенном процессе;
  • анализ и валидация (утверждение) результатов реализации процесса;
  • мониторинг и контроль выполнения процесса.

Эти рекомендации по объему, содержанию и полноте описаний базовых процессов подобны ряду стандартов профиля ЖЦ ПС, представленного в . Упорядочение и оценка полноты используемых процессов в соответствии с уровнями зрелости, позволяет устанавливать производственный потенциал предприятий - разработчиков программных продуктов по прогнозируемому качеству процессов и результатов их деятельности и готовности к сертификации на соответствие определенному уровню зрелости модели CMMI - 1.1.

Особое внимание в моделях CMMI уделяется процессам менеджмента проекта ПС. Эти требования и процессы моделей практически соответствуют регламентированным и детализированным рекомендациям в стандартах ISO 9001:2000 и основных компонентах профиля стандартов жизненного цикла сложных ПС [ , ]. Требованиям к процессам в функциональных разделах 4-8 стандартов ISO 9001, ISO 9004, ISO 90003 может быть сопоставлен адекватный по содержанию ряд разделов в модели CMMI (на Рис. 1 зона перекрытия содержания). Общность процессов и требований состоит в подобии: состава, терминологии, структуры, перечня рекомендуемых процессов управления, планирования, учета доступных ресурсов, реализации процессов программной инженерии, оценивания и организации специалистов.

Рисунок 1. Общность процессов и требований стандартов и моделей зрелости

С точки зрения поддержки и регламентирования полного жизненного цикла крупных проектов программных средств к недостаткам моделей CMMI относительно профиля существующих стандартов ISO можно отнести следующие:

Для определения представленных выше уровней зрелости процессов обеспечения жизненного цикла ПС разработан и первоначально утвержден в 1998 году обширный технический отчет ISO 15504 , состоящий из девяти частей и множества приложений. В нем изложены модель зрелости CMM и восемь базовых принципов программной инженерии на основе стандарта ISO 9000:2000 . Затем в ISO этот документ претерпел коренную переработку, сокращение, упрощение структуры и содержания, при полном сохранении целей и концепции, и утвержден как стандарт в составе пяти частей.

Стандарт ISO 15504:1-5:2003-2006 регламентирует оценку и аттестацию зрелости процессов создания, сопровождения и совершенствования программных средств и систем, выполняемых предприятиями:

  • для установления состояния собственных технологических процессов и их совершенствования;
  • для определения пригодности собственных процессов для выполнения определенных требований или классов требований заказчиков;
  • с целью его пригодности для выполнения определенных договоров с заказчиками ПС и систем.

Стандарт способствует: самоаттестации зрелости предприятий, обеспечению адекватного управления аттестуемыми процессами, определению профиля рейтингов процессов, а также подходит к любым сферам применения и размерам ПС и систем. Применение стандарта направлено на выработку предприятиями и специалистами культуры постоянного совершенствования зрелости технологий обеспечения ЖЦ ПС, отвечающих бизнес-целям проектов и оптимизации использования доступных ресурсов. Аттестация зрелости процессов предприятий обеспечивает возможность их сопоставления и выбора, предпочтительных для определенных проектов:

  • для заказчиков, покупателей, пользователей программных продуктов и систем: способность определять текущую и потенциальную зрелость процессов жизненного цикла у поставщика;
  • для поставщиков и разработчиков: способность определять текущую и потенциальную зрелость собственных процессов жизненного цикла ПС и систем, области и приоритеты усовершенствования процессов;
  • для аттестаторов зрелости: основу для проведения и совершенствования процессов аттестации.

Аттестация в стандарте рассматривается в двух аспектах : для усовершенствования процессов ЖЦ ПС и систем конкретного предприятия и для определения соответствия декларированной зрелости процессов обеспечения проекта или предприятия реальным используемым процессам. Это отражено в следующих пяти частях стандарта ISO 15504:1-5:2003-2006 .

Часть 1 - Концепция и словарь. Содержит общую информацию о процессах аттестации зрелости ПС и систем и рекомендации по использованию частей стандарта. Изложены общие требования к аттестации, терминология, структура, определена область применения остальных частей стандарта.

Часть 2 - Выполнение (производство) аттестации. Включает детальные требования к проведению процессов аттестации как основы для совершенствования и определения уровня зрелости технологических процессов обеспечения ЖЦ ПС и систем. Документ определяет процессы выполнения аттестации, модели рекомендуемых процессов аттестации и верификации процессов, с тем чтобы они были объективными, содержательными и репрезентативными.

Часть 3 - Руководство по производству аттестации. Содержит обзор технологии выполнения процессов аттестации зрелости и интерпретации реализации требований. В нем отражено: исполнение аттестации; измерительные средства для определения процессов зрелости; выбор и применение средств аттестации; оценка компетентности аттестаторов; верификация соответствия аттестации декларированным требованиям. Средства аттестации могут использоваться предприятиями при планировании, менеджменте, мониторинге, контроле и усовершенствовании программных продуктов и систем, при их приобретении, разработке, применении и сопровождении.

Часть 4 - Руководство пользователей для процессов усовершенствования и определения зрелости процессов по этим двум аспектам. Рекомендуется ряд шагов, которые включают: применение результатов процессов аттестации; постановка целей аттестации зрелости; определение исходных данных для аттестации; оценка возможного снижения результирующих рисков; шаги по усовершенствованию процессов; шаги по определению уровня зрелости; сравнение результатов анализа аттестации с требованиями.

Часть 5 - Образец модели процессов аттестации на соответствие требованиям, представленным в части 2. Обширный документ (162 стр.) содержит примеры практического применения предыдущих частей стандарта для организации, оценивания и совершенствования аттестации зрелости процессов жизненного цикла для различных областей использования, проектов программных средств и предприятий.

При практической реализации проектов и обеспечении жизненного цикла сложных ПС разработчикам и поставщикам иногда трудно определить и выделить для применения преимущества моделей CMMI . В зависимости от традиций предприятия и особенностей крупного проекта ПС зачастую целесообразно использовать как основной полный профиль стандартов ISO , а для оценивания заказчиками уровня зрелости менеджмента, организационного и технологического обеспечения проектов ПС применять конкретные рекомендации CMMI . Эти рекомендации могут эффективно использоваться при сертификации качества процессов на предприятиях, обеспечивающих ЖЦ ПС, как альтернатива или наряду с сертификацией по комплексу стандартов менеджмента ISO 9000 , в зависимости от особенностей проекта и требований заявителя на сертификацию программного продукта или технологии обеспечения его жизненного цикла.

Организация сертификации программных продуктов

Сертификация состоит из ряда организационных процессов, составляющих систему сертификации , эти процессы поддерживаются регламентированными процедурами и документами и должны выполняться квалифицированными, аттестованными экспертами - инспекторами. Для сертификации предприятия-разработчика и результатов его деятельности - программных продуктов, моделями CMMI или профилями стандартов ISO [ , ] рекомендуется определенная дисциплина, которая должна быть адаптирована к конкретным характеристикам объектов и внешней среды жизненного цикла ПС. Перечисленные ниже процессы и документы ориентированы на крупные проекты, и их состав может сокращаться по согласованию между разработчиками, заказчиками и сертификаторами в более простых случаях.

Работы по сертификации начинаются с аккредитации органа или испытательной лаборатории, формирования и представления в Центральный орган по сертификации заявки и комплекта документов для принятия решения о целесообразности аккредитации. При положительных результатах проверки оформляется и выдается аттестат аккредитации.

Положение об органе сертификации или лаборатории является основным документом, устанавливающим тематическую область аккредитации, юридический статус, функции, структуру, права и обязанности, методы, средства и организацию испытаний. Паспорт сертификационной лаборатории (центра) должен содержать сведения об оснащенности средствами вычислительной техники, необходимыми для проведения испытаний, о персонале и кадровом составе, оснащенности инструментальными средствами проведения испытаний, обеспечении нормативными, техническими и методическими документами, а также другими ресурсами, необходимыми для испытаний.

Руководство по качеству содержит изложение принципов, описание методов и процедур, связанных с выполнением основных функций и задач органа по сертификации или лаборатории, обеспечивающих качество проводимых испытаний и доверие к результатам оценок, испытаний и экспертиз. Руководство по качеству, как правило, включает разделы [ TWLSC$

  • политика в области обеспечения качества проведения испытаний и экспертиз;
  • оснащение центра актуальными методологическими материалами и программно-инструментальными средствами испытаний;
  • формализация требований к объектам испытаний;
  • политика в области технической оснащенности центра и повышения квалификации персонала;
  • архивация и контроль сохранности документации результатов сертификации.

Заявитель для оценивания продукции или процесса, подлежащих сертификации, направляет в орган по сертификации заявку по форме, принятой в системе сертификации. Орган по сертификации проводит работу по подготовке и организации сертификации продукции по заявке. Эта работа включает в себя:

  • выбор схемы сертификации с учетом специфики продукции (объем, технология, требования нормативных документов и др.) и предложений разработчика;
  • определение количества и порядка отбора образцов и компонентов, подлежащих испытаниям, если это не указано в стандартах;
  • выбор и определение аккредитованной испытательной лаборатории, которая должна проводить испытания;
  • подготовку проекта договора на выполнение работ.

Подготовительная часть работы по сертификации заканчивается выпуском решения по форме, принятой в системе сертификации. Решение вместе с проектами договора на выполнение работ направляется заявителю. При организации сертификационных испытаний осуществляется подбор и изучение действующих нормативных документов на продукцию, заявленную к сертификации, методов ее испытаний и оценки результатов.

Заявитель принимает окончательные решения, какие элементы системы качества, участки и виды организационной и технической деятельности подлежат проверке при сертификации в заданный интервал времени. Заявитель должен создать условия и представить документы для обеспечения процессов проверок. Он может представить в орган по сертификации протоколы испытаний, проведенных при разработке и постановке продукции на производство, документы об испытаниях, выполненных сторонними испытательными лабораториями и другие документы, свидетельствующие о соответствии технологии или продукции установленным требованиям. На основе анализа представленных с заявкой документально подтвержденных доказательств соответствия его продукции установленным требованиям, орган по сертификации может принять решение о сокращении объема испытаний или о выдаче сертификата.

Испытания проводятся испытательными лабораториями, аккредитованными на проведение только тех испытаний, которые предусмотрены в их нормативных, аккредитационных документах. При невозможности проведения испытаний на испытательной базе аккредитованной лаборатории, испытания могут проводиться персоналом этой лаборатории у изготовителя или потребителя данной продукции с использованием собственных средств испытательной лаборатории или имеющихся у поставщика средств испытаний.

Процесс сертификации программных продуктов и систем качества предприятия включает:

  • анализ и выбор разработчиком или заказчиком (заявителем) компетентных в данной области органа и аттестованной лаборатории для выполнения сертификационных испытаний;
  • подачу заявителем заявки на испытания в орган сертификации и принятие сертификаторами решения по заявке, выбор схемы сертификации, заключение договора на сертификацию;
  • идентификацию требований к системе качества предприятия и/или к версии программного продукта, подлежащих испытаниям;
  • выполнение сертификационных испытаний системы качества предприятия или версии программного продукта сертификационной лабораторией;
  • анализ полученных результатов и принятие решения лабораторией и/или органом сертификации о возможности выдачи заявителю сертификата соответствия;
  • выдачу органом сертификации заявителю - сертификата и лицензии на применение знака соответствия и на выпуск сертифицированной продукции - версий программного продукта;
  • осуществление инспекционного контроля органом сертификации сертифицированной системы качества предприятия и/или продукции;
  • проведение заявителем корректирующих мероприятий при нарушении соответствия процессов системы качества и/или продукции установленным требованиям и при неправильном применении знака соответствия.

При проверке ответственности руководства разработчика за качество продукции должно быть определено наличие у предприятия или проекта, документально оформленных политики, целей и обязательств в области качества, а также степень понимания этой политики, ее практическое осуществление и поддержание в рабочем состоянии на всех уровнях организации. Должно быть установлено наличие на предприятии представителя руководства, который независимо от других обязанностей имеет полномочия и несет ответственность за постоянное выполнение требований стандартов и нормативных документов системы качества. Следует проверять наличие требований, процедур, средств и обученного персонала для практической реализации процессов системы качества, а также актуальность и систематичность оформления документации на все компоненты, требования и положения системы качества, представляющей собой интегрированный процесс на протяжении всего жизненного цикла ПС. Проверки системы качества должны включать определение:

  • наличия и полноты технологической документации и соблюдения её требований на практике;
  • состояния средств технологического оснащения и наличия системы их технического обслуживания;
  • наличия и эффективности системы контроля и испытаний;
  • состояния средств измерений и испытаний;
  • наличие системы выявления и устранения выявленных недостатков продукции или технологии.

На основании испытаний оцениваются полученные результаты и обосновываются выводы о соответствии или несоответствии продукции или процессов требованиям нормативных документов. Протоколы испытаний представляются в орган по сертификации, а также заявителю по его требованию. Протоколы испытаний подлежат хранению в течение сроков, установленных в правилах систем сертификации продукции и в документах испытательной лаборатории, но не менее трех лет.

После получения и проверки комплектности и качества документации специалистами испытательной лаборатории следует провести экспертизу степени реального применения системы качества на предприятии. Испытания начинаются с составления программы проверки системы качества, которая должна служить рабочим планом проведения последующих работ. Программа является внутренним рабочим документом испытательной лаборатории и должна содержать перечень работ, детализируемый в соответствии со спецификой предприятия-разработчика и включающий в себя анализ полноты и качества представленных исходных документов и степени их практического применения при проектировании, разработке и поставке ПС. Экспертиза применения процедур системы качества осуществляется испытательной лабораторией на рабочих местах предприятия, обеспечивающего ЖЦ ПС. Проверки проводятся по наличию на рабочих местах специалистов-разработчиков соответствующих документов и по полноте использования их положений и рекомендаций. Анализы состояния проекта и внутренние проверки системы качества, процессов и/или продукции должны проводиться персоналом, независимым от лиц, непосредственно ответственных за выполнение этих работ.

Методики проверок качества разработки должны быть обеспечены необходимыми ресурсами для выполнения программы испытаний, методиками планирования и разработки частных процедур проверок. Методики должны содержать: объекты и цели испытаний; оцениваемые показатели качества; условия и порядок испытаний; методы обработки, анализа и оценки результатов испытаний; техническое обеспечение испытаний и отчетность. Следует указывать технические и программные средства, используемые во время проведения испытаний, и порядок проведения испытаний, а также ожидаемые результаты проверок. Должны быть разработаны методики контроля за корректировками, действиями по исправлению дефектов, если в службу управления проверок поступит такой запрос. Служба управления программами испытаний должна разработать методики сохранения конфиденциальности любой информации об испытаниях, а также данных, имеющихся у экспертов.

Протоколы испытаний представляются заявителю и в орган по сертификации. Заявитель может представить в орган по сертификации протоколы испытаний с учетом сроков их действия, проведенных при разработке и постановке продукции на производство, или документы об испытаниях, выполненных отечественными или зарубежными испытательными лабораториями, аккредитованными или признанными в системе сертификации. На основании протоколов сертификационных испытаний оцениваются полученные результаты и обосновываются сделанные выводы о соответствии или несоответствии продукции требованиям нормативных документов.

Заключение по результатам сертификационных испытаний разрабатывается сертификаторами и содержит обобщенные сведения о результатах испытаний и обоснование целесообразности выдачи сертификата. В случае получения отрицательных результатов сертификационных испытаний принимается решение об отказе в выдаче сертификата соответствия. После доработки сертифицируемой продукции или системы качества испытания могут быть повторены. Результаты анализа состояния технологии или качества продукции оформляются актом , в котором даются оценки по всем позициям Программы испытаний и содержатся выводы, включающие общую оценку состояния производства и продукции, необходимость корректирующих мероприятий. Акт используется органом по сертификации наряду с протоколами испытаний, заявкой для выдачи и определения срока действия сертификата на программный продукт, периодичности инспекционного контроля, а также для составления корректирующих мероприятий.

По результатам сертификационных испытаний и экспертизы документации принимается решение о выдаче сертификата. В случае получения отрицательных результатов сертификационных испытаний принимается решение об отказе в выдаче сертификата соответствия. Кроме того, предприятию-заявителю может быть направлены предложения по устранению предполагаемых причин отрицательных результатов испытаний, после доработки сертифицируемой продукции испытания могут быть повторены.

Орган по сертификации после анализа протоколов испытаний, оценки производства, сертификации системы качества, анализа документации, указанной в решении по заявке, осуществляет оценку соответствия продукции установленным требованиям, оформляет сертификат на основании заключения экспертов и регистрирует его. При внесении изменений в конструкторскую или эксплуатационную документацию, которые могут повлиять на качество системы или программный продукт, удостоверяемые при сертификации, заявитель должен известить об этом орган по сертификации, для принятия решения о необходимости проведения дополнительных испытаний. После регистрации сертификат вступает в силу и направляется предприятию-заявителю. Одновременно с выдачей сертификата предприятию-заявителю может выдаваться лицензия на право применения знака соответствия.

За сертифицированными программными продуктами в процессе их эксплуатации в течение всего срока действия сертификата соответствия должен осуществляться инспекционный контроль . Инспекционный контроль проводится в форме периодических и внеплановых проверок соблюдения требований к качеству технологии и сертифицированной продукции. Объектами контроля, в зависимости от схемы сертификации, является сертифицированная продукция, система качества или стабильность производства предприятия-разработчика. При определении периодичности и объема инспекционной проверки учитываются следующие факторы: степень потенциальной опасности программного продукта, стабильность производства, объем выпуска, наличие и применение системы качества при разработке, информация о результатах испытаний продукта и его производства, проведенных изготовителем, органами государственного контроля и надзора.

Результаты инспекционного контроля оформляются актом , в котором дается оценка результатов испытаний образцов и других проверок, делается общее заключение о состоянии производства сертифицированной продукции и возможности сохранения действия выданного сертификата. Акт хранится в органе по сертификации, а его копии направляются разработчику и в организации, принимавшие участие в инспекционном контроле. По результатам инспекционного контроля орган по сертификации может приостановить или отменить действие сертификата и аннулировать лицензию на право применения знака соответствия в случае несоответствия продукции требованиям нормативных документов, контролируемых при сертификации, а также в случаях:

  • принципиальных изменений модели зрелости, профиля стандартов, нормативных документов на продукцию или метода испытаний;
  • изменения конструкции (состава), комплектности продукции;
  • изменения организации или технологии разработки и производства;
  • невыполнения требований технологии, методов контроля и испытаний, системы качества, если перечисленные изменения могут вызвать несоответствие продукции требованиям, контролируемым при сертификации.

Решение о приостановлении действия сертификата и лицензии на право применения знака соответствия не принимается в том случае, если путем корректирующих мероприятий, согласованных с органом по сертификации, его выдавшим, заявитель может устранить обнаруженные причины несоответствия и подтвердить без повторных испытаний в аккредитованной лаборатории, соответствие продукта или процессов нормативным документам. Если этого сделать нельзя, то действие сертификата отменяется, и лицензия на право применения знака соответствия аннулируется. Информация о приостановлении или отмене действия сертификата доводится органом по сертификации, его выдавшим, до сведения заявителя, потребителей и других заинтересованных организаций. Действие сертификата и право маркирования продукции знаком соответствия могут быть возобновлены при выполнении предприятием-разработчиком следующих условий:

  • выявления причин несоответствия и их устранения;
  • представления в орган по сертификации отчета о проделанной работе по улучшению и обеспечению качества продукции;
  • проведения по методикам и под контролем органа по сертификации дополнительных испытаний продукции и получения положительных результатов.

Документирование процессов и результатов сертификации программных продуктов

Состав и содержание документации для сертификации системы качества предприятия зависят от характеристик проектирования, разработки и модификации программных средств, а также от требований к их качеству и особенностей технологической среды. Поэтому необходимый комплект документов для каждого предприятия или проекта следует выбирать и адаптировать применительно к этим характеристикам. Оцениваемыми при сертификации показателями системы качества являются наличие соответствующих документов и практическое выполнение требований определенного уровня модели зрелости СММI или адаптированного профиля стандартов на базе ISO 9000:2000 , а также, созданных на их основе, должностных инструкций специалистами предприятия-разработчика. Заявитель должен подготовить и предъявить испытательной лаборатории согласованный между заказчиком и разработчиком и утвержденный комплект документов для проверки их достоверности, достаточности состава и качества изготовления в соответствии с нормативными документами.

Ориентировочный комплект основных документов при сертификации состоит из трех групп:

  • базовые нормативные документы систем качества в соответствии с номенклатурой и содержанием профиля стандартов на базе ISO 9000:2000 или модели зрелости СММI , а также подготовленные разработчиками на их основе программа, руководство и инструкции, предъявляемые испытателям (экспертам) системы качества или продукции проверяемого предприятия;
  • исходные документы, характеризующие конкретное предприятие или проект, а также жизненный цикл программного средства, подготавливаемые руководством проекта для сертификации его качества;
  • отчетные документы испытателей, отражающие результаты проверки (сертификации) системы качества предприятия и/или программного продукта, представляемые органу сертификации, заявителю и руководству проверяемого предприятия.

Предъявляемые на сертификацию программный продукт или система качества предприятия должны представляться в комплекте с соответствующей документацией. Перечень и приблизительное содержание групп этих документов ориентированы на общий случай проверки систем качества предприятий, обеспечивающих жизненный цикл крупных программных продуктов. Комплект документов может сокращаться и адаптироваться по согласованию между заявителем, сертификатором и руководством проверяемого предприятия в соответствии с характеристиками проектов программных средств. Некоторые документы могут объединяться в интегрированные отчеты с четкой ответственностью определенных специалистов за их выполнение.

Базовые документы системы качества предприятия и жизненного цикла программного средства

  1. Концепция, терминология, требования и руководство по улучшению деятельности - системы менеджмента качества - ISO 9000:2000 или версия модели зрелости СММI.
  2. Адаптированные версии или перечень разделов и рекомендаций стандартов ISO 12207, ISO 15504 , их изменений и руководств по применению, выделенных при адаптации и обязательных для использования в системе качества конкретного предприятия или проекта программного продукта.
  3. Адаптированная версия или перечень разделов и рекомендаций стандарта ISO 900003 , выделенных при адаптации и обязательных для применения в системе качества предприятия, выпускающего программный продукт.
  4. Базовые характеристики и атрибуты качества проекта ПС, выделенные, адаптированные и конкретизированные на основе стандартов ISO 12182, ISO 9126, ISO 14598, ISO 25000 .
  5. Адаптированная версия и утвержденная редакция руководства по сопровождению и конфигурационному управлению основе рекомендаций стандартов ISO 14764, ISO 10007, ISO 15846 .
  6. Комплект должностных инструкций, определяющих ответственность, полномочия и порядок взаимодействия всего руководящего, выполняющего и проверяющего работу персонала, участвующего в процедурах системы качества предприятия для конкретного проекта ПС.

Исходные документы, отражающие особенности жизненного цикла конкретного программного средства

  1. Описание характеристик программных продуктов, создаваемых на предприятии, системы и внешней среды их жизненного цикла, необходимых для адаптации и подготовки рабочих версий стандартов и требований проекта ПС и системы качества предприятия в соответствии с рекомендациями стандартов ISO 12207, ISO 15504, ISO 90003 и ISO 9126 .
  2. Описание целей, требований и обязательств предприятия-разработчика в области системы качества, критериев качества процессов и продуктов разработки, поставки и поддержки всего жизненного цикла ПС.
  3. Комплект эксплуатационных документов, поставляемых заказчику и пользователям для обеспечения ЖЦ и применения конкретной версии программного продукта на основе адаптированных стандартов ISO 9294, ISO 15910, ISO 18019 .
  4. Документация и средства автоматизации проектирования, разработки, модификации, контроля и испытаний, используемых для обеспечения жизненного цикла программного продукта.
  5. Планы и методики испытаний применения и оценки эффективности процессов системы качества предприятия и программного продукта.
  6. Методики сопровождения, идентификации компонентов программного продукта и документации, анализа и утверждения версий комплексов программ и данных.
  7. Методика конфигурационного управления, утверждения, хранения, защиты, копирования версий программного продукта и сопровождающих документов, а также накопления и хранения, зарегистрированных в архиве предприятия данных о характеристиках качества в течение жизненного цикла версий программного продукта.

Результирующие документы испытаний - сертификации системы качества предприятия и/или программного продукта

  1. Отчет о наличии, актуальности и систематичности оформления документации, адаптированной к требованиям и положениям системы качества предприятия, обеспечивающей интегрированный процесс гарантии качества на протяжении всего жизненного цикла программного продукта.
  2. Результаты контроля и испытаний состояния и применения системы качества, проводимых периодически для определения ее пригодности и эффективности.
  3. Отчет о наличии и поддержании в рабочем состоянии методик проведения проверок и документально оформленных отчетов о результатах достигнутого качества выполнения требований договора на сертификацию с заказчиком.
  4. Результаты регистрации достигнутых характеристик качества комплекса программ: идентификация, накопление, хранение зарегистрированных данных о характеристиках и атрибутах качества программного продукта и его компонентов.
  5. Результаты реализации плана разработки, документально оформленных входных и выходных данных этапов разработки и протоколов проверки реализации жизненного цикла ПС.
  6. Результаты практического выполнения программы качества и осуществления регламентированной деятельности в области качества на всех этапах жизненного цикла ПС.
  7. Результаты аттестации имитаторов внешней среды и генераторов тестов, а также оценка их достаточности для выполнения сертификационных испытаний программного продукта.
  8. Результаты анализа выполнения планов и методик проведения испытаний, протоколы испытаний, оценки соответствия результатов испытаний предъявляемым требованиям, а также результаты испытаний, утвержденные представителями заявителя, заказчика и поставщика.
  9. Акт результатов проверок реальных характеристик жизненного цикла ПС и системы качества предприятия, выводы о их соответствии требованиям к сертификации производства программного продукта.
  10. Сертификат системы качества предприятия и/или программного продукта и обеспечения его жизненного цикла, лицензия на применение знаков соответствия.

Литература

В.В. Липаев -- Профили стандартов жизненного цикла программных средств. -- Jet Info, Информационный бюллетень , N 12 , 2005

К. Мильман, С. Мильман -- СММI - шаг в будущее. -- Открытые системы. , N 5-6.(2005), N2.(2006) , 2005, 2006

Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем ISO IEC TR 15504-CMMI. Пер. с англ -- М.: Книга и бизнес , 2001

В.В. Липаев -- Процессы и стандарты жизненного цикла сложных программных средств. Справочник. -- М.: СИНТЕГ , 2006

В.В. Липаев -- Методы обеспечения качества крупномасштабных программных средств. -- М.: РФФИ. СИНТЕГ , 2003

"; antisource: "Программные продукты сейчас применяются для решения задач управления практически во всех сферах деятельности человека: в экономике, социальной, военной и других областях. Обеспечение высокого качества отечественных программных продуктов при их массовой разработке и поставке для различных сфер применения в стране и на мировом рынке стало стратегической задачей."; condition: 1]$

Качество программных продуктов - пожалуй, одна из самых серьезных проблем индустрии программного обеспечения. Качество - это гораздо больше, чем просто отсутствие ошибок. Оно предполагает набор различных характеристик: надежность, устойчивость ко взлому, способность к адаптации, совместимость, сопровождаемость, переносимость, эффективность и т. п. Неудивительно, что в индустрии ПО существует такое многообразие стандартов качества.

Качество было легко измерить: или нам платили, или нет.
Дин Леффингуэлл, Дон Уидриг.
Управление программными требованиями

CMM/CMMI

Наверное, самым именитым стандартом качества следует считать Capability Maturity Model (CMM) - модель оценки уровня зрелости процессов разработки вместе с его производными. Он был создан SEI (Software Engineering Institute), который финансируется за счет Министерства обороны США и является структурной единицей Университета Карнеги-Меллона. Первая официальная версия стандарта вышла в 1993 г., хотя работы над ним начались гораздо раньше - основные его положения были опубликованы еще в 1986 г.

Успех CMM предопределило несколько факторов. Этот стандарт был одним из первых, изначально учитывающих специфику создания ПО. Он оказался достаточно прост и прозрачен как для понимания, так и для использования, и регламентировал, «что», а не «как» делать, а потому подходил для различных , методологий разработки и не накладывал каких-либо ограничений на стандарты документирования, инструментарий, среду и языки, применяемые в проектах. И, пожалуй, основным фактором, предопределившим популярность CMM, явилось сотрудничество SEI с Министерством обороны США, что де-факто означало использование стандарта при реализации проектов по заказу этого ведомства.

Модель CMM (табл. 1) предусматривает пять уровней зрелости, каждому из которых соответствуют определенные ключевые области процессов (Key Process Areas, KPA).

Таблица 1. Уровни модели CMM
№ уровня Название уровня Ключевые области процесса
1 Начальный Если организация находится на этом уровне, то ключевых областей процессов для нее не предусмотрено
2 Повторяющийся Управление программными конфигурациями.Обеспечение качества программных продуктов.Управление контрактами подрядчиков.Контроль за ходом проектов.Планирование программных проектов.Управление требованиями
3 Определенный Экспертные оценки.Координация взаимодействий проектных групп.Инженерия программного продукта.Комплексный менеджмент ПО.Программа обучения персонала.Определение организационного процесса.Область действия организационного процесса
4 Управляемый Менеджмент качества ПО.Управление процессом на основе количественных методов
5 Оптимизируемый Управление изменением процесса.Управление технологическими изменениями.Предотвращение дефектов

Деление на уровни и определение KPA для каждого из них позволяет последовательно внедрять CMM, используя стандарт в качестве руководства, которое может обеспечить постоянное совершенствование процесса разработки.

Стандарт CMM оказался весьма успешным, и впоследствии на его основе была создана целая серия стандартов (табл. 2). Притом он получил новое имя - SW-CMM (Capability Maturity Model for Software), точнее отражающее его положение в достаточно многочисленном семействе стандартов.

Таблица 2. Развитие стандартов CMM
Название стандарта Описание
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) Служит средой для интеграции усилий по разработке на всех этапах жизненного цикла и со стороны каждого отдела компании

Однако практическое применение стандартов серии CMM показало, что они не обеспечивают безоговорочного успеха в разработке ПО. Эти стандарты не были хорошо согласованы между собой - одновременное внедрение различных модификаций CMM могло оказаться достаточно сложной задачей и приводило в недоумение специалистов организаций, которые с этим сталкивались.

Также существенная проблема CMM состоит в необходимости «выравнивания» всех процессов. Если организация пытается сертифицироваться на определенный уровень, то она должна обеспечить соответствующий уровень для всех своих процессов. Даже если специфика, методология или особенности разработки не располагают к выполнению определенных процессов, сертификация это требует.

Еще одна проблема вызвана тем положением, которое заняли стандарты CMM в современной индустрии ПО. Поскольку организация, обладающая высоким уровнем в соответствии с CMM, должна обеспечивать более высокие показатели программных продуктов по сравнению с теми, кто сертифицирован на низших уровнях, то стандарт стал применяться в качестве критерия отбора для участия в тендерах на разработку ПО или в аутсорсинговых проектах. Спрос на сертифицированные организации породил предложение по «быстрой и безболезненной сертификации».

Подобная ситуация стала возможной благодаря недостаткам процесса сертификации. Сертификации подлежит не вся организация в целом, а только определенный проект. Ничто не мешает организации создать «образцово-показательный» проект, выполняемый с учетом всех требований высоких уровней стандарта CMM, получить соответствующий уровень сертификации и заявить о том, что все продукты отвечают такому-то уровню стандарта.

Разрешить большинство проблем CMM призван новый стандарт SEI - Capability Maturity Model Integrated (CMMI) - Интегрированная модель оценки уровня зрелости процессов разработки. Стандарт CMMI изначально создавался таким образом, чтобы объединить существующие варианты CMM и исключить какие-либо противоречия при его практическом применении в различных сферах деятельности высокотехнологичных компаний.

Для того чтобы устранить необходимость «выравнивания» процессов организации и быть более приспособленным к ее бизнес-потребностям, а не наоборот, стандарт CMMI имеет две формы представления - классическую, многоуровневую, соответствующую CMM, и новую, непрерывную. Непрерывная форма представления рассматривает не уровни зрелости (Maturity Levels), а уровни возможностей (Capability Levels), которые оцениваются для отдельных областей процессов (Process Areas, PA). В табл. 3 дано соответствие уровней зрелости стандарта CMM, а также уровней зрелости многоуровневого представления CMMI и уровней возможностей непрерывного представления CMMI.

SEI отказывается от CMM и взамен активно продвигает CMMI, обещая ужесточить контроль за процессом сертификации, вводя новые классы, позволяющие сократить затраты на него и сделать его более привлекательным для небольших организаций; обеспечивая совместимость со стандартами ISO. Однако факт остается фактом: в современных условиях наличие сертификата определенного уровня CMM/CMMI не является таким значимым фактором, как несколько лет назад, и принимается без дополнительных вопросов разве что в проектах, выполняемых по государственному заказу.

Аннотация: Подробно изучается круг идей, лежащих в основе, самой, вероятно, известной методологии улучшения процессов разработки программного обеспечения - СММ. Анализируется логика и структура СММ. Показывается связь СММ с изученными ранее процессными моделями.

Замечательный практический инструмент, созданный в рамках процессного подхода к описанию деятельности проектной организации , в частности, организации, разрабатывающей информационные системы , демонстрирует методология СММ. CMM расшифровывается как Capability Maturity Model , что по смыслу означает примерно "модель зрелости системы управления". В литературе CMM чаще называют моделью зрелости организации, и я тоже буду следовать этой традиции.

История возникновения СММ такова. В конце 80-х гг. прошлого века Министерство обороны США заказало Институту программной инженерии 1англ. SEI - Software Engineering Institute Университета Карнеги-Меллон работу по созданию системы критериев для выбора субподрядчиков в проектах разработки программного обеспечения. Работа была закончена в 1991 г., и результатом ее стала модель CMM . Нужно сразу оговориться, что модель не содержит никаких финансово-экономических, политических, организационных критериев выбора субподрядчика, равно как и критериев возможности допуска к секретным работам (вероятно, такие задачи и не ставились). Речь идет только о критериях, описывающих способности потенциального субподрядчика в части разработки программных систем.

Структура CMM

За основу при оценке способности организации качественно выполнять работу, которая (способность) была названа зрелостью, создатели модели взяли процессы организации. Дальше они сделали несколько нетривиальных предположений, которые впоследствии были приняты и признаны справедливыми многими ИТ-специалистами (а может быть, и большинством из них).

Предположение 1 . Существуют качественно отличающиеся уровни зрелости проектной организации , разрабатывающей информационные системы (в модели СММ таких уровней пять).

Предположение 2 . Всякая организация-разработчик заинтересована в переходе на более высокий уровень зрелости (не только для того, чтобы повысить свои шансы в борьбе за контракты Министерства обороны, но и в целях собственного совершенствования).

Предположение 3 . Переход возможен только на следующий по порядку уровень. "Перескочить" через уровень нельзя (точнее, риски для организации при этом резко возрастают).

Таким образом, уровни образуют "лесенку", по которой подымается организация по мере собственного развития. Каждый уровень характеризуется определенными составом и свойствами процессов организации. "Лесенка уровней" СММ получила широкое признание и распространение. Вот как она выглядит.

Уровень 1 "Начальный" . Производственный процесс в целом характеризуется как создаваемый каждый раз под конкретный проект, а иногда даже как хаотический. Определены лишь некоторые процессы, и успех проекта зависит от усилий индивидуумов.

Уровень 2 "Повторяемый" . Установлены основные процессы управления проектом, позволяющие отслеживать затраты , следить за графиком работ и функциональностью создаваемого программного решения. Установлена дисциплина процесса, необходимая для повторения достигнутых ранее успехов в проектах разработки подобных приложений.

Уровень 3 "Определенный" . Производственный процесс документирован и стандартизован как для управленческих работ , так и для проектирования. Этот процесс интегрирован в стандартный производственный процесс организации. Во всех проектах используется утвержденная адаптированная версия стандартного производственного процесса организации.

Уровень 4 "Управляемый" . Собираются подробные количественные показатели производственного процесса и качества создаваемого продукта. Как производственный процесс, так и продукты оцениваются и контролируются с количественной точки зрения.

Уровень 5 "Оптимизирующий" . Постоянное совершенствование процесса достигается благодаря количественной обратной связи с процессом и реализации в нем передовых идей и технологий.

Несмотря на нестрогость, приведенное определение интуитивно чаще всего не вызывает возражений. Более того, опытным специалистам понятно, почему переходы возможны только на соседний уровень, как понятно и то, почему вообще стоит стремиться к такому переходу. В то же время никакого количественного или хотя бы формального обоснования такого подхода модель СММ не содержит, что, впрочем, нисколько не умаляет ее достоинств.

Дальнейшее, как говорится, - дело техники. Определяется структура модели ( рис. 7.1), даются определения и начинается кропотливая работа по точному описанию каждого процесса на каждом уровне. Для того чтобы оценить практическую ценность сделанного, пройдем часть этого пути.


Рис. 7.1.

На рис. 7.1 присутствуют следующие понятия.

Группа ключевых процессов . Как говорится в (Paulk, и др., 1995), "каждая группа ключевых процессов определяет блок связанных работ , в результате выполнения которых достигается совокупность целей, значимых для повышения продуктивности производственного процесса. Например, для группы ключевых процессов " Управление требованиями " (см. рис. 7.2) цель состоит в том, чтобы согласовать требования, выдвигаемые к проекту разработки ПО заказчиком и разработчиком".

В CMM нет индивидуальных процессов. Вместо этого существуют отдельные работы, называемые ключевыми практиками (см. далее), связанные по входам-выходам друг с другом и служащие исходным материалом для построения процессов. CMM не дает указаний относительно способа построения процессов, т. е. связывания ключевых практик в логические последовательности. Наборы ключевых практик называются группами ключевых процессов.


Рис. 7.2.

Группы ключевых процессов в CMM сопоставляются уровням зрелости ( рис. 7.2), т. е. все практики на уровне взаимодействуют только друг с другом и не взаимодействуют с практиками других уровней. Это позволяет гарантировать полную работоспособность всех процессов на конкретном уровне и, значит, соотносить уровень с законченным этапом развития организации.

Прилагательное "ключевые" подразумевает, что существуют группы процессов (т. е. совокупности практик), которые не являются ключевыми с точки зрения конкретного уровня зрелости , т. е. не связаны с достижением целей этого уровня (см. ниже). Модель СММ не описывает все группы процессов , касающиеся разработки и сопровождения ПО . В ней описаны лишь те группы, которые определены в качестве ключевых определяющих факторов продуктивности производственного процесса.

Цели . Цели в СММ связываются не с процессами, а с группами ключевых процессов. Как уже говорилось выше, цели достигаются за счет выполнения ключевых практик. В CMM достижение цели означает что, во-первых, после выполнения ключевых практик получается нужный результат, и, во-вторых, он получается достаточно стабильно. Способ достижения целей группы ключевых процессов может различаться от проекта к проекту в зависимости от различий в предметной области или среде.

Если эти цели реализуются для всех проектов, то это означает, что организация достигла того уровня зрелости производственного процесса, которому соотнесена данная группа ключевых процессов.

Раздел . Разделы (их на каждом уровне пять и они всегда одни и те же) представляют собой свойства групп ключевых процессов, которые должны быть реализованы на соответствующем уровне. Эти свойства описывают, как процессы реализованы и насколько они легализованы в организации, т. е. официально утверждены и согласованы с корпоративными процедурами, политиками, другими процессами. Вот эти пять разделов.

Обязательства по выполнению

Описывают действия, которые должна выполнить организация, чтобы обеспечить установление и стабильность процесса. Обязательства по выполнению обычно касаются установления организационных политик и поддержки со стороны высшего руководства.

Необходимые предпосылки

Описывают предварительные условия, которые должны выполняться в проекте или организации для компетентного внедрения производственного процесса; обычно касаются ресурсов, организационных структур и требуемого обучения.

Выполняемые операции

В разделе "Выполняемые операции " описаны содержательные работы, которые должны выполняться на данном уровне. Выполняемые операции обычно включают в себя создание планов и реализацию конкретных операций, выполнение и отслеживание работ , а также, по мере необходимости, выполнение корректирующих действий.

Измерения и анализ

Раздел "Измерения и

"Каждая группа ключевых процессов выражается ключевыми практиками, выполнение которых способствует достижению целей группы. Ключевые практики описывают инфраструктуру и операции, которые дают наибольший вклад в эффективное внедрение и установление группы ключевых процессов.

Каждая ключевая практика состоит из одного предложения, часто раскрываемого более подробным описанием, в которое могут входить примеры и уточнения. Ключевые практики, иногда называемые ключевыми практиками верхнего уровня, устанавливают основные политики, процедуры и операции для группы ключевых процессов. Компоненты подробного описания часто называются субпрактиками".

Ключевые практики описывают, ЧТО необходимо сделать, но их не следует воспринимать в виде догм, устанавливающих, КАК нужно достигать целей. Цели группы ключевых процессов можно реализовать с помощью альтернативных практик. Интерпретация ключевых практик должна быть разумной, допускающей достижение целей группы ключевых процессов эффективным способом, хотя, возможно, формально и отличающимся от рекомендованного CMM .

Взгляд на деятельность по управлению ИТ, при котором вместо процессов рассматриваются их составляющие - ключевые практики, а процессы присутствуют только виртуально, как что-то, что может быть построено из ключевых практик, выглядит на первый взгляд несколько экзотично. До сих пор задача совершенствования управления ИТ решалась внедрением готовых процессов из эталонной процессной модели. Теперь же возникает множество уровней, содержащих разрозненные (т. е. не объединенные в процессы) ключевые практики, и рекомендуемая последовательность продвижения по уровням. Управление ИТ, согласно CMM , совершенствуется по мере продвижения на более высокий уровень зрелости. Что же происходит при таком продвижении?

В определениях уровней (см. рис. 7.2) появилось такое понятие, как "производственный процесс". Оно же присутствует и в определении группы ключевых процессов, и это не случайное совпадение. Производственный процесс, или, как он точно называется в СММ, Стандартный Производственный Процесс Организации (СППО), - одно из центральных понятий всей модели.

Организации, работающие в области разработки, поставки, внедрения и сопровождения ПО и системной интеграции, все больше ощущают, что в основе их конкурентоспособности лежат качество и низкий уровень себестоимости, технологичность производства.

Руководители таких организаций не всегда могут сформировать стратегию совершенствования и развития технологии деятельности своей компании; на рынке труда специалистов необходимой квалификации явно недостаточно. Вместе с тем в области совершенствования технологических процессов разработки и эксплуатации ПО международный опыт долгие годы был недостаточно обобщен и формализован. Только в начале 1990-х годов американский Институт программной инженерии (SEI) сформировал модель технологической зрелости организаций СММ (Capability Maturity Model), определив уровни технологической зрелости и их отличительные черты. В течение десятилетия СММ прошла апробацию в целом ряде организаций, ее эффективность и достоверность проверили заказывающие организации, поставщики ПО, компании, осуществляющие разработку заказного ПО, занимающиеся оффшорным программированием.

Сегодня на западе компания-разработчик практически испытывает большие трудности с получением заказов, если она не аттестована по СММ. Заказчики требуют гарантий технологичности компании-исполнителя, гарантий того, что исполнитель не может оказать некачественную услугу.

Оценка технологической зрелости компаний может использоваться:

· заказчиком при отборе лучших исполнителей (например, в тендере);

· компаниями-производителями ПО для систематической оценки состояния своих технологических процессов и выбора направлений их совершенствования;

· компаниями, решившими пройти аттестацию, для оценки «размеров бедствия», т.е. своего текущего состояния;

· аудиторами для определения стандартной процедуры аттестации и проведения необходимых оценок;

· консалтинговыми фирмами, занимающимися реструктуризацией компаний и служб поставщиков информационных технологий и связанных с ними услуг.

По мере повышения технологической зрелости организации процессы создания и сопровождения ПО становятся более стандартизованными и согласованными. При этом формализация процессов позволяет стандартизовать ожидаемые результаты их выполнения и обеспечить предсказуемость результатов выполнения проектов.

Зрелость процессов (software process maturity) - это степень их управляемости, контролируемости и эффективности. Повышение технологической зрелости означает потенциальную возможность возрастания устойчивости процессов и указывает на степень эффективности и согласованности использования процессов создания и сопровождения ПО в рамках всей организации. Реальное использование процессов невозможно без их документирования и доведения до сведения персонала организации, без постоянного контроля и совершенствования их выполнения. Возможности хорошо продуманных процессов полностью определены. Повышение технологической зрелости процессов означает, что эффективность и качество результатов их выполнения могут постоянно возрастать.


В организациях, достигших технологической зрелости, процессы создания и сопровождения ПО принимают статус стандарта, фиксируются в организационных структурах и определяют производственную тактику и стратегию. Введение их в статус закона влечет за собой необходимость построения необходимой инфраструктуры и создания требуемой корпоративной культуры производства, которые обеспечивают поддержку соответствующих методов, операций и процедур ведения дел даже после того, как из организации уйдут те, кто все это создал.

Модель СММ развивает положения о системе качества организации, формируя критерии ее совершенства - пять уровней технологической зрелости, которые в принципе могут быть достигнуты организацией-разработчиком. Наивысшие - четвертый и пятый уровни - это фактически характеристика организаций, овладевших методами коллективной разработки, в которых процессы создания и сопровождения ПО комплексно автоматизированы и поддерживаются технологически.

Начиная с 1990 г. SEI при поддержке правительственных структур США и организаций-разработчиков ПО постоянно развивает и совершенствует эту модель, учитывая все новейшие достижения в области создания и сопровождения ПО.

СММ представляет собой методический материал, определяющий правила формирования системы управления созданием и сопровождением ПО и методы постепенного и непрерывного повышения культуры производства. Назначение СММ - предоставление организациям-разработчикам необходимых инструкций по выбору стратегии повышения качества процессов путем анализа степени их технологической зрелости и факторов, в наибольшей степени влияющих на качество выпускаемой продукции. Фокусируя внимание на небольшом количестве наиболее критичных операций и планомерно повышая эффективность и качество их выполнения, организация таким образом может добиться неуклонного постоянного повышения культуры создания и сопровождения ПО.

СММ - это описательная модель в том смысле, что она описывает существенные (или ключевые) атрибуты, которые определяют, на каком уровне технологической зрелости находится организация. Это нормативная модель в том смысле, что детальное описание методик устанавливает уровень организации, необходимый для выполнения проектов различной сложности и продолжительности по контрактам с правительственными структурами США. СММ не является предписанием, она не предписывает организации, каким образом развиваться. СММ описывает характеристики организации для каждого из уровней технологической зрелости, не давая каких-либо инструкций как переходить с уровня на уровень. Организации может потребоваться несколько лет для перехода с первого на второй уровень и совсем мало времени для перехода с уровня на уровень далее. Процесс совершенствования технологии создания ПО отражается в стратегических планах организации, ее структуре, используемых технологиях, общей социальной культуре и системе управления.

На каждом уровне устанавливаются требования, при выполнении которых достигается стабилизация наиболее существенных показателей процессов. Выход на каждый уровень технологической зрелости является результатом появления определенно­го количества компонентов в процессах создания ПО, что в свою очередь приводит к повышению их производительности и качества. На рис. 1.7 показаны пять уровней технологической зрелости СММ.

Рис. 1.7. Пять уровней технологической зрелости СММ

Надписи на стрелках определяют особенности совершенствования процессов при переходе с уровня на уровень.

Уровни со второго по пятый могут характеризоваться через операции, направленные на стандартизацию и (или) модернизацию процессов создания ПО, и через операции, составляющие сами процессы его создания. При этом первый уровень является как бы базой, фундаментом для сравнительного анализа верхних уровней.

На уровне 1 (начальном) основные процессы создания и сопровождения ПО носят случайный характер и выполняются хаотично. Успех выполнения проекта всецело зависит от индивидуальных усилий персонала. На этом уровне, как правило, в орга­низации не существует стабильной среды, необходимой для создания и сопровождения ПО.

Успех проекта при этом, как правило, полностью зависит от степени энергичности и опыта руководства и профессионального уровня исполнителей. Может случиться, что энергичный ру­ководитель преодолеет все препятствия в процессе выполнения проекта и добьется выпуска действительно жизнеспособного программного продукта. Но после того, как такой руководитель оставит свой пост, исчезнет и гарантия того, что следующий подобный проект будет успешным. При отсутствии необходимого уровня управления проектом положение не сумеет спасти даже передовая технология.

Процессы на первом уровне характеризуются своей непредсказуемостью в связи с тем, что их состав, назначение и последовательность в процессе выполнения проекта меняются случайным образом в зависимости от текущей ситуации. Вследствие этого перерасходуются выделенные средства и срываются графики работ. Подготовка способных и знающих специалистов в организациях является основной из предпосылок успеха на всех уровнях зрелости, но на первом уровне это единственная возможность добиться хоть каких-либо положительных результатов.

На уровне 2 (уровне повторяемых процессов) процессы управления проектом позволяют обеспечивать текущий контроль стоимости проекта, графика его выполнения и выполняемых функций. Дисциплина выполнения проекта такова, что существует возможность прогнозирования успешности выполнения проектов по созданию аналогичных программных продуктов.

На этом уровне планирование проектных работ и управление новыми проектами базируется на опыте успешно выполненных аналогичных проектов. Основной особенностью второго уровня является наличие формализованных и документированных эффективных процессов управления проектами, что позволяет использовать положительный опыт успешно завершенных проектов. Эффективными могут называться процессы, которые документированы, реально используются, поддаются количественной оценке и пригодны для модернизации. Необходимо, чтобы персонал был обучен их применению.

Каждый уровень СММ, начиная со второго, характеризуется наличием ряда так называемых основных групп процессов (key process areas - КРА). Модель СММ содержит 18 таких групп, последняя версия модели CMMI - 20 групп. Уровень 2 СММ характеризуется наличием в организации следующих процессов (их наименования соответствуют CMMI):

· управление требованиями;

· управление конфигурацией;

· планирование проекта;

· мониторинг и контроль проекта;

· управление контрактами;

· измерения и анализ;

· обеспечение качества процесса и продукта.

Процессы на втором уровне можно охарактеризовать как упорядоченные в связи с тем, что они заранее планируются, и их выполнение строго контролируется, за счет чего достигается предсказуемость результатов выполнения проекта. С увеличением и усложнением проектов внимание смещается с технических аспектов их выполнения на организационные и управленческие аспекты. Выполнение процессов требует от персонала более эффективной и слаженной работы, что, в свою очередь, требует изучения документированного передового опыта в целях повышения профессионального мастерства.

На уровне 3 (уровне стандартизованных процессов) про­цессы создания ПО документированы, стандартизованы и предс­тавляют собой единую технологическую систему, обязательную для всех подразделений организации. Во всех проектах использу­ется опробованная, утвержденная и возведенная в статус стан­дарта единая технология создания и сопровождения ПО.

На данном уровне к процессам уровня 2 добавляются следующие процессы:

· спецификация требований;

· интеграция продукта;

· верификация;

· аттестация;

· стандартизация процессов организации;

· обучение;

· интегрированное управление проектом;

· управление рисками;

· анализ и принятие решений.

Основным критерием использования и, при необходимости, корректировки процессов на этом уровне является помощь звену управления и техническим специалистам в повышении эффективности выполнения проектов. На этом уровне в организации создается специальная группа, ответственная за состав операций, из которых состоят процессы, - группа по разработке процессов создания ПО (software engineering process group - SEPG).

На основе единой технологии для каждого проекта могут разрабатываться свои процессы с учетом его особенностей. Такие процессы в СММ называются «проектно-ориентированные процессы создания ПО» (project"s defined software process).

Описание каждого процесса включает в себя условия его выполнения, входные данные, стандарты и процедуры выполнения, механизмы проверки (например, экспертные оценки), выходные данные и условия завершения. В описание процесса также включаются сведения об инструментальных средствах, необходимых для его выполнения, и указание на роль, ответственную за его, выполнение.

Главное назначение уровня 4 (уровня управляемых процессов) - текущий контроль над процессами. Управление должно обеспечивать выполнение процессов в рамках заданного качества. Могут быть неизбежные потери и временные пики в измеряемых результатах, которые требуют вмешательства, но в целом система должна быть стабильна.

На уровне 4 добавляются следующие процессы:

· управление производительностью и продуктивностью;

· количественное управление проектом.

На этом уровне на практике применяется детальная оценка качества как процессов создания, так и самого создаваемого программного продукта. При этом применяются количественные критерии оценки.

В рамках всей организации разрабатывается единая программа количественного контроля производительности создания ПО и его качества. Для облегчения анализа процессов создается единая база данных процессов создания и сопровождения ПО для всех проектов, выполняемых в организации. Разрабатываются универсальные методики количественной оценки производительности процессов и качества их выполнения. Это позволяет проводить количественный анализ и оценку процессов создания и сопровождения ПО.

Результаты выполнения процессов на четвертом уровне становятся предсказуемы, поскольку они измеряемы и варьируются в рамках заданных количественных ограничений. На этом уровне появляется возможность заранее планировать заданное качество выполнения процессов и конечной продукции.

Основное назначение уровня 5 (уровня оптимизируемых процессов) - последовательное усовершенствование и модернизация процессов создания и сопровождения ПО. В целях плановой модернизации технологии создания ПО в организации создается специальное подразделение, основными обязанностями которого являются сбор данных по выполнению процессов, их анализ, модернизация имеющихся и создание новых процессов, их проверка на пилотных проектах и придание им статуса стандартов предприятия.

На уровне 5 добавляются следующие процессы:

· внедрение технологических и организационных инноваций;

· причинно-следственный анализ и разрешение проблем. Процессы создания и сопровождения ПО характеризуются

как последовательно совершенствуемые, поскольку организация прилагает постоянные усилия по их модернизации. Это совершенствование распространяется как на выявление дополнительных возможностей используемых процессов, так и на создание новых оптимальных процессов и использование новых технологий.

Нововведения, которые могут принести наибольшую выгоду, стандартизуются и адаптируются в технологическую систему в рамках всей организации. Персонал, принимающий участие в выполнении проекта, анализирует дефекты и выявляет причины их возникновения. Процессы создания ПО оцениваются в целях предотвращения повторения ситуаций, приводящих к дефектам, а результаты оценки учитываются в последующих проектах.

Каждый последующий уровень дополнительно обеспечивает более полную обозримость самих процессов создания и сопровождения ПО.

На первом уровне процессы являются аморфными («черными ящиками»), и их обозримость весьма ограничена. С самого начала состав и назначение операций практически не определены, что порождает значительные трудности в определении состояния проекта и его продвижения. Требования по выполнению процессов задаются бесконтрольно. Разработка ПО в глазах менеджеров (особенно тех, кто сам не является программистом) иногда выглядит как черная магия.

На втором уровне выполнение требований пользователя и создание ПО контролируемы, поскольку определена база для процессов управления проектом. Процесс создания ПО может рассматриваться как последовательность «черных ящиков», которые можно контролировать в точках перехода из одного «ящика» в другой - зафиксированных этапах. Даже если руководитель не знает, что делается «внутри ящика», точно установлено, что должно получиться в результате выполнения процесса, и определены контрольные точки его начала и завершения. Поэтому управление может распознавать проблемы в точках взаимодействия «черных ящиков» и своевременно на них реагировать.

На третьем уровне определена внутренняя структура «черных ящиков», т.е. задачи, из которых состоят процессы. Внутренняя структура представляет собой путь, по которому стандартные процессы в организации применяются в конкретных проектах. Звено управления и исполнители в необходимой степени детализации знают свои роли и ответственность в рамках проекта. Руководство заранее подготовлено к рискам, которые могут возникнуть в процессе выполнения проекта. Так как стандартизированные и документированные процессы становятся «прозрачными» для обозрения, сотрудники, непосредственно не занятые в проекте, могут своевременно получать точные сведения о его текущем состоянии.

На четвертом уровне выполнение процессов жестко привязывается к инструментальным средствам, что дает возможность определения количественных характеристик их трудоемкости и качества выполнения. Руководители, имея объективную базу количественных измерений, получают возможность точного планирования стадий и этапов выполнения проекта, прогнозирования продвижения проекта, и могут своевременно и адекватно реагировать на возникающие проблемы. С уменьшением возможных отклонений от заданных сроков, стоимости и качества в процессе выполнения проекта их возможность предвидения результатов постоянно возрастает.

На пятом уровне в целях повышения качества продукции и повышения эффективности ее создания постоянно и планомерно проводится работа по созданию новых усовершенствованных методов и технологий создания ПО. Внимание обращается при этом не только на уже используемые, но и на новые более эффективные процессы и технологии. Руководители могут количественно оценивать влияние и эффективность изменений в технологии создания и сопровождения ПО.

Четвертый и пятый уровни редко встречаются в индустрии ПО. Так, если третьего уровня достигло в мире несколько сотен компаний, то фирм пятого уровня (по информации SEI на 2002 г.) насчитывалось 62, а четвертого - 72. При этом отметим, что объявляют о своем уровне зрелости далеко не все компании. Одни не заинтересованы в афишировании своих организационных технологий, другие выполняют сертификацию просто под давлением заказчика.

Для достижения высших уровней СММ требуется десять и более лет. Но даже уровень 3 позволяет смело выходить на международную арену. Для использования СММ компании не надо искать сотрудников с какими-то уникальными способностями, ей достаточно понять общую идею. В описании модели СММ детально указано, что надо делать, чтобы развиваться в соответствии с этой моделью. Следовать регламентированным действиям СММ способен любой менеджер среднего класса.

Последняя версия СММ 1.1 в основном ориентирована на крупные компании, занимающиеся реализацией больших проектов, но она вполне может использоваться и группами из двух-трех человек или отдельными программистами для выполнения небольших проектов (продолжительностью до трех месяцев). В таких случаях модель СММ может сыграть жизненно важную роль, поскольку поступление новых заказов во многом определяется качеством реализации предыдущих проектов. Маленькие группы вполне удовлетворятся уровнем 2, так как для небольшого проекта отклонение от срока на пару недель непринципиально.

С 2002 г. официально распространяется специальная интеграционная версия CMMI. Это новая разработка SEI, охватывающая все аспекты деятельности компании: от разработки и выбора подрядчика до обучения, внедрения и сопровождения. Кроме того, модель CMMI расширена подходами из системной инженерии. В эту модель вошли наработки, сделанные в ходе проектирования версии СММ 2.0 (она не была закончена), основные изменения в которой были направлены на уточнение процессов для компаний четвертого и пятого уровней, что наиболее актуально для крупномасштабных американских проектов.

Модель СММ достаточно весома и важна, однако не стоит применять ее как единственную основу, определяющую весь процесс создания ПО. Она была предназначена в основном для ком­паний, которые занимаются разработкой ПО для Министерства обороны США. Эти системы отличаются большими размерами и длительным сроком эксплуатации, а также сложностью интерфейса с аппаратным обеспечением и другими системами ПО. Над созданием таких систем работают достаточно большие коллективы программистов, которые должны подчиняться требова­ниям и стандартам, разработанным Министерством обороны.

К недостаткам СММ относятся следующие:

1. Модель сосредоточена исключительно на управлении проектом, а не на процессе создания программного продукта. В модели не учтены такие важные факторы, как использование определенных методов, например прототипирования, формальных и структурных методов, средств статического анализа и т.п.

2. В модели отсутствует анализ рисков и решений, что не позволяет обнаруживать проблемы прежде, чем они окажут воздействие на процесс разработки.

3. Не определена область применения модели, хотя авторы признают, что она является универсальной и подходящей всем организациям. Однако авторы не дают четкого разграничения организаций, которые могут или не могут внедрять СММ в свою деятельность. Небольшие компании находят эту модель слишком бюрократичной. В ответ на эту критику были разработаны стратегии совершенствования технологического процесса для малых организаций.

Главной целью создания модели СММ было намерение Министерства обороны США оценить возможности поставщиков ПО. На данный момент пока не существует четких требований к достижению определенного уровня развития организаций-разработчиков. Однако принято считать, что у организации, достигшей высокого уровня, больше шансов выиграть тендер на поставку ПО. В качестве альтернативы СММ предлагается обобщенная классификация процессов совершенствования технологической зрелости, которая подходит для большинства организаций и программных проектов. Можно выделить несколько общих типов процессов совершенствования.

1. Неформальный процесс. Не имеет четко выраженной модели совершенствования. Его с успехом может использовать отдельная команда разработчи-

ков. Неформальность процесса не исключает таких формальных действий, как управление конфигурацией, однако при этом сами действия и их взаимосвязи не предопределены заранее.

2. Управляемый процесс. Имеет подготовленную модель, которая управляет процессом совершенствования. Модель определяет действия, их график и взаимосвязи между ними.

3. Методически обоснованный процесс. Подразумевается, что введены в действие определенные методы (например, систематически применяются методы объектно-ориентированного проектирования). Для процессов этого типа будут полезными инструментальные средства поддержки проектирования и анализа процессов (CASE-средства).

4. Процесс непосредственного совершенствования. Имеет четко поставленную цель совершенствования технологического процесса, для чего существует отдельная строка в бюджете организации и определены нормы и процедуры внедрения нововведений. Частью такого процесса является количественный анализ процесса совершенствования.

Эту классификацию не назовешь четкой и исчерпывающей - некоторые процессы могут одновременно относиться к нескольким типам. Например, неформальность процесса является выбором команды разработчиков. Эта же команда может выбрать определенную методику разработки, имея при этом все возможности непосредственного совершенствования процесса. Такой процесс подпадает под классификацию неформальный, методически обоснованный, непосредственного совершенствования.

Необходимость приведенной классификации обусловлена тем, что она предоставляет основу для комплексного совершенствования технологии создания ПО и дает возможность организации выбирать разные типы процессов совершенствования. На рис. 1.8 показаны соотношения между разными типами программных систем и процессами совершенствования их разработки.

Рис. 1.8. Применимость процессов совершенствования

Знание типа разрабатываемого продукта сделает соответствие между программными системами и процессами совершенствования, показанное на рис. 1.8, полезным при выборе процесса совершенствования. Например, требуется создать программу поддержки перехода ПО с одной компьютерной платформы на другую. Такая программа имеет достаточно короткий срок эксплуатации, поэтому в ее разработке не требуются стандарты и специальное управление процессом совершенствования, как при создании долгоживущих систем.

Многие технологические процессы в настоящее время имеют CASE-средства поддержки, поэтому их можно назвать поддерживаемыми процессами. Методически обоснованные процессы поддерживаются инструментальными средствами анализа и проектирования. Эффективность средства поддержки зависит от применяемого процесса совершенствования. Например, в неформальном процессе могут использоваться типовые средства поддержки (средства прототипирования, компиляторы, средства отладки, текстовые процессоры и т.п.). Вряд ли в неформальных процессах будут использоваться на постоянной основе более специализированные средства поддержки.

Модель СММ не уникальна. Почти каждая крупная компания развивает собственные технологии создания ПО, иногда эти технологии становятся общедоступными и очень популярными. Широкая известность модели СММ связана с ее государственной поддержкой, но реальная эффективность СММ критикуется многими ведущими экспертами. Один из основных недостатков СММ связан с излишне жестким требованием не отклоняться от принципов данной модели, даже если здравый смысл подсказывает обратное. Подобные претензии на владение абсолютной истиной не могут не вызвать настороженности, поэтому в среде малых и средних компаний более популярны подходы, оставляющие гораздо больше свободы для индивидуального и коллективного творчества. Рассматриваемая далее методика SPMN занимает промежуточное место между жесткими, «тяжелыми», эффективными для крупных организаций решениями типа СММ и максимально гибкими технологиями. Она представляется оптимальным вариантом для фирм, которые, с одной стороны, хотят как можно быстрее упорядочить свою управленческую деятельность, а с другой стороны, планируют в перспективе выйти на международный уровень, где сертификация по СММ крайне желательна.

В ноябре 1986 года американский институт Software Engineering Institute (SEI) совместно с Mitre Corporation начали разработку обзора зрелости процессов разработки программного обеспечения, который был предназначен для помощи в улучшении их внутренних процессов.

Разработка такого обзора была вызвана запросом американского федерального правительства на предоставление метода оценки субподрядчиков для разработки ПО. Реальная же проблема состояла в неспособности управлять большими проектами. Во многих компаниях проекты выполнялись со значительным опозданием и с превышением запланированного бюджета. Необходимо было найти решение данной проблемы.

В сентябре 1987 года SEI выпустил краткий обзор процессов разработки ПО с описанием их уровней зрелости, а также опросник, предназначавшийся для выявления областей в компании, в которых были необходимы улучшения. Однако, большинство компаний рассматривало данный опросник в качестве готовой модели, вследствие чего через 4 года вопросник был преобразован в реальную модель, Capability Maturity Model for Software (CMM). Первая версия СММ (Version 1.0), вышедшая в 1991 году, в 1992 году была пересмотрена участниками рабочей встречи, в которой принимали участие около 200 специалистов в области ПО, и членами общества разработчиков.

  1. Начальный. Самый примитивный статус организации. Организация способна разрабатывать ПО. Организация не имеет явно осознанного процесса, и качество продукта целиком определяется индивидуальными способностями разработчиков. Один проявляет инициативу, и команда следует его указаниям. Успех одного проекта не гарантирует успех другого. При завершении проекта не фиксируются данные о трудозатратах, расписании и качестве.
  2. Повторяемый. В некоторой степени отслеживается процесс. Делаются записи о трудозатратах и планах. Функциональность каждого проекта описана в письменной форме. В середине 1999 года лишь 20 % организаций имели 2-й уровень или выше.
  3. Установленный. Имеют определённый, документированный и установленный процесс работы, не зависящий от отдельных личностей. То есть вводятся согласованные профессиональные стандарты, а разработчики их выполняют. Такие организации в состоянии достаточно надёжно предсказывать затраты на проекты, аналогичные выполненным ранее.
  4. Управляемый. Могут точно предсказать сроки и стоимость работ. Есть база данных накопленных измерений. Но нет изменений при появления новых технологий и парадигм.
  5. Оптимизированный. Есть постоянно действующая процедура поиска и освоения новых и улучшенных методов и инструментов.

Развитие

Использование модели на практике выявило неоднозначность в подходах к достижению более высоких уровней организации процессов разработки ПО. Поэтому к 2002 году разрабатываются рекомендации по улучшению процесса разработки, которые получают название CMMI (Capability Maturity Model Integration) . На текущий момент последняя версия CMMi - 1.3 (опубликована в ноябре 2010) .

См. также

Ссылки

Форум студентов МТИ > Основной раздел > Тесты > Моделирование систем управления

Просмотр полной версии: Моделирование систем управления

Я про решала все модули, сдала все на 4, а итоговый на 2, теперь через три дня попробую сдать повторно, не было ни одного одинакового вопроса. Итоговый тест пыталась исправлять, но проверяйте, за правильность не ручаюсь.Выставляю всё, что есть у меня, может быть кто то сдаст лучше меня. Если есть у кого то вторая, третья попытка, выставите, если не жалко, дисциплина, действительно очень трудная.:eek:

Итоговый тест 100 из 100

итоговое каждый раз разное?

Еще вопросы, которые здесь не указаны и попались мне. Ответы не искала, тк без этого сдала на 4. Кто захочет зоморочиться, выгрузите ответы здесь для остальных 🙂

Модуль 1:
Что не следует рассматривать в качестве отличительного признака бизнес-процесса?

Наращивание стоимости


Выберите один ответ:
Продукт процесса, воплощающий в себе ранее поставленные цели


Выберите один ответ:

В итоговом (сдано на 4.

What is the Capability Maturity Model? (CMM)

Эти вопросы + те, что уже есть на форуме):
1. Выберите правильное утверждение.
Выберите один ответ:
Бизнес-процесс подразделений состоит из различных цепочек создания ценности (НЕ УВЕРЕНА)
Сквозной бизнес-процесс состоит из бизнес-процессов различных организаций
Межфункциональный бизнес-процесс, как правило, состоит из бизнес-процессов подразделений

2. Что не является элементом универсальной структурной схемы бизнес-процесса?
Выберите один или несколько ответов:
Ресурсы процесса
Риски
Деятельность по управлению бизнес-процессом
Факторы внешней среды
Деятельность по преобразованию входов в выходы

3. Материальные ресурсы как базовый элемент процессов представляют собой:
Выберите один ответ:
Активные субъекты деятельности, объединенные в системы, взаимодействующие друг с другом и другими ресурсами
Управляющие воздействия, направляемые субъектами деятельности на объекты деятельности, определяющие цели и результаты процессов
Пассивные средства и предметы деятельности, используемые для выполнения процессов (НЕ УВЕРЕНА)

28.03.2014, 10:07

Модуль 1:
Что не следует рассматривать в качестве отличительного признака бизнес-процесса?Выберите один или несколько ответов:
Преобразование входов в выходы
Поставка продукта внешнему потребителю
Наращивание стоимости
Формирование прибавочной и/или потребительной стоимости

Результаты как базовые элементы процессов представляют собой:
Выберите один ответ:
Активные субъекты деятельности, объединенные в системы, взаимодействующие друг с другом и другими ресурсами
Продукт процесса, воплощающий в себе ранее поставленные цели Пассивные средства и предметы деятельности, используемые для выполнения процессов
Совокупность материальных, энергетических и информационных объектов, необходимых для выполнения процесса

Что такое обратная связь в рамках бизнес-процесса?
Выберите один ответ:
Целенаправленное и сознательное воздействие на процесс, предназначенное для обеспечения необходимого результата
Анализ и сопоставление результатов процесса с ранее поставленными целями
Воздействие на систему объектов и факторов внешней среды, являющиеся источниками различного рода отклонений в функционировании системы
я так ответила! но все равно вышло 4

В итоговом — Эти вопросы + те, что уже есть:
1 Выберите из списка недостатки проектно-целевых структур.

2 Выберите из списка примеры использования команд.
Кружки качества
Комитеты
Рабочие команды

3 Выберите из списка условия применения органистических организационных структур.
Работники мотивированы сложными потребностями
Цели размыты и динамично изменяются
Власть подвергается сомнению и испытанию, требует подтверждения со стороны подчиненных

4 Выберите из списка преимущества проектно-целевых организационных структур.
прямое подчинение сотрудников руководителю проекта и таким образом достигается однозначность направленности усилий этих сотрудников

5 Вспомогательные процессы:
Обеспечивают эффективную реализацию основных процессов

Итоговое оценка 5
Вопрос 1
Выберите из списка примеры использования команд.

Кружки качества
Комитеты
Рабочие команды

Вопрос 2
Для чего применяются посредники в рамках функциональной структуры?

Для интеграции деятельности различных структурных подразделений

Вопрос 3
Назовите типы взаимосвязей в модели SADT:
Управление
Выход-механизм
Обратная связь по входу

Вопрос 4
Какой из перечисленных бизнес-процессов является самым коротким?
Бизнес-процесс подразделения

Вопрос 5
Какие методы, методологии и инструменты можно использовать для создания информационных моделей бизнес-процессов?

Методологию Гейна-Сарсона
Язык моделирования Чена и Баркера

Вопрос 6
Какое представление бизнес-процесса соответствует самому нижнему уровню (из перечисленных)?

Операции бизнес-процесса

Вопрос 7
Длина бизнес-процесса:

Представляет собой субъективную характеристику

Вопрос 8
Материальные ресурсы как базовый элемент процессов представляют собой:

Пассивные средства и предметы деятельности, используемые для выполнения процессов

Вопрос 9
Выберите из списка преимущества проектно-целевых организационных структур.

Реализуется прямое подчинение сотрудников руководителю проекта и таким образом достигается однозначность направленности усилий этих сотрудников

Вопрос 10
Выберите из списка преимущества матричных организационных структур.

Появляется возможность гибко «настраивать» организационную структуру в рамках широкого спектра: от слабой до сильной матрицы

Вопрос 11
Что в себя включает второй контур управления бизнес-системой?

Подсистему управления функционированием
Подсистему управления развитием

Вопрос 12
Общая процессная модель бизнес-системы включает в себя следующие элементы:

Выход
процесс
Вход
Возмущение

Вопрос 13
Какой стандарт из семейства IDEF позволяет моделировать деятельность, потоки и состояние объектов?

Вопрос 14
Каковы полномочия Руководителя проекта в сильной матричной структуре?

От средних до высоких

Вопрос 15
Что можно отнести к числу основных элементов инвестиционно-финансовых процессов?

Инвесторов
Кредиторов

Вопрос 16
Выберите из списка недостатки проектно-целевых структур.

Снижается технологичность в функциональных областях

Моделирование систем управления.rar (http://mti.prioz.ru/krfilesmanager.php?do=downloadfile&dlfileid=107)

Каков порядок доминирования на диаграммах SADT?
Ответ: Наиболее доминирующие функции располагаются в верхнем левом углу.

помогите 3тренинг укого есть плиз

Добавлено через 1 минуту
прошу 3 тренинг укого есть Моделирование систем управления

vBulletin® v3.8.7, Copyright 2000-2018, vBulletin Solutions, Inc.

Перевод: zCarot

Методология разработки ИС. Модель зрелости CMM/CMMI.

В 1991 году Институтом программной инженерии Университета

Карнеги-Меллона (Software Engineering Institute, SEI) была создана модель зрелости СММ (Capability Maturity Model) для разработки программных продуктов. С течением времени было выпущено целое семейство моделей:

SW-CMM - для программных продуктов, SE-CMM - для системной инженерии, Acquisition CMM - для закупок, People CMM - для управления людскими ресурсами, ICMM -для интеграции продуктов.

Разнообразные модели оказались достаточно сложными для понимания и внедрения. Поскольку они были созданы разными группами специалистов, содержание этих моделей не всегда согласовывалось друг с другом, а также с

требованиями международных стандартов. Поэтому в 2002 году SEI опубликовал новую модель CMMI (Capability Maturity Model Integration), объединяющую ранее выпущенные модели и учитывающую требования

международных стандартов. CMMI является набором моделей (методологий) совершенствования процессов в организациях разных размеров и видов деятельности. В CMMI различаются следующие группы областей усовершенствования: управление процессами, управление проектами, инженерные области, служебные

области. При этом все области задаются в виде требований, определяющих не то, как они реализованы, а интерфейсные требования. Из этого имеется два следствия.

Следствие 1. CMMI допускает различные реализации и не является методологией разработки ПО, подобно MSF, Scrum, RUP и пр. Последние могут использоваться в его реализации. Так, существует, например, специальный шаблон процесса в VSTS для CMMI под названием MSF for CMMI.

Следствие 2. CMMI используется для сертификации компаний на зрелость их процессов. Изначально, в конце 80-х начале 90-х годов, CMM (тогда еще не CMMI) создавался именно как средство сертификации

федеральных субподрядчиков. И только позднее, получив широкое распространение в мире, он начал использоваться а после и ориентироваться на совершенствование процессов. Отметим еще одну важную характеристику CMMI. Он предназначен не только для разработки программных систем. Многие крупные компании выпускают не ПО, а целевые изделия, куда ПО входит как составная часть.

Например, авиационная, аэрокосмическая индустрии. То есть разработка ПО

происходит вместе с инженерными работами иных видов. И часто бывает, что в одном проекте участвует более двух различных видов инженерии. Задача CMMI – предоставить таким проектам и компаниям единую платформу организации процесса разработки.

В отличии от классической модели CMM, которая была жестко иерархической и допускала только последовательное улучшение процессов по уровням, модель CMMI имеет два измерения - последовательное, такое

же как и в CMM, и непрерывное, допускающее совершенствование процессов в организации до некоторой степени в произвольном порядке. Здесь мы остановимся на последовательной модели. Она имеет 5 уровней

зрелости процессов (рис. 1).

Начальный уровень (уровень зрелости 1) - это уровень, на котором, по определению, находится любая компания. На этом уровне разработка ПО ведется более-менее хаотично.

Управляемый уровень (уровень зрелости 2) - здесь уже появляются политики и процедуры организации процессов, утвержденные на уровне компании. Но в полной мере процессы существуют лишь в рамках отдельных проектов.

Определенный уровень (уровень зрелости 3) - здесь появляется стандартный процесс на уровне всей компании в целом.

What is Capability Maturity Model (CMM)? What are CMM Levels?

Это большой и постоянно пополняющийся набор активов процесса: шаблонов документов,

моделей жизненного цикла, программных средств, практик и пр. Любой конкретный процесс получается вырезкой из этого стандартного.

Управляемый количественно уровень (уровень зрелости 4) подразумевает появление системы измерений в компании, которые происходят на базе стандартного процесса и позволяют количественно управлять разработкой.

Оптимизирующийся уровень (уровень зрелости 5) подразумевает постоянное улучшение процессов разработки, как постепенных, пошаговых, так и революционных. При этом данные изменения оказываются не вынужденными, а упреждающими проблемы и трудности. Процесс совершенствуется сам и постоянно, реализованы соответствующие механизмы.

Многим известна аббревиатура CMMI, многие знают, что это — модель, т.е. набор рекомендаций как улучшить процессы, связанные, например с разработкой ПО. Но немногие знают, что моделей CMMI несколько. Самая известная из них — CMMI for Development (CMMI-DEV), которая действительно связана во многом с деятельностью разработческих компаний (т.е. тех компаний и организаций, которые разрабатывают и поставляют некий программный продукт или иное комплексное — программно-аппаратное решение).

Но как быть тем, кто поставляет не продукт, а услуги (например, сопровождение продукта с незначительной долей разарботки в общих трудозатратах или вообще с отсутствием таковых)? Для них тоже есть набор рекомендаций — модель CMMI for Services (CMMI-SVC). Для IT-подразделений, например, эта модель (точнее — её рекомендации) может помочь понять — что надо сделать, чтобы, например, те же рекомендации ITIL, приобрели характер нормального процесса, а не некой «сакральной практики».

Capability Maturity Model (Модель развития функциональных возможностей) (CMM)

Любопытно, что рекомендации этой модели достаточно универсальны и не «замыкаются» только на информационные технологии. Пилотное внедрение практик этой модели проходило … в одной из больниц в США (ведь медицинское обслуживание — это тоже услуги).

Однако, любой модели из перечисленных лучше обучиться. И если на всё СНГ обученных модели CMMI-DEV несколько сотен наберется (порядка 250-300 человек), то обученных модели CMMI-SVC в СНГ… 6 человек. Речь идет именно об обученных, а не об инструкторах. Это как раз и было до декабря 2011 года главной проблемой: по CMMI-DEV на весь мир был только один сертифицированный институтом SEI (разработчиком моделей CMMI) русскоязычный инструктор, а по другим моделям таковых вообще ни одного! Теперь появился такой инструктор и по модели CMMI-SVC (отсюда и первые 6 обученных). Этим инструктором является автор данной публикации, который готов ответить на любые вопросы по упомянутым моделям, и по официальному обучению. Спрашивайте!

Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама