Управление качеством Качество ПО – его соответствие потребностям Заказчика Самый верный путь повышения качества – улучшение процессов создания и сопровождения продукта Только треть проектов успешно завершается, практически всегда превышается бюджет По оценкам IBM исправление ошибок в готовых продуктах требует от 4 до 20 тыс.долларов на ошибку
Стандарты ISO В 1947 году в Лондоне представители 25 стран создали организация International Organization for Standardization (ISO) В настоящее время более 100 стран 2700 комитетов и групп Серия ISO 9000 – ISO (1994 г.) Управление качеством и гарантия качества. Часть 1. Руководство по выбору и использование – ISO (1993 г.) Часть 2. Общее руководство по применению стандарта ISO 9001, 9002 и 9003 – ISO (1991 г.) Часть 3. Руководство по применению стандарта 9001 при разработке, установке и сопровождению ПО
Capability Maturity Model (CMM) 1982 г. комиссия DoD США 1984 г. SEI на базе Карнеги-Меллон, Питтсбург 1986 г. начало работы над CMM 1991 г. выпуск первой версии (CMM 1.0) 2006 г. CMMI-DEV
Признаки зрелой организации Четко определенные и документированные процедуры управления требованиями, планирования проектной деятельности, управления конфигурацией, создания и тестирования программных продуктов, управления проектами Оценки времени, стоимости и сложности основываются на накопленном опыте, разработанных метриках Уточнение и совершенствование этих процедур Стандарты на ключевые процессы и процедуры Общие для всех правила оформления документации Технологии от проекта к проекту меняются незначительно Максимальное использование предыдущего опыта Активная апробация, внедрение новых технологий, их оценка
Ключевые области процесса Цели (goals) Обязательства по выполнению (Commitment to Perform) Осуществимость выполнения (Ability to perform) Выполняемые действия (Activity Performed) Их измерение и анализ (Measurement and Analysis) Проверка внедрения (Verifying Implementation)
Уровни зрелости. Начальный уровень (Initial Level, 1) – По крайней мере один заказ удалось получить, разработать и передать Заказчику – Стабильность разработок отсутствует – Результат всецело зависит от усилий отдельных сотрудников – Успех одного проекта не гарантирует успешности следующего – Ключевые области этого уровня не зафиксированы
Уровни зрелости. Повторяемый уровень (Repeatable Level, 2) – Компания обладает определенными технологиями управления и разработки – Управление требованиями основывается на документированной политике и накопленном опыте – Установлены и введены в повседневную практику базовые показатели для оценки параметров проекта – Менеджеры отслеживают выполнение работы, контролируют временные и производственные затраты – Налажен QA – Организованы специальные группы проверки качества QA
Ключевые области процесса разработки ПО Level 2 Управление требованиями Планирование проекта разработки ПО Отслеживание хода проекта и контроль Управление субподрядчиками разработки ПО Обеспечение уверенности в качестве разработки ПО Управление конфигурацией продукта
Уровни зрелости. Определенный уровень ( Defined Level, 3) – Детализированный методологический подход к управлению (роли и ответственность участников, стандартные процедуры и операции, порядок действий, количественные показатели и метрики процессов, форматы документов) – Постоянно действующая группа SEPG – Организация практически перестает зависеть от личностных качеств конкретных разработчиков – Продуманный механизм постановки задач, планирования, выполнения и контроля исполнения
Ключевые области процесса разработки ПО Level 3 Цель упорядочивания работы организации Определение (стандартного) процесса организации Программа обучения Интегрированное управление разработкой ПО Технология разработки программных продуктов Межгрупповая координация Экспертные (совместные) оценки коллег
Уровни зрелости. Управляемый уровень ( Managed Level, 4) – Разработаны и закреплены в нормативных документах количественные показатели качества – Уменьшение отклонений показателей проекта от запланированных – Систематические изменения в производительности процесса (тренды) можно выделить из случайных вариаций (шума) на основе статистической обработки измерений
Ключевые области процесса разработки ПО Level 4 Количественное управление процессом Управление качеством ПО
Уровни зрелости. Оптимизирующий уровень (Optimizing Level, 5) – Постоянное совершенствование существующих процессов, направленное на предотвращение известных ошибок и предупреждение возможных – Внедрение новых технологий и оценка их эффективности – Механизм повторного использования компонентов (шаблоны отчетов, форматы требований, процедуры и стандартные операции, библиотеки модулей ПО)
Ключевые области процесса разработки ПО Level 5 Предотвращение дефектов Управление изменением технологий Управление изменением процесса