Опубликован: 02.03.2007 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 5:

Стандарты ISO, SW-CMM. CASE-технологии

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >

Повторяемый уровень (Repeatable LevelLevel 2).

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

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

Ключевые области процесса разработки ПО этого уровня:

  • Управление требованиями (Requirements management).
  • Планирование проекта разработки ПО (Software project planning).
  • Отслеживание хода проекта и контроль (Software project tracking and oversight).
  • Управление субподрядчиками разработки ПО (Software subcontract management).
  • Обеспечение уверенности в качестве разработки ПО (Software quality assurance).
  • Управление конфигурацией продукта (Software configuration management).

Определенный уровень (Defined LevelLevel 3).

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

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

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

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

Ключевые области процесса разработки ПО этого уровня:

  • Цель упорядочивания работы организации (Organization Process Focus).
  • Определение (стандартного) процесса организации (Organization Process Definition).
  • Программа обучения (Training Program).
  • Интегрированное управление разработкой ПО (Integrated Software Management).
  • Технология разработки программных продуктов (Software Product Engineering).
  • Межгрупповая координация (Intergroup Coordination).
  • Экспертные (совместные) оценки коллег (Peer Reviews).

Управляемый уровень (Managed LevelLevel 4).

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

Ключевые области процесса разработки ПО этого уровня:

  • Количественное управление процессом (Quantitative Process Management).
  • Управление качеством ПО (Software Quality Management).

Оптимизирующий уровень (Optimizing LevelLevel 5).

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

Ключевые области процесса разработки ПО этого уровня:

  • Предотвращение дефектов (Defect Prevention).
  • Управление изменением технологий (Technology Change Management).
  • Управление изменением процесса (Process Change Management).

СММ определяет следующий минимальный набор требований: реализовать 18 ключевых областей процесса разработки ПО, содержащих 52 цели, 28 обязательств компании, 70 возможностей выполнения (гарантий компании) и 150 ключевых практик.

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

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

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

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

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Станислав Ракитов
Станислав Ракитов
Россия, г. Москва
Кристина Ткачук
Кристина Ткачук
Украина, Одесса

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3814103659432watchdog( )../bootstrap.inc:0
24.3817103661936module_invoke( )../bootstrap.inc:967
34.3817103663792call_user_func_array ( )../module.inc:462
44.3817103664128devel_watchdog( )../module.inc:462
54.3818103664976decode_entities( )../devel.module:382
64.3818103666896drupal_error_handler( )../devel.module:340
74.3818103670592watchdog( )../common.inc:663
84.3819103672720module_invoke( )../bootstrap.inc:967
94.3819103674600call_user_func_array ( )../module.inc:462
104.3819103674952devel_watchdog( )../module.inc:462
114.3819103675656decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3814103659432watchdog( )../bootstrap.inc:0
24.3817103661936module_invoke( )../bootstrap.inc:967
34.3817103663792call_user_func_array ( )../module.inc:462
44.3817103664128devel_watchdog( )../module.inc:462
54.3818103664976decode_entities( )../devel.module:382
64.3818103666896drupal_error_handler( )../devel.module:340
74.3818103670592watchdog( )../common.inc:663
84.3819103672720module_invoke( )../bootstrap.inc:967
94.3819103674600call_user_func_array ( )../module.inc:462
104.3819103674952devel_watchdog( )../module.inc:462
114.3819103675656decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3814103659432watchdog( )../bootstrap.inc:0
24.3817103661936module_invoke( )../bootstrap.inc:967
34.3817103663792call_user_func_array ( )../module.inc:462
44.3817103664128devel_watchdog( )../module.inc:462
54.3818103664976decode_entities( )../devel.module:382
64.3827103667088drupal_error_handler( )../devel.module:340
74.3827103670856watchdog( )../common.inc:663
84.3827103672984module_invoke( )../bootstrap.inc:967
94.3827103674864call_user_func_array ( )../module.inc:462
104.3827103675216devel_watchdog( )../module.inc:462
114.3828103676000decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3814103659432watchdog( )../bootstrap.inc:0
24.3817103661936module_invoke( )../bootstrap.inc:967
34.3817103663792call_user_func_array ( )../module.inc:462
44.3817103664128devel_watchdog( )../module.inc:462
54.3818103664976decode_entities( )../devel.module:382
64.3827103667088drupal_error_handler( )../devel.module:340
74.3827103670856watchdog( )../common.inc:663
84.3827103672984module_invoke( )../bootstrap.inc:967
94.3827103674864call_user_func_array ( )../module.inc:462
104.3827103675216devel_watchdog( )../module.inc:462
114.3828103676000decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3832103659976watchdog( )../bootstrap.inc:0
24.3832103662080module_invoke( )../bootstrap.inc:967
34.3833103663936call_user_func_array ( )../module.inc:462
44.3833103664272devel_watchdog( )../module.inc:462
54.3833103664976decode_entities( )../devel.module:382
64.3833103666896drupal_error_handler( )../devel.module:340
74.3833103670576watchdog( )../common.inc:663
84.3834103672704module_invoke( )../bootstrap.inc:967
94.3834103674584call_user_func_array ( )../module.inc:462
104.3834103674936devel_watchdog( )../module.inc:462
114.3834103675656decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3832103659976watchdog( )../bootstrap.inc:0
24.3832103662080module_invoke( )../bootstrap.inc:967
34.3833103663936call_user_func_array ( )../module.inc:462
44.3833103664272devel_watchdog( )../module.inc:462
54.3833103664976decode_entities( )../devel.module:382
64.3833103666896drupal_error_handler( )../devel.module:340
74.3833103670576watchdog( )../common.inc:663
84.3834103672704module_invoke( )../bootstrap.inc:967
94.3834103674584call_user_func_array ( )../module.inc:462
104.3834103674936devel_watchdog( )../module.inc:462
114.3834103675656decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3832103659976watchdog( )../bootstrap.inc:0
24.3832103662080module_invoke( )../bootstrap.inc:967
34.3833103663936call_user_func_array ( )../module.inc:462
44.3833103664272devel_watchdog( )../module.inc:462
54.3833103664976decode_entities( )../devel.module:382
64.3839103667088drupal_error_handler( )../devel.module:340
74.3839103670848watchdog( )../common.inc:663
84.3839103672976module_invoke( )../bootstrap.inc:967
94.3839103674856call_user_func_array ( )../module.inc:462
104.3839103675208devel_watchdog( )../module.inc:462
114.3839103676008decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.3832103659976watchdog( )../bootstrap.inc:0
24.3832103662080module_invoke( )../bootstrap.inc:967
34.3833103663936call_user_func_array ( )../module.inc:462
44.3833103664272devel_watchdog( )../module.inc:462
54.3833103664976decode_entities( )../devel.module:382
64.3839103667088drupal_error_handler( )../devel.module:340
74.3839103670848watchdog( )../common.inc:663
84.3839103672976module_invoke( )../bootstrap.inc:967
94.3839103674856call_user_func_array ( )../module.inc:462
104.3839103675208devel_watchdog( )../module.inc:462
114.3839103676008decode_entities( )../devel.module:382