Управление качеством • Качество ПО – его соответствие потребностям Заказчика • Самый верный путь повышения качества – улучшение процессов создания и сопровождения продукта • Только треть проектов успешно завершается, практически всегда превышается бюджет • По оценкам IBM исправление ошибок в готовых продуктах требует от 4 до 20 тыс.долларов на ошибку Стандарты ISO • В 1947 году в Лондоне представители 25 стран создали организация International Organization for Standardization (ISO) • В настоящее время более 100 стран • 2700 комитетов и групп • Серия ISO 9000 – ISO 9000-1 (1994 г.) Управление качеством и гарантия качества. Часть 1. Руководство по выбору и использование – ISO 9000-2 (1993 г.) Часть 2. Общее руководство по применению стандарта ISO 9001, 9002 и 9003 – ISO 9000-3 (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 • Предотвращение дефектов • Управление изменением технологий • Управление изменением процесса