Понятие качества ПОПонятие качества ПОи приоритеты аспектов и приоритеты аспектов качества в разных качества в разных классах систем классах систем
Сергей МартыненкоСергей МартыненкоДенис Бесков-ДоронинДенис Бесков-Доронин
SQA II, МоскваSQA II, Москва29 сентября 200729 сентября 2007
Качество для всех разноеКачество для всех разное
► Не бывает качества «вообще»Не бывает качества «вообще»► Критерии качества разные для каждого Критерии качества разные для каждого
заказчиказаказчика
Интегральная оценкаИнтегральная оценка
Группа Метрика Светлана
- Да – 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
Основной принцип Основной принцип маркетингамаркетинга
Не продавать то,Не продавать то,что произведено,что произведено,
а производить то,а производить то,что продаётся!что продаётся!
Роза качестваРоза качества
0
2
4
6
8
10Функциональная полнота
Безопасность
Эксплутационная надежность
Быстродействие
РасширяемостьЮзабилити
Бездефектность
Настраиваемость
Эффективность
Продукт A Продукт B Продукт C Продукт D
Миф о ТреугольникеМиф о Треугольнике
• Быстро• Качественн
о• Недорого
А на самом деле?
Зависимость показателей Зависимость показателей качества: взаимовлияниекачества: взаимовлияние
Параллели:Параллели:Психология человекаПсихология человека
Иерархияпотребностейпо Маслоу
1. Физиологические2. Безопасность3. Любовь
(Принадлежность)4. Уважение5. Познание6. Этические7. Самоактуализация
А что у нас?А что у нас?
► ФункциональностьФункциональность► БезопасностьБезопасность► НадёжностьНадёжность► ПроизводительностьПроизводительность► Удобство (Практичность)Удобство (Практичность)► Красота (Эстетичность)Красота (Эстетичность)► Вовлекаемость (Вовлекаемость (FlowFlow))► ……
Зависимость показателей Зависимость показателей качества: приоритезациякачества: приоритезация
► Показатели качества имеют Показатели качества имеют приоритетприоритет
► Приоритет зависит от контекстаПриоритет зависит от контекста► Контекст: назначение системы Контекст: назначение системы
(продукта), класс системы(продукта), класс системы
ПриоритезацияПриоритезация::
эвристическийэвристический метод получения метод получения статических зависимостейстатических зависимостей
«Полезные» классы систем«Полезные» классы систем
► Промышленные, военные, медицинские Промышленные, военные, медицинские системысистемы
► Финансовые системыФинансовые системы► Встраиваемое ПОВстраиваемое ПО► Коробочные системы автоматизацииКоробочные системы автоматизации► Заказные системы автоматизацииЗаказные системы автоматизации► Настольные персональные системыНастольные персональные системы► Массовые публичные веб-системыМассовые публичные веб-системы► Промо-сайтыПромо-сайты► ИгрыИгры► Одноразовое ПООдноразовое ПО
Примеры высших приоритетовПримеры высших приоритетов
• Промо-сайт– Эстетичность– Вовлекаемость
• Игра– Вовлекаемость
• Финансовое ПО– Безопасность
• Одноразовое ПО– Функциональность
• Компоненты повторного использования– Расширяемость
• Военные, медицинские системы– Надёжность– Безопасность
• Публичныевеб-системы– Производительность– Удобство
• Системы автоматизации– Функциональная полнота
Использование Использование приоритетовприоритетов
►Профиль специалистовПрофиль специалистов►Характер жизненного циклаХарактер жизненного цикла►Методы обеспечения и контроляМетоды обеспечения и контроля
Обеспечение качества: Обеспечение качества: практики!практики!
• Парное программирование• Тотальное протоколирование требований• Использование стандартов:
– Кодирования– Пользовательского интерфейса– …
• Модульное тестирование:– TDD– Test First– Прочие практики модульного
тестирования• Компонентное тестирование• Предварительное исследование
платформ и архитектурных решений– Интегральная оценка платформ от
разных вендоров– Пилотные проекты– Объемное тестирование– Выбор решений, позволяющих
масштабирование• Рефакторинг• Непрерывная интеграция
• Бета тестирование• Ежедневная сборка• Короткие циклы поставки• Прототипирование интерфейсов• KISS метод• Исследование предметной области
– Изучение документооборота– Экспресс опросы и интервью– Изучение документов, регламентирующих
деятельность (ГОСТ, должностные инструкция, отраслевые стандарты, положения, нормы и правила)
– Мозговые штурмы– Исследование продуктов конкурентов
• Тестирование производительности• Коридорное тестирование• Следование мейнстриму в разработке ПО• Аудит безопасности• Вычитка кода перед компиляцией
Какой набор практик Какой набор практик выбрать?выбрать?
Набор практик:Набор практик:►Должен покрывать все критичные и Должен покрывать все критичные и
существенные для успеха продукта существенные для успеха продукта метрики метрики
►Должен быть синергетичнымДолжен быть синергетичным►В большей степени зависит В большей степени зависит от от
состава командысостава команды, нежели от типа , нежели от типа проекта!проекта!
Методика обеспечения Методика обеспечения качествакачества
1.1. Определить и приоритезировать Определить и приоритезировать показатели качества из назначения показатели качества из назначения системысистемы
2.2. Сформировать целевую интегральную Сформировать целевую интегральную оценкуоценку
3.3. Отобрать применимые и полезные Отобрать применимые и полезные практикипрактики
4.4. Использовать практики с отслеживанием Использовать практики с отслеживанием состояния качества по «розе качества»состояния качества по «розе качества»
Вопросы, контакты?Вопросы, контакты?
►Сергей МартыненкоСергей Мартыненко Блог «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