Современные модели качества программного обеспечения.

Презентация:



Advertisements
Похожие презентации
Оценка качества процессов создания программного обеспечения Составитель: Шаповалова С.В.
Advertisements

Управление качеством Качество ПО – его соответствие потребностям Заказчика Самый верный путь повышения качества – улучшение процессов создания и сопровождения.
Технология внедрения CASE- средств Технология внедрения CASE-средств базируется в основном на стандартах IEEE (IEEE - Institute of Electrical and Electronics.
Тема 6. Международная стандартизация и сертификация в управлении качеством.
Стандарт ISO 90003:2004
Тема. Стандарты ISO и СМК (системы менеджмента качества)
Непрерывный рост требований к качеству ПС стимулирует создание и активное применение международных стандартов и регламентированных технологий, автоматизирующих.
Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
Общепризнанным документом, подтверждающим надлежащий уровень системы менеджмента качества, является сертификат серии ИСО (ISO 9001, ISO 14001, OHSAS 18001).
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
Тема 7. МЕЖДУНАРОДНАЯ СТАНДАРТИЗАЦИЯ В УПРАВЛЕНИИ КАЧЕСТВОМ И МЕЖДУНАРОДНЫЕ СТАНДАРТЫ ИСО СЕРИИ 9000 НА СИСТЕМЫ КАЧЕСТВА 1. Роль стандартизации в развитии.
УПРАВЛЕНИЕ ПРОЕКТАМИ - ПОНЯТИЯ И ПРОЦЕССЫ Либерзон В.И.
УПРАВЛЕНИЕ ПРОЕКТАМИ - ПОНЯТИЯ И ПРОЦЕССЫ Либерзон В.И.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
ЭКОНОМИКА, ПЛАНИРОВАНИЕ И ОРГАНИЗАЦИЯ ПРОИЗВОДСТВА КАЧЕСТВО И СЕРТИФИКАЦИЯ ПРОДУКЦИИ.
Тема 7. Аудит систем качества. Аудит (инспекция) качества – систематическая и независимая экспертиза (оценка) качества компании Типы аудита Процесса;
Управление качеством. ОСНОВНОЕ СОДЕРЖАНИЕ МС ИСО СЕРИИ И ИХ РОЛЬ В СОЗДАНИИ СИСТЕМЫ ЭКОЛОГИЧЕСКОГО МЕНЕДЖМЕНТА НА ПРЕДПРИЯТИИ
. Кафедра управления качеством и стандартизации. Презентация на тему: Система менеджмента качества Выполнил : Даниелян Р.Т. Руководитель : Привалов В.И.
СИСТЕМА МЕНЕДЖМЕНТА КАЧЕСТВА ГОСТ Р ИСО (ИСО 9000)
Система управления бизнес-процессами Цели внедрения СУБП Основные этапы внедрения СУБП Результаты внедрения СУБП.
Транксрипт:

Современные модели качества программного обеспечения

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

Улучшения процессов разработки ПО показывает, что в успешных случаях наблюдается существенное улучшение производительности и качества со средним уровнем возврата вложений от 5:1 до 8:1

Качество и стандарты Одной из первых моделей качества стал стандарт ISO (Международной организации по стандартизации) серии 9000, первая версия которого была выпущена в 1987 году.

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

Новые стандарты и методологии Наиболее разработаны Capability Maturity Model (CMM) и ISO/IEC (SPICE) Существуют также такие стандарты, как Bootstrap, Trillium, ориентированный на разработку продуктов в области телекоммуникаций и ISO 12207, посвященный жизненному циклу программного обеспечения.

Capability Maturity Model «модель зрелости процесса разработки ПО» 1991 год, SEI (Software Engineering Institute – Институт системного программирования при университете Карнеги-Меллон) опубликовал первую версию этого стандарта.

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

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

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

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

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

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

Пять уровней зрелости в модели CMM

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

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

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

Уровень управления На уровне управления (managed level) в организации устанавливаются количественные показатели качества – как на программные продукты, так и на процесс в целом. Более совершенное управление проектами достигается за счет уменьшения отклонений различных показателей проекта.

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

Сертификация При сертификации проводится оценка соответствия всех ключевых областей по 10-балльной шкале. Для успешной квалификации данной ключевой области необходимо набрать не менее 6 баллов. Оценка ключевой области производится по следующим показателям: Заинтересованность руководства в данной области (планируется ли практическое внедрение данной ключевой области, существует ли понимание у руководства необходимости данной области и т.д.).

Сертификация (2) Насколько широко данная область применяется в организации (например, оценке в 4 балла соответствует фрагментарное применение). Успешность использования данной области на практике (например, оценке в 0 баллов соответствует полное отсутствие какого-либо эффекта, а оценка в 8 баллов выставляется при наличии систематического и измеримого положительного результата практически во всей организации).

Сертификация (3) Можно сертифицировать только один процесс или подразделение организации, например, подразделение разработки программного обеспечения компании IBM сертифицировано на пятый уровень. В мире существует немного компаний пятого уровня CMM, хотя бы в одном из подразделений – таких всего около 50. Cуществует несколько тысяч компаний, сертифицированных по 3 или 4 уровню. Существует колоссальный разрыв между оптимизированным уровнем зрелости и предыдущими уровнями. Еще больший разрыв наблюдается между количеством организаций начального уровня и более высоким уровнем

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

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

Расширения СММ Кроме People CMM, возникло еще несколько моделей, дополняющих CMM, например, в приобретении ПО или разработке крупных систем. CMM Integration

Проблемы при использовании СММ стандарт CMM является собственностью Software Engineering Institute и не является общедоступным ; оценка качества процессов организаций может проводиться только специалистами, прошедшими специальное обучение и аккредитованными SEI; стандарт ориентирован на применение в относительно крупных компаниях

Материалы по CMM сайт Software Engineering Institute:

SPICE В 1991 году Международная организация по стандартизации инициировала работу по созданию единого стандарта оценки программных процессов SPICE (Software Process Improvement and Capability dEtermination, определение возможностей и улучшение процесса создания программного обеспечения). Официально стандарт называется "ISO/IEC 15504: Information Technology - Software Process Assessment" Задачей SPICE является создание международного стандарта, в котором был бы учтен весь накопленный опыт в области разработки ПО

Предшественники стандарта SPICE

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

Уровни способностей процесса в стандарте SPICE Уровень 0 - Процесс не выполняется Уровень 1- Выполняемый процесс 1.1- Измерение производительности процесса Уровень 2 - Управляемый процесс Управление производительностью Управление созданием продуктов Уровень 3 - Установленный процесс Документирование процесса Отслеживание ресурсов процесса Уровень 4 - Предсказуемый процесс Измерение процесса Управление процессом Уровень 5 - Оптимизирующий процесс Изменение процесса Постоянное совершенствование

Упрощенная модель оценки процессов в стандарте SPICE

Основные элементы стандарта SPICE

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

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

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

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

полный текст SPICE можно получить на официальном сайте SPICE:

Преимущества SPICE по сравнению с ISO 9001 SPICEISO 9001 Объемный и подробный документКраткий документ Детальная модельАбстрактная модель Улучшение процесса и определение возможностей Только сертификация Шесть уровней возможностей процессов Сертификация/отказ Требования к оценке процесса, руководство по применению Только модель Дополняет ISO 9001Может быть детализирован с помощью SPICE

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

Преимущества SPICE (2) Использовать SPICE можно и в небольших компаниях – об этом свидетельствуют результаты работы проекта SPIRE, в рамках которого проводилось внедрение процессов улучшения качества в малых (менее 50 человек) компаниях из различных стран Европы. Как показал этот опыт, и при небольших денежных вложениях в маленьких компаниях можно добиться существенного увеличения производительности труда и улучшения качества произведенных продуктов. Результаты исследований, проведенных в рамках проекта SPIRE, можно найти по адресу

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

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

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

Влияние воспроизводимости процессов на конкурентоспособность организаций РасстояниеЧисло дефектов на миллион Организация 6 сигм3.4Мировой класс 5 сигм233 4 сигмы6210Средняя по отрасли 3 сигмы сигмы308537Неконкурентна 1 сигма690000

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

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

Глоссарий Обеспечение качества ПО (software quality assurance) предназначено для информирования руководства об успешности и зрелости процесса разработки ПО и конечных продуктах Определение процесса (process definition) - это рабочее определение набора мер, необходимых для достижения намеченных целей. Характеризуется стандартами, процедурами, обучением, средствами и методами. Планирование проекта (software project planning) устанавливает разумные планы для разработки ПО, на основе которых производится управление программным проектом. Постоянное улучшение процессов (continuous process improvement) обеспечивает повышение производительности, качества продуктов и уменьшение цикла разработки ПО. Предотвращение дефектов (defect prevention) заключается в определении причин возникновения дефектов и в принятии мер по предотвращению их дальнейшего возникновения.

Глоссарий Программный процесс (software process) – набор технологических процедур, используемых организацией для планирования, управления, выполнения, контроля и улучшения работ по созданию ПО. Производительность программного процесса (software process performance) представляет собой реальные результаты венедрения программного процесса. Управление качеством (software quality management) – это процесс, состоящий из численного измерения качества процесса разработки ПО, формулирования определенных целей по улучшению качества и их достижению. Управление конфигурацией ПО (software configuration management) создает и поддерживает целостность продуктов программного проекта в течение всего жизненного цикла ПО. Управление изменениями технологий (technology change management) помогает определить и организованно внедрить на предприятии потенциально выгодные новые технологии (т.е. средства, методы и процессы).

Глоссарий Управление программным проектом (software project tracking and oversight) состоит в отслеживании степени успешности и продвижении программного проекта и в принятии соответствующих мер при возникновении существенных отклонений проекта от плана. Управление субподрядчиками (software subcontract management) заключается в выборе квалифицированных субподрядчиков и эффективном управлении ими. Управление требованиями (requirements management) – это процесс приведения в соответствие представлений пользователя о желаемых результатах и формулируемых требований к разработчику программного проекта. Экспертная оценка программ (peer review) предназначена для эффективного и раннего обнаружения дефектов в ПО и может быть реализована с помощью просмотра исходных текстов, сквозного структурного контроля или иных методов коллективного изучения.

ISO ISO 9000 "Общее руководство качеством и стандарты по обеспечению качества"; ISO 9001 "Система Обеспечения Качества: Модель обеспечения качества при проектировании, разработке, производстве, монтаже и обслуживании"; ISO 9002 "Система Обеспечения Качества: Модель обеспечения качества при производстве, монтаже и обслуживании" ISO 9003 "Система Обеспечения Качества: Модель обеспечения качества при окончательном контроле и испытаниях"; ISO 9004 "Общее руководство качеством и элементы системы качества".

ISO Стандарты ISO 9000 и ISO 9004 – не более чем справочники. Стандартами соответствия являются только ISO 9001, 9002 и Таким образом, бессмысленно говорить о сертификации или регистрации по ISO 9000 или ISO Предприятие может получить только сертификаты на соответствие ISO 9001, 9002 или Для организаций, занимающихся изготовлением программных продуктов, соответствующими стандартами являются ISO 9001 и ISO "Руководящие указания по применению ISO 9001 при разработке, поставке и обслуживании программного обеспечения". Стандарты ISO – дорогое удовольствие. Платным в этой системе является все: от самих стандартов до аудита и собственно сертификации. Небольшое количество свободно распространяемых материалов можно скачать с Web-страниц ISO: С сентября 1999 года существует русскоязычный сайт, посвященный стандартам качества серии ISO Этот сайт организован и поддерживается компанией ЛАНИТ и расположен по адресу