МОДЕЛЬ ЗРЕЛОСТИ ПРОЦЕССОВ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. SW-CMM. CAPABILITY MATURITY MODEL FOR SOFTWARE ПРЕДИСЛОВИЕ ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ ЗРЕЛОСТИ ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ 1.1. Зрелые и незрелые организации-разработчики ПО 1.2. Фундаментальные концепции, лежащие в основе понятия зрелости производственных процессов 1.3. Обзор модели зрелости процессов разработки ГЛАВА 2. ПЯТЬ УРОВНЕЙ ЗРЕЛОСТИ ПРОИЗВОДСТВЕННОГО ПРОЦЕССА 2.1. Поведенческие характеристики уровней зрелости 2.1.1. Уровень 1 – начальный уровень 2.1.2. Уровень 2 – повторяемый уровень 2.1.3. Уровень 3 – определенный уровень 2.1.4. Уровень 4 – управляемый уровень 2.1.5. Уровень 5 – оптимизирующий уровень 2.2. Понимание концепций уровней зрелости 2.2.1. Понимание концепции начального уровня 2.2.2. Понимание повторяемого и определенного уровней 2.2.3. Понимание управляющего и оптимизированного уровней 2.3. Представление о производственном процессе 2.4. Продуктивность процесса и прогнозирование производительности 2.5. Пропуск этапов развития организации ГЛАВА 3. РАБОЧЕЕ ОПРЕДЕЛЕНИЕ МОДЕЛИ ЗРЕЛОСТИ ПРОЦЕССОВ РАЗРАБОТКИ ПО 3.1. Внутренняя структура описания уровней зрелости 3.2. Уровни зрелости 3.3. Группы ключевых процессов 3.4. Разделы Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 3.5. Ключевые практики ГЛАВА 4. ИСПОЛЬЗОВАНИЕ СММ 4.1. Методы внутренней и внешней оценки производственного процесса 4.2. Различия между внутренними и внешними оценками производственного процесса 4.3. Другие способы использования CMM при усовершенствовании производственного процесса ГЛАВА 5. БУДУЩИЕ НАПРАВЛЕНИЯ РАЗВИТИЯ СММ 5.1. Что находится вне области рассмотрения CMM 5.2. Ближайшие задачи 5.3. Долговременные задачи 5.4. Заключение ГЛАВА 6. ИСПОЛЬЗОВАНИЕ СТРАНИЦ ОПИСАНИЯ КЛЮЧЕВЫХ ПРАКТИК Ключевые практики (как таковые) Подпрактики ГЛАВА 7. ИНТЕРПРЕТАЦИЯ СММ 7.1. Интерпретация ключевых практик 7.2. Интерпретация разделов 7.2.1. Обязательства по выполнению Положения политики Лидерство 7.2.2. Необходимые предпосылки Ресурсы и финансирование Обучение Ориентация Начальные условия 7.2.3. Выполняемые операции Типы планов Формальные планы Неформальные планы В соответствии с документированной процедурой Отнесенные к ПО системные требования Отношения типа «поставщик – заказчик» Отслеживание процесса разработки ПО с принятием корректирующих мер в сравнении с управлением ходом работ Контроль в сравнении с экспертной оценкой Помещение в систему управления конфигурацией в сравнении с управлением и контролем 7.2.4. Измерения и анализ 7.2.5. Проверка внедрения Регулярный надзор со стороны высшего руководства Регулярный и событийный надзор со стороны руководства проекта Действия по обеспечению качества ПО 7.3. Интерпретация определения производственного процесса 7.3.1. Концепции определения процесса 7.3.2. Концепции, касающиеся основных средств производственного процесса организации Основные средства производственного процесса организации (ППО) Стандартный производственный процесс организации (СППО) Архитектура производственного процесса Элемент производственного процесса Утвержденное описание жизненных циклов ПО Инструкции и критерии адаптации База данных производственного процесса организации Библиотека документации по производственному процессу 7.3.3. Концепции, связанные с производственным процессом проекта Описание производственного процесса проекта Стадии Задачи Операции Промежуточные программные продукты (результаты проекта) Программные продукты 7.3.4. Взаимосвязь между производственным процессом проекта и планом разработки ПО 7.3.5. Жизненные циклы и CMM 7.3.6. Технология и CMM 7.3.7. Документация и CMM 7.3.8. Сбор и анализ данных процесса 7.4. Организационная структура и роли 7.4.1. Организационные роли Менеджер Руководитель высшего звена Менеджер проекта Производственный менеджер проекта Линейный менеджер Ведущий специалист Персонал, разработчики, сотрудники 7.4.2. Организационная структура Организация Проект Группа Группа разработки ПО Группы, связанные с разработкой ПО Группа инженерии производственного процесса Группа системного проектирования Группа системного тестирования Группа обеспечения качества ПО Группа управления конфигурацией ПО Группа обучения 7.4.3. Независимость и организационная структура 7.5. Применение профессиональной оценки ГЛАВА 8. УРОВЕНЬ 2: ПОВТОРЯЕМЫЙ УРОВЕНЬ 8.1. Управление требованиями Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 8.2. Планирование проекта Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 8.3. Отслеживание хода проекта и контроль над ним Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 8.4. Управление производственным субподрядом Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 8.5. Обеспечение качества ПО Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 8.6. Управление конфигурацией ПО Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения ГЛАВА 9. УРОВЕНЬ 3: ОПРЕДЕЛЕННЫЙ УРОВЕНЬ 9.1. Координация производственного процесса организации Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.2. Определение производственного процесса организации Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.3. Программа обучения Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.4. Интегрированное управление разработкой ПО Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.5. Инженерия разработки программного продукта Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.6. Межгрупповая координация Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения 9.7. Экспертные оценки Цели Обязательства по выполнению Необходимые предпосылки Выполняемые операции Измерения и анализ Проверка внедрения ПРИЛОЖЕНИЕ ЦЕЛИ КАЖДОЙ ГРУППЫ КЛЮЧЕВЫХ ПРОЦЕССОВ 1. Группы ключевых процессов для уровня 2: повторяемый уровень Управление требованиями Планирование проекта Отслеживание хода проекта и контроль над ним Управление производственным субподрядом Обеспечение качества ПО Управление конфигурацией ПО 2. Группы ключевых процессов для уровня 3: определенный уровень Координация производственного процесса организации Определение производственного процесса организации Программа обучения Интегрированное управление разработкой ПО Инженерия разработки программного продукта Межгрупповая координация Экспертные оценки 3. Группы ключевых процессов для уровня 4: управляемый уровень Количественное управление процессом Управление качеством ПО 4. Группы ключевых процессов для уровня 5: оптимизирующий уровень Предотвращение дефектов Управление технологическими изменениями Управление изменениями процесса ССЫЛКИ НА ИСПОЛЬЗУЕМУЮ ЛИТЕРАТУРУ Notes
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ ЗРЕЛОСТИ ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ Спустя два десятилетия, проведенных в ожидании роста производительности и качества ПО вследствие применения новых технологий и методик разработки, промышленные и правительственные организации начали осознавать фундаментальную проблему, с которой они столкнулись: невозможность управления процессом разработки ПО [DoD 87]. Стало очевидным, что преимущества, возникшие вследствие применения наилучших инструментальных средств и методов разработки, сводятся к нулю при работе в рамках неорганизованного, хаотического проекта. Многие организации отмечают, что завершение проектов зачастую слишком запаздывает, а затраченный бюджет вдвое перекрывает запланированный [Siegel 90]. Как правило, подобные неудачи вызваны тем, что организации не предоставляют своим группам разработчиков необходимой инфраструктуры и поддержки.
Тем не менее случается и так, что даже в недисциплинированной организации отдельные проекты дают превосходные результаты. Успешное завершение подобных проектов, как правило, требует героических усилий со стороны энтузиастов-разработчиков, в отличие от итеративного повторения проверенных методов со стороны организации, обладающей зрелыми производственными процессами. В отсутствие единого для всей организации производственного процесса, повторение достигнутых результатов определяется исключительно участием тех же сотрудников, которые были задействованы в предыдущем проекте. Таким образом, подобный успех определяется участием высококвалифицированных энтузиастов, а не наличием у организации фундамента, способного обеспечить устойчивую, долговременную производительность труда и непрерывное улучшение качества разработок. Достижение же последнего может произойти только в результате сфокусированных и непрерывных усилий, направленных на построение инфраструктуры процессов эффективной программной инженерии и управления.