17
Понятие качества ПО Понятие качества ПО и приоритеты аспектов и приоритеты аспектов качества в разных качества в разных классах систем классах систем Сергей Мартыненко Сергей Мартыненко Денис Бесков-Доронин Денис Бесков-Доронин SQA II, Москва SQA II, Москва 29 сентября 2007 29 сентября 2007

Понятие качества ПО и приоритеты аспектов качества

Embed Size (px)

DESCRIPTION

• Не бывает качества вообще. Качество это субъективная оценка конкретным человеком.• Роза качества – наглядное представление о качестве.• Треугольник качества. Еще один миф?• Показатели качества зависят друг от друга.• Интегральная оценка как один из способов оценки продукта.• Для определения характеристик качеств нужно использовать различные методы контроля.• Для достижения желаемых качеств продукта нужно использовать пакет практик покрывающий все критичные для успеха проекта характеристики продукта

Citation preview

Page 1: Понятие качества ПО и приоритеты аспектов качества

Понятие качества ПОПонятие качества ПОи приоритеты аспектов и приоритеты аспектов качества в разных качества в разных классах систем классах систем

Сергей МартыненкоСергей МартыненкоДенис Бесков-ДоронинДенис Бесков-Доронин

SQA II, МоскваSQA II, Москва29 сентября 200729 сентября 2007

Page 2: Понятие качества ПО и приоритеты аспектов качества

Качество для всех разноеКачество для всех разное

► Не бывает качества «вообще»Не бывает качества «вообще»► Критерии качества разные для каждого Критерии качества разные для каждого

заказчиказаказчика

Page 3: Понятие качества ПО и приоритеты аспектов качества

Интегральная оценкаИнтегральная оценка

Группа Метрика Светлана

- Да – 1 балл -

Пляж - Да – 1 балл Да – 1 балл

- - Да – 1 балл

Да – 2 балла Да – 1 балл -

Цена

Безопасность Сейф Да – 1 балл -

Василий (дайвер)

Коля и Лена + их

дети

Функциональная полнота

Детский клуб

Дискотека

Дайвинг центр

<500 – 3

балла500 – 800$ -

2 балла800– 1000$ - 1 балл

< 1000 3

балла1000–1500$ 2

балла1500–2000$- 1 балл

<350 – 3

балла350 – 500$ -

2 балла500– 700$ - 1 балл

В комнате – 1На ресепшене – 0,5

Page 4: Понятие качества ПО и приоритеты аспектов качества

Основной принцип Основной принцип маркетингамаркетинга

Не продавать то,Не продавать то,что произведено,что произведено,

а производить то,а производить то,что продаётся!что продаётся!

Page 5: Понятие качества ПО и приоритеты аспектов качества

Роза качестваРоза качества

0

2

4

6

8

10Функциональная полнота

Безопасность

Эксплутационная надежность

Быстродействие

РасширяемостьЮзабилити

Бездефектность

Настраиваемость

Эффективность

Продукт A Продукт B Продукт C Продукт D

Page 6: Понятие качества ПО и приоритеты аспектов качества

Миф о ТреугольникеМиф о Треугольнике

• Быстро• Качественн

о• Недорого

А на самом деле?

Page 7: Понятие качества ПО и приоритеты аспектов качества

Зависимость показателей Зависимость показателей качества: взаимовлияниекачества: взаимовлияние

Page 8: Понятие качества ПО и приоритеты аспектов качества

Параллели:Параллели:Психология человекаПсихология человека

Иерархияпотребностейпо Маслоу

1. Физиологические2. Безопасность3. Любовь

(Принадлежность)4. Уважение5. Познание6. Этические7. Самоактуализация

Page 9: Понятие качества ПО и приоритеты аспектов качества

А что у нас?А что у нас?

► ФункциональностьФункциональность► БезопасностьБезопасность► НадёжностьНадёжность► ПроизводительностьПроизводительность► Удобство (Практичность)Удобство (Практичность)► Красота (Эстетичность)Красота (Эстетичность)► Вовлекаемость (Вовлекаемость (FlowFlow))► ……

Page 10: Понятие качества ПО и приоритеты аспектов качества

Зависимость показателей Зависимость показателей качества: приоритезациякачества: приоритезация

► Показатели качества имеют Показатели качества имеют приоритетприоритет

► Приоритет зависит от контекстаПриоритет зависит от контекста► Контекст: назначение системы Контекст: назначение системы

(продукта), класс системы(продукта), класс системы

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

эвристическийэвристический метод получения метод получения статических зависимостейстатических зависимостей

Page 11: Понятие качества ПО и приоритеты аспектов качества

«Полезные» классы систем«Полезные» классы систем

► Промышленные, военные, медицинские Промышленные, военные, медицинские системысистемы

► Финансовые системыФинансовые системы► Встраиваемое ПОВстраиваемое ПО► Коробочные системы автоматизацииКоробочные системы автоматизации► Заказные системы автоматизацииЗаказные системы автоматизации► Настольные персональные системыНастольные персональные системы► Массовые публичные веб-системыМассовые публичные веб-системы► Промо-сайтыПромо-сайты► ИгрыИгры► Одноразовое ПООдноразовое ПО

Page 12: Понятие качества ПО и приоритеты аспектов качества

Примеры высших приоритетовПримеры высших приоритетов

• Промо-сайт– Эстетичность– Вовлекаемость

• Игра– Вовлекаемость

• Финансовое ПО– Безопасность

• Одноразовое ПО– Функциональность

• Компоненты повторного использования– Расширяемость

• Военные, медицинские системы– Надёжность– Безопасность

• Публичныевеб-системы– Производительность– Удобство

• Системы автоматизации– Функциональная полнота

Page 13: Понятие качества ПО и приоритеты аспектов качества

Использование Использование приоритетовприоритетов

►Профиль специалистовПрофиль специалистов►Характер жизненного циклаХарактер жизненного цикла►Методы обеспечения и контроляМетоды обеспечения и контроля

Page 14: Понятие качества ПО и приоритеты аспектов качества

Обеспечение качества: Обеспечение качества: практики!практики!

• Парное программирование• Тотальное протоколирование требований• Использование стандартов:

– Кодирования– Пользовательского интерфейса– …

• Модульное тестирование:– TDD– Test First– Прочие практики модульного

тестирования• Компонентное тестирование• Предварительное исследование

платформ и архитектурных решений– Интегральная оценка платформ от

разных вендоров– Пилотные проекты– Объемное тестирование– Выбор решений, позволяющих

масштабирование• Рефакторинг• Непрерывная интеграция

• Бета тестирование• Ежедневная сборка• Короткие циклы поставки• Прототипирование интерфейсов• KISS метод• Исследование предметной области

– Изучение документооборота– Экспресс опросы и интервью– Изучение документов, регламентирующих

деятельность (ГОСТ, должностные инструкция, отраслевые стандарты, положения, нормы и правила)

– Мозговые штурмы– Исследование продуктов конкурентов

• Тестирование производительности• Коридорное тестирование• Следование мейнстриму в разработке ПО• Аудит безопасности• Вычитка кода перед компиляцией

Page 15: Понятие качества ПО и приоритеты аспектов качества

Какой набор практик Какой набор практик выбрать?выбрать?

Набор практик:Набор практик:►Должен покрывать все критичные и Должен покрывать все критичные и

существенные для успеха продукта существенные для успеха продукта метрики метрики

►Должен быть синергетичнымДолжен быть синергетичным►В большей степени зависит В большей степени зависит от от

состава командысостава команды, нежели от типа , нежели от типа проекта!проекта!

Page 16: Понятие качества ПО и приоритеты аспектов качества

Методика обеспечения Методика обеспечения качествакачества

1.1. Определить и приоритезировать Определить и приоритезировать показатели качества из назначения показатели качества из назначения системысистемы

2.2. Сформировать целевую интегральную Сформировать целевую интегральную оценкуоценку

3.3. Отобрать применимые и полезные Отобрать применимые и полезные практикипрактики

4.4. Использовать практики с отслеживанием Использовать практики с отслеживанием состояния качества по «розе качества»состояния качества по «розе качества»

Page 17: Понятие качества ПО и приоритеты аспектов качества

Вопросы, контакты?Вопросы, контакты?

►Сергей МартыненкоСергей Мартыненко Блог «255 ступеней»Блог «255 ступеней»: blog.shumoos.com: blog.shumoos.com it4business.ruit4business.ru

►Денис Бесков-ДоронинДенис Бесков-Доронин Блог «Анализ и проектирование Блог «Анализ и проектирование

систем»: систем»: Beskov.ruBeskov.ru, , beskov.livejournal.combeskov.livejournal.com

UML2.ru, AgileRussia.ruUML2.ru, AgileRussia.ru