Transcript
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


Recommended