SlideShare a Scribd company logo
1 of 44
Download to read offline
Ответственность
за качество в разных ИТ-проектах:
в чем она и как ее разделять
Максим Цепков
Главный архитектор дирекции развития решений
Минск, 25 ноября 2016
Software quality assurance days (SQA days)
 Многие полагают, что понятия однозначны и фразу
«Проект надо сделать качественно, и тестировщик
отвечает за это» все должны понимать одинаково
 На самом деле, мир меняется, а смысл понятий
меняется вместе с ним
 В головах многих смысл остается таким,
каким был в момент узнавания
 Мы поговорим о том, какое бывает качество
проектов и за что отвечают тестировщики
Тестировщик и качество:
знаем ли мы смысл понятий?
Чтобы вы понимали весь спектр и это не стало
неожиданностью в новом проекте или компании 2/44
 Какое качество нужно разным проектам?
 Как менялись представления о «качественном проекте»
 Какое качество нужно для разной ИТ-разработки
 Качество: кто и за что отвечает?
 Между кем разделяется ответственность
 Как работать с границами ответственности
и какова ответственность тестировщика
 А как все-таки меняются смыслы?
 Team: как нам понимать друг друга и эффективно
сотрудничать
План доклада
3/44
Как менялись представления
о «качественном проекте»
По мотивам доклада «Развитие критериев качества
и управления проектами» на AgileDays – 2015
4/44
Big Picture истории развития
Эпоха НИОКР
Время
Способ
работы
«Новое время»
 Удовлетворенность стейкхолдеров
 Достижение бизнес-целей продукта
 Каждой ИТ-разработке – свой метод
Эпоха RUP
Время SCRUM
1960 1990 2005 2013
5/44
 Создавались большие
и сложные проекты
 Требования к проектам редко менялись
 Проекты делал квалифицированный
персонал
 Упор был на качество ИТ-системы
Эпоха НИОКР:
когда компьютеры были большими
Ф. Брукс
«Мифический человеко-месяц»
Цель проекта – создать совершенную
ИТ-систему в одном экземпляре
6/44
 Применим к ИТ-разработке принципы
промышленного производства
 Разделим задачу на этапы:
проектирование, разработка, внедрение
 Наладим процессы и разделим зоны
ответственности
Эпоха RUP: персоналки
потребовали много разработчиков
PMBOK-3 (2004)
RUP (2003)
Оценка качества: удалось ли выполнить
проект в срок, уложиться в бюджет и достичь
ожидаемых результатов
7/44
Получалось не очень
Природа ИТ мешает процедурам
Jack W. Reeves «What is software design» (1992; перевод)
Конструирование
системы
Обычный НИОКР
ПроизводствоПроект
ИТ-разработка
Архитектура
и дизайн
Тех.
проект Кодирование
Вещь
Прило-
жение
Код
Архитектура
и дизайн
Кодиро-
вание
Прило-
жение
Компиляция
(build)
Несмотря на тяжелые и дорогие процедуры, успешность
проектов была низкой. Не получалось обеспечить гибкость,
а успех определялся людьми, которых не хватало
8/44
 Вместо тщательного
планирования – наблюдение
за траекторией движения проекта
и приближением к цели
 Концепция SMART-целей, измеримость
достижения
 Итеративное движение с корректировкой
положения цели (требования к системе)
Agile и SCRUM: ответ на вызовы
Гибкость
и наблюдаемость
Качественный проект – это частые
инкрементальные поставки нужного софта
9/44
 От проектной деятельности –
к непрерывному развитию продукта
 От качества ИТ-системы –
к удовлетворенности стейкхолдеров
 От создания системы – к достижению
возможностей для бизнеса и пользователя
 Каждой ИТ-разработке – свой метод
А что сейчас: векторы развития
Канбан в ИТ (2010)
DevOps (2012)
PMBOK 5 (2013)
частично
Качественная ИТ-разработка удовлетворяет
стейкхолдеров и обеспечивает возможности
для бизнеса
10/44
 Моя схема сильно похожа на схему
четырех культур Энтони Лаудера
 Научная
 Заводская
 Дизайнерская
 Сервисная
 Содержание уровней отличается
Энтони Лаудер
«Культуры программных проектов»
Оригинал, перевод (pdf),
рецензия Стаса Фомина
11/44
Если схема Лаудера вам подойдет больше, используйте ее.
Нет смысла выяснять, какая правильнее
Какое качество нужно для разной
ИТ-разработки?
Слово «проект» исчезло не случайно.
Меняем не только смысл, но и понятие!
Вместо «проекта» – предприНятие, endeavor
12/44
Каждый этап добавлял новые фокусы
качества, а не отменял старые
13/44
Время
Фокусы
качества
1960 1990 2005 2013
ИТ-проект
Возможности для бизнеса
Удовлетворенность
стейкхолдеров
Достижение результата разработки
Совершенство процесса разработки
Техническое совершенство системы
ИТ-система
 Стандарт на сайте OMG
 Конкретные описания на сайте И. Якобсона
 Книга И. Якобсона The Essence of Software Engineering
 Курс системного мышления А. Левенчука (pdf)
OMG Essence – пространство
привязки фокусов качества
Requirements
Design
Implementation
Verification
Maintenance
Создан группой SEMAT
под руководством
И. Якобсона
Предыдущая
такая схема –
водопад Ройса
14/44
Endeavor,
а не project
15/44
Система понятна как черный ящик,
но сложно устроена – НИОКР
Фокус
на создаваемую систему
Требования точны
и статичны
Область использования не важна
16/44
Квалифицированная
команда знает
ИТ-технологии
Система понятна как белый ящик –
организуем процесс разработки
17/44
Требования тоже
собираем по процессу
Система получится сама,
хотя протестировать надо
Команда и ИТ-технологии
должны быть адекватны
технологии процесса
Главное – процесс, его дают
технологии проектной работы,
обеспечивая выполнение задач
Область использования не важна
Образ системы неясен – приближаемся
к нему итерациями
18/44
Работаем с требованиями
и задачами в рамках принятого
метода разработки
Команда следует
ценностям и методам
гибкой разработки
Объективно или из-за ограниченной
квалификации командыПостоянная проверка
у стейкхолдеров:
«Система делает то, что надо?»
Непрерывная эволюция системы
вслед за изменениями окружения
19/44
Требования фиксируют
потребность
в изменениях
Система быстро
изменяется, удовлетворяя
стейкхолдеров
Технологии поддерживают
гибкость системы и быстрое
прохождение задач
Стейкхолдеры требуют изменений
системы, исходя из изменений в мире
Команда нацелена на результат
и сама является заинтересованным
стейкхолдером
Система обеспечивает ожидаемые
возможности развития бизнеса
20/44
Требования говорят о гипотезах
изменений, требующих быстрой проверки
Технологии поддерживают
гибкость системы и быстрое
прохождение задач
Возможности в мире – драйвер
изменений системы
Стейкхолдеры мониторят
изменения мира
Система быстро изменяется
вслед за миром
Команда нацелена на результат
и сама является заинтересованным
стейкхолдером
Между кем разделяется
ответственность
Развитие доклада «Разделение ответственности
в заказной разработке» на AnalystDays – 2015
21/44
 Quality Engineer отвечает за качество ИТ-системы
и проверяет ее тестированием
 Quality Assurance отвечает
за качество процесса, которое
в замысле должно привести
к качеству системы
 Это лишь два фокуса
ответственности из многих
 Остальные могут быть
возложены на тех же людей
или на отдельных лиц
QE и QA – послание от RUP
Казалось бы,
просто
22/44
Прежде чем говорить об ответственности,
следует понять, между кем она распределяется
Кто действующие лица?
Команда
Заказчик
Concept
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
Maintenance
Используем
V-диаграмму
23/44
Команда включает много ролей
24/44
Команда
Все границы
ответственности
подвижны
Заказчик
Разработчик
System
Verification
Maintenance
Implementation
Requirements
and Architecture
Concept
Product Owner
Архитектор
Аналитик
Внедрение
и поддержка
Тестировщик
Integration
and Test
Detailed
Design
Не все роли могут присутствовать,
а область заказчика может быть меньше
25/44
Команда
Ответственность
тестировщика может
расширяться
Заказчик
Разработчик
System
Verification
Maintenance
Implementation
Requirements
and Architecture
Concept
Product Owner
Тестировщик
Integration
and Test
Detailed
Design
Тестировщик
А еще нужно делить
ответственность за артефакты
26/44
Команда
Заказчик
Разработчик
System
Verification
Maintenance
Implementation
Requirements
and Architecture
Concept
Product Owner
Архитектор
Аналитик
Внедрение
и поддержка
Тестировщик
Integration
and Test
Detailed
Design
ПО
Требования
Модель системы
Тест-кейсы
Версия
заказчику
Версия на
тестирование
Backlog
Как работать с границами
ответственности и какова
ответственность тестировщика
27/44
 Альфы задают объекты,
состояния которых отражают движение проекта
 Ответственность делится по этим объектам
 Check lists состояний определяют,
в чем ответственность
 Lifecycle-диаграмма иерархична: можно представить
весь проект, его релиз, спринт или разработку фичи
Используем Lifecycle OMG Essence
Артефакт – частный вид объекта
28/44
Пример: жизненный цикл
«стандартного» проекта
29/44
Простейший вариант –
ответственность за проверку задачи
Work
Ready
Verified
Prepared
Req
User story
проработана
User story Task
30/44
User story готова
Разработка
Тестирование
Аналитик
Разработчик
Тестировщик
Ответственность
за готовность user story
Work
Ready
Verified
Prepared
Req
Разработка
тест-кейсов
User story Task
User story готова
Разработка user story может
включать много задач
Аналитик
Разработчик
Тестировщик
Test case
Что является
квантом работы?
Tecт-кейс
тестирует
требования?
По каким задачам описывают
user story и тест-кейсы?
Есть ли индивидуальная
проверка задач?
31/44
Ответственность за поставку системы
32/44
Work
Ready
Verified
Prepared
Req
User story Task
Аналитик
Разработчик
Тестировщик
Test case
Delivered
System
Release
Накопление
релиза
В тестовой среде
В боевой среде
Доставлено вместе с релизом
Тестировщик
разрабатывает
автотесты?
Отвечает
за поставку тестировщик?
Поставка релизами
или continuous delivery?
 Этот способ работы в вашей разработке сложился
исторически или был спроектирован?
 Способ был адекватен особенностям разработки?
Какие цели он обеспечивает?
 Способ продолжает оставаться адекватным сейчас
или его пора заменять? Чем его заменять?
Что значит «может быть так»?
Нужно ли иначе?
Это вопросы к альфе
технологий, Way Of Working
33/44
Как тестировщики участвуют
в формировании технологий?
 Нужна ли разработке continuous delivery
или уместна поставка релизов?
 Нужны ли разработке автотесты и если нужны,
то в каком объеме?
Как определять технологии?
Это зависит от назначения разработки.
Альфы Opportunity и Stakeholder
34/44
Удовлетворенность стейкхолдеров
и обеспечение возможностей бизнеса
35/44
Opp StkH Req ReqWork
Заказчик Product
Owner Аналитик
Разработчик
Тестировщик
Внедрение
и поддержка
Cтейкхолдер
обнаружил
возможность
Возможности
достигаются
Стейкхолдеры
удовлетворены
Фича
в эксплуатации
Для реализации
возможности
разработали фичу
А кто и как
проверяет цели и их достижение?
36/44
Opp StkH Req ReqWork
А это возможность
или гипотеза о ней?
А фича адекватна
возможности?
Кто и как определяет
достижение возможностей?
Кто и как оценивает
удовлетворенность?
Кто проверяет
эксплуатацию?
Заказчик Product
Owner Аналитик
Внедрение
и поддержка
Разработчик
Тестировщик
 Заказчик отвечает за опознание
возможности или выдает гипотезы?
 Могут ли стейкхолдеры заказчика оценить
проект фичи на соответствие возможности?
 Проявляют ли стейкхолдеры заказчика
возможности для бизнеса в своих запросах?
Ответственность за возможности
37/44
 Необходимо определить ответственность
и способ оценки гипотез
 Предпочтительно continuous delivery
для быстрого цикла реализации
 Полезно A/B-тестирование
 Полезно применять тестирование гипотез
до реализации или с помощью макетов
Если возможности – лишь гипотезы
или нет гарантии их достижения
A/B-тестирование и проверка на макетах может
входить в обязанности тестировщика, а может
выполняться аналитиком или маркетологом
38/44
 Можно ли автоматически проверить
критичный функционал?
 Что тестируем автоматически?
 Отгружает релиз человек или автомат?
 Можно ли отменить отгрузку?
 Кто пишет новости версии?
 Эксплуатация – отдельная команда?
 Кто обучает пользователей?
Как релиз приходит к пользователям?
DevOps
Continuous
delivery
Область ответственности тестировщика и способ
его работы сильно зависят от ответов на эти вопросы
39/44
Team: как нам понимать друг друга
и эффективно сотрудничать
40/44
 Каковы ценности и нормы?
 Как организована команда?
 Как организовано взаимодействие?
 Как решаются конфликты?
 Как идет передача ответственности?
Team
Представления о ценностях и нормах образуют
устойчивые фреймы.
Их модель дает Спиральная динамика,
где выделено 8 уровней
41/44
Что значит «протестировать релиз»?
Потыкать что-нибудь
Проверить, как у нас принято
Героически проверить все, что смог придумать
Провести проверку строго по регламенту
Проверить сложные нетривиальные кейсы
Вместе со всеми тестировать и тестировать
Проверить в срок критичные кейсы и новый функционал
Проверить с учетом ожиданий заказчика, сроков и функционала релиза
Из доклада «Действуй, опираясь на ценности» на AgileDays – 2016
42/44
Что значит
«успешно завершить проект»?
43/44
Наконец-то у меня приняли этот проект
Танцы с бубнами вокруг непонятных замечаний завершились успешно
Я заставил принять проект и признать нашу правоту, несмотря на врагов
В соответствии с процедурами и регламентами проект сдан заказчику
Мы поняли интересы принимающих и обеспечили их удовлетворение
Проект стал частью большого общего дела
Результат проекта оправдывает ожидания
Результат встроился в большую систему, принес плоды и развивается
Из доклада «Действуй, опираясь на ценности» на AgileDays – 2016
 Каждой ИТ-разработке нужно свое качество
 Ответственность тоже делится по-своему
 Надо договариваться об идеальной
картине, учитывая:
 представления стейкхолдеров и команды
 объективные особенности проекта
 А затем – работать над воплощением идеала
Подводя итоги
Спасибо! Вопросы?
Максим Цепков mtsepkov.org
44/44

More Related Content

What's hot

Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Sergiy Povolyashko
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
Technopark
 
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова НатальяDUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
it-people
 
Разработка веб-сервисов осень 2013 лекция 2
Разработка веб-сервисов осень 2013 лекция 2Разработка веб-сервисов осень 2013 лекция 2
Разработка веб-сервисов осень 2013 лекция 2
Technopark
 

What's hot (20)

Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
Оценка аутсорсинговых проектов
Оценка аутсорсинговых проектовОценка аутсорсинговых проектов
Оценка аутсорсинговых проектов
 
L4 requirements
L4 requirementsL4 requirements
L4 requirements
 
Product lifecycle ws software development (sef)
Product lifecycle ws software development (sef)Product lifecycle ws software development (sef)
Product lifecycle ws software development (sef)
 
Методологии разработки ПО
Методологии разработки ПОМетодологии разработки ПО
Методологии разработки ПО
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
 
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработке
 
Dead zone. Прохоренко
Dead zone. ПрохоренкоDead zone. Прохоренко
Dead zone. Прохоренко
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
 
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
 
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработке
 
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
Модуль 2: Лекция 9-10.  Обзор методологий, фреймворковМодуль 2: Лекция 9-10.  Обзор методологий, фреймворков
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Кризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияКризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решения
 
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
 
тестирование программного обеспечения
тестирование программного обеспечениятестирование программного обеспечения
тестирование программного обеспечения
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова НатальяDUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
 
Разработка веб-сервисов осень 2013 лекция 2
Разработка веб-сервисов осень 2013 лекция 2Разработка веб-сервисов осень 2013 лекция 2
Разработка веб-сервисов осень 2013 лекция 2
 

Viewers also liked

Agile - ответ на вызовы третьей промышленной революции - цепков custis
Agile - ответ на вызовы третьей промышленной революции - цепков custisAgile - ответ на вызовы третьей промышленной революции - цепков custis
Agile - ответ на вызовы третьей промышленной революции - цепков custis
Maxim Tsepkov
 

Viewers also liked (6)

Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
Process and Case Management together (SECR-2016)
Process and Case Management together (SECR-2016)Process and Case Management together (SECR-2016)
Process and Case Management together (SECR-2016)
 
Как понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компанииКак понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компании
 
Асхат Уразбаев, А как у них? Agile в государственных проектах других стран
Асхат Уразбаев, А как у них? Agile в государственных проектах других странАсхат Уразбаев, А как у них? Agile в государственных проектах других стран
Асхат Уразбаев, А как у них? Agile в государственных проектах других стран
 
Use OOP for domain ontology WIAD-2017
Use OOP for domain ontology WIAD-2017Use OOP for domain ontology WIAD-2017
Use OOP for domain ontology WIAD-2017
 
Agile - ответ на вызовы третьей промышленной революции - цепков custis
Agile - ответ на вызовы третьей промышленной революции - цепков custisAgile - ответ на вызовы третьей промышленной революции - цепков custis
Agile - ответ на вызовы третьей промышленной революции - цепков custis
 

Similar to Ответственность за качество в разных ИТ-проектах

2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
Омские ИТ-субботники
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
Alex V. Petrov
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements management
Alexey Bolshakov
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
Dima Dzuba
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
LuxoftTraining
 
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
ANDREY ZAKHODYAYCHENKO
 

Similar to Ответственность за качество в разных ИТ-проектах (20)

2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
 
Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015
 
Проект внедрения КИС
Проект внедрения КИСПроект внедрения КИС
Проект внедрения КИС
 
Широкое внедрение Agile Unified Process
Широкое внедрение Agile Unified ProcessШирокое внедрение Agile Unified Process
Широкое внедрение Agile Unified Process
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
Agile requirements management
Agile requirements managementAgile requirements management
Agile requirements management
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Sdlc by Anatoliy Anthony Cox
Sdlc by  Anatoliy Anthony CoxSdlc by  Anatoliy Anthony Cox
Sdlc by Anatoliy Anthony Cox
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Развитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТРазвитие управления проектами и критериев качества в ИТ
Развитие управления проектами и критериев качества в ИТ
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
внедрение Alm суп командами разработки по (agile (scrum)) 4 3 11
 

More from Maxim Tsepkov

Agile and the Third Wave (IT Spring 2017)
Agile and the Third Wave (IT Spring 2017)Agile and the Third Wave (IT Spring 2017)
Agile and the Third Wave (IT Spring 2017)
Maxim Tsepkov
 
Spiral dynamics InUse Tsepkov Testclub 2014-07
Spiral dynamics InUse Tsepkov Testclub 2014-07Spiral dynamics InUse Tsepkov Testclub 2014-07
Spiral dynamics InUse Tsepkov Testclub 2014-07
Maxim Tsepkov
 

More from Maxim Tsepkov (20)

From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017From Agile to Teal Organization PRyug-2017
From Agile to Teal Organization PRyug-2017
 
Самоопределяйся технологично!
Самоопределяйся технологично!Самоопределяйся технологично!
Самоопределяйся технологично!
 
Agile and the Third Wave (IT Spring 2017)
Agile and the Third Wave (IT Spring 2017)Agile and the Third Wave (IT Spring 2017)
Agile and the Third Wave (IT Spring 2017)
 
Accounting diagram - Tsepkov EconConf-2017
Accounting diagram - Tsepkov EconConf-2017Accounting diagram - Tsepkov EconConf-2017
Accounting diagram - Tsepkov EconConf-2017
 
Practice of enterprice development ProfsoUX-2017
Practice of enterprice development  ProfsoUX-2017Practice of enterprice development  ProfsoUX-2017
Practice of enterprice development ProfsoUX-2017
 
Эволюция организаций и эволюция сотрудника – как изменяется понятие о прави...
Эволюция организаций и эволюция сотрудника – как изменяется понятие о прави...Эволюция организаций и эволюция сотрудника – как изменяется понятие о прави...
Эволюция организаций и эволюция сотрудника – как изменяется понятие о прави...
 
Process and Case Management together
Process and Case Management togetherProcess and Case Management together
Process and Case Management together
 
Taxonomy vs folksonomy Tsepkov Analyst Days 2016
Taxonomy vs folksonomy Tsepkov Analyst Days 2016Taxonomy vs folksonomy Tsepkov Analyst Days 2016
Taxonomy vs folksonomy Tsepkov Analyst Days 2016
 
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
 
действуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепковдействуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепков
 
Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015Big picture of it project managerment Tsepkov AgileDays 2015
Big picture of it project managerment Tsepkov AgileDays 2015
 
Spiral dynamics in use tsepkov sqadays-16
Spiral dynamics in use tsepkov sqadays-16Spiral dynamics in use tsepkov sqadays-16
Spiral dynamics in use tsepkov sqadays-16
 
Ddd softwarepeople-2012-tsepkov
Ddd softwarepeople-2012-tsepkovDdd softwarepeople-2012-tsepkov
Ddd softwarepeople-2012-tsepkov
 
Ddd softwarepeople-2013-tsepkov
Ddd softwarepeople-2013-tsepkovDdd softwarepeople-2013-tsepkov
Ddd softwarepeople-2013-tsepkov
 
Ddd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovDdd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkov
 
Spiral dynamics InUse Tsepkov Testclub 2014-07
Spiral dynamics InUse Tsepkov Testclub 2014-07Spiral dynamics InUse Tsepkov Testclub 2014-07
Spiral dynamics InUse Tsepkov Testclub 2014-07
 
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15
 
DDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovDDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 Tsepkov
 
Agile and usual_managerment-sp_mconf-2013-tsepkov
Agile and usual_managerment-sp_mconf-2013-tsepkovAgile and usual_managerment-sp_mconf-2013-tsepkov
Agile and usual_managerment-sp_mconf-2013-tsepkov
 
Belbin team spmconf-2012-tsepkov
Belbin team spmconf-2012-tsepkovBelbin team spmconf-2012-tsepkov
Belbin team spmconf-2012-tsepkov
 

Ответственность за качество в разных ИТ-проектах

  • 1. Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять Максим Цепков Главный архитектор дирекции развития решений Минск, 25 ноября 2016 Software quality assurance days (SQA days)
  • 2.  Многие полагают, что понятия однозначны и фразу «Проект надо сделать качественно, и тестировщик отвечает за это» все должны понимать одинаково  На самом деле, мир меняется, а смысл понятий меняется вместе с ним  В головах многих смысл остается таким, каким был в момент узнавания  Мы поговорим о том, какое бывает качество проектов и за что отвечают тестировщики Тестировщик и качество: знаем ли мы смысл понятий? Чтобы вы понимали весь спектр и это не стало неожиданностью в новом проекте или компании 2/44
  • 3.  Какое качество нужно разным проектам?  Как менялись представления о «качественном проекте»  Какое качество нужно для разной ИТ-разработки  Качество: кто и за что отвечает?  Между кем разделяется ответственность  Как работать с границами ответственности и какова ответственность тестировщика  А как все-таки меняются смыслы?  Team: как нам понимать друг друга и эффективно сотрудничать План доклада 3/44
  • 4. Как менялись представления о «качественном проекте» По мотивам доклада «Развитие критериев качества и управления проектами» на AgileDays – 2015 4/44
  • 5. Big Picture истории развития Эпоха НИОКР Время Способ работы «Новое время»  Удовлетворенность стейкхолдеров  Достижение бизнес-целей продукта  Каждой ИТ-разработке – свой метод Эпоха RUP Время SCRUM 1960 1990 2005 2013 5/44
  • 6.  Создавались большие и сложные проекты  Требования к проектам редко менялись  Проекты делал квалифицированный персонал  Упор был на качество ИТ-системы Эпоха НИОКР: когда компьютеры были большими Ф. Брукс «Мифический человеко-месяц» Цель проекта – создать совершенную ИТ-систему в одном экземпляре 6/44
  • 7.  Применим к ИТ-разработке принципы промышленного производства  Разделим задачу на этапы: проектирование, разработка, внедрение  Наладим процессы и разделим зоны ответственности Эпоха RUP: персоналки потребовали много разработчиков PMBOK-3 (2004) RUP (2003) Оценка качества: удалось ли выполнить проект в срок, уложиться в бюджет и достичь ожидаемых результатов 7/44 Получалось не очень
  • 8. Природа ИТ мешает процедурам Jack W. Reeves «What is software design» (1992; перевод) Конструирование системы Обычный НИОКР ПроизводствоПроект ИТ-разработка Архитектура и дизайн Тех. проект Кодирование Вещь Прило- жение Код Архитектура и дизайн Кодиро- вание Прило- жение Компиляция (build) Несмотря на тяжелые и дорогие процедуры, успешность проектов была низкой. Не получалось обеспечить гибкость, а успех определялся людьми, которых не хватало 8/44
  • 9.  Вместо тщательного планирования – наблюдение за траекторией движения проекта и приближением к цели  Концепция SMART-целей, измеримость достижения  Итеративное движение с корректировкой положения цели (требования к системе) Agile и SCRUM: ответ на вызовы Гибкость и наблюдаемость Качественный проект – это частые инкрементальные поставки нужного софта 9/44
  • 10.  От проектной деятельности – к непрерывному развитию продукта  От качества ИТ-системы – к удовлетворенности стейкхолдеров  От создания системы – к достижению возможностей для бизнеса и пользователя  Каждой ИТ-разработке – свой метод А что сейчас: векторы развития Канбан в ИТ (2010) DevOps (2012) PMBOK 5 (2013) частично Качественная ИТ-разработка удовлетворяет стейкхолдеров и обеспечивает возможности для бизнеса 10/44
  • 11.  Моя схема сильно похожа на схему четырех культур Энтони Лаудера  Научная  Заводская  Дизайнерская  Сервисная  Содержание уровней отличается Энтони Лаудер «Культуры программных проектов» Оригинал, перевод (pdf), рецензия Стаса Фомина 11/44 Если схема Лаудера вам подойдет больше, используйте ее. Нет смысла выяснять, какая правильнее
  • 12. Какое качество нужно для разной ИТ-разработки? Слово «проект» исчезло не случайно. Меняем не только смысл, но и понятие! Вместо «проекта» – предприНятие, endeavor 12/44
  • 13. Каждый этап добавлял новые фокусы качества, а не отменял старые 13/44 Время Фокусы качества 1960 1990 2005 2013 ИТ-проект Возможности для бизнеса Удовлетворенность стейкхолдеров Достижение результата разработки Совершенство процесса разработки Техническое совершенство системы ИТ-система
  • 14.  Стандарт на сайте OMG  Конкретные описания на сайте И. Якобсона  Книга И. Якобсона The Essence of Software Engineering  Курс системного мышления А. Левенчука (pdf) OMG Essence – пространство привязки фокусов качества Requirements Design Implementation Verification Maintenance Создан группой SEMAT под руководством И. Якобсона Предыдущая такая схема – водопад Ройса 14/44
  • 16. Система понятна как черный ящик, но сложно устроена – НИОКР Фокус на создаваемую систему Требования точны и статичны Область использования не важна 16/44 Квалифицированная команда знает ИТ-технологии
  • 17. Система понятна как белый ящик – организуем процесс разработки 17/44 Требования тоже собираем по процессу Система получится сама, хотя протестировать надо Команда и ИТ-технологии должны быть адекватны технологии процесса Главное – процесс, его дают технологии проектной работы, обеспечивая выполнение задач Область использования не важна
  • 18. Образ системы неясен – приближаемся к нему итерациями 18/44 Работаем с требованиями и задачами в рамках принятого метода разработки Команда следует ценностям и методам гибкой разработки Объективно или из-за ограниченной квалификации командыПостоянная проверка у стейкхолдеров: «Система делает то, что надо?»
  • 19. Непрерывная эволюция системы вслед за изменениями окружения 19/44 Требования фиксируют потребность в изменениях Система быстро изменяется, удовлетворяя стейкхолдеров Технологии поддерживают гибкость системы и быстрое прохождение задач Стейкхолдеры требуют изменений системы, исходя из изменений в мире Команда нацелена на результат и сама является заинтересованным стейкхолдером
  • 20. Система обеспечивает ожидаемые возможности развития бизнеса 20/44 Требования говорят о гипотезах изменений, требующих быстрой проверки Технологии поддерживают гибкость системы и быстрое прохождение задач Возможности в мире – драйвер изменений системы Стейкхолдеры мониторят изменения мира Система быстро изменяется вслед за миром Команда нацелена на результат и сама является заинтересованным стейкхолдером
  • 21. Между кем разделяется ответственность Развитие доклада «Разделение ответственности в заказной разработке» на AnalystDays – 2015 21/44
  • 22.  Quality Engineer отвечает за качество ИТ-системы и проверяет ее тестированием  Quality Assurance отвечает за качество процесса, которое в замысле должно привести к качеству системы  Это лишь два фокуса ответственности из многих  Остальные могут быть возложены на тех же людей или на отдельных лиц QE и QA – послание от RUP Казалось бы, просто 22/44
  • 23. Прежде чем говорить об ответственности, следует понять, между кем она распределяется Кто действующие лица? Команда Заказчик Concept Requirements and Architecture Detailed Design Implementation Integration and Test System Verification Maintenance Используем V-диаграмму 23/44
  • 24. Команда включает много ролей 24/44 Команда Все границы ответственности подвижны Заказчик Разработчик System Verification Maintenance Implementation Requirements and Architecture Concept Product Owner Архитектор Аналитик Внедрение и поддержка Тестировщик Integration and Test Detailed Design
  • 25. Не все роли могут присутствовать, а область заказчика может быть меньше 25/44 Команда Ответственность тестировщика может расширяться Заказчик Разработчик System Verification Maintenance Implementation Requirements and Architecture Concept Product Owner Тестировщик Integration and Test Detailed Design Тестировщик
  • 26. А еще нужно делить ответственность за артефакты 26/44 Команда Заказчик Разработчик System Verification Maintenance Implementation Requirements and Architecture Concept Product Owner Архитектор Аналитик Внедрение и поддержка Тестировщик Integration and Test Detailed Design ПО Требования Модель системы Тест-кейсы Версия заказчику Версия на тестирование Backlog
  • 27. Как работать с границами ответственности и какова ответственность тестировщика 27/44
  • 28.  Альфы задают объекты, состояния которых отражают движение проекта  Ответственность делится по этим объектам  Check lists состояний определяют, в чем ответственность  Lifecycle-диаграмма иерархична: можно представить весь проект, его релиз, спринт или разработку фичи Используем Lifecycle OMG Essence Артефакт – частный вид объекта 28/44
  • 30. Простейший вариант – ответственность за проверку задачи Work Ready Verified Prepared Req User story проработана User story Task 30/44 User story готова Разработка Тестирование Аналитик Разработчик Тестировщик
  • 31. Ответственность за готовность user story Work Ready Verified Prepared Req Разработка тест-кейсов User story Task User story готова Разработка user story может включать много задач Аналитик Разработчик Тестировщик Test case Что является квантом работы? Tecт-кейс тестирует требования? По каким задачам описывают user story и тест-кейсы? Есть ли индивидуальная проверка задач? 31/44
  • 32. Ответственность за поставку системы 32/44 Work Ready Verified Prepared Req User story Task Аналитик Разработчик Тестировщик Test case Delivered System Release Накопление релиза В тестовой среде В боевой среде Доставлено вместе с релизом Тестировщик разрабатывает автотесты? Отвечает за поставку тестировщик? Поставка релизами или continuous delivery?
  • 33.  Этот способ работы в вашей разработке сложился исторически или был спроектирован?  Способ был адекватен особенностям разработки? Какие цели он обеспечивает?  Способ продолжает оставаться адекватным сейчас или его пора заменять? Чем его заменять? Что значит «может быть так»? Нужно ли иначе? Это вопросы к альфе технологий, Way Of Working 33/44 Как тестировщики участвуют в формировании технологий?
  • 34.  Нужна ли разработке continuous delivery или уместна поставка релизов?  Нужны ли разработке автотесты и если нужны, то в каком объеме? Как определять технологии? Это зависит от назначения разработки. Альфы Opportunity и Stakeholder 34/44
  • 35. Удовлетворенность стейкхолдеров и обеспечение возможностей бизнеса 35/44 Opp StkH Req ReqWork Заказчик Product Owner Аналитик Разработчик Тестировщик Внедрение и поддержка Cтейкхолдер обнаружил возможность Возможности достигаются Стейкхолдеры удовлетворены Фича в эксплуатации Для реализации возможности разработали фичу
  • 36. А кто и как проверяет цели и их достижение? 36/44 Opp StkH Req ReqWork А это возможность или гипотеза о ней? А фича адекватна возможности? Кто и как определяет достижение возможностей? Кто и как оценивает удовлетворенность? Кто проверяет эксплуатацию? Заказчик Product Owner Аналитик Внедрение и поддержка Разработчик Тестировщик
  • 37.  Заказчик отвечает за опознание возможности или выдает гипотезы?  Могут ли стейкхолдеры заказчика оценить проект фичи на соответствие возможности?  Проявляют ли стейкхолдеры заказчика возможности для бизнеса в своих запросах? Ответственность за возможности 37/44
  • 38.  Необходимо определить ответственность и способ оценки гипотез  Предпочтительно continuous delivery для быстрого цикла реализации  Полезно A/B-тестирование  Полезно применять тестирование гипотез до реализации или с помощью макетов Если возможности – лишь гипотезы или нет гарантии их достижения A/B-тестирование и проверка на макетах может входить в обязанности тестировщика, а может выполняться аналитиком или маркетологом 38/44
  • 39.  Можно ли автоматически проверить критичный функционал?  Что тестируем автоматически?  Отгружает релиз человек или автомат?  Можно ли отменить отгрузку?  Кто пишет новости версии?  Эксплуатация – отдельная команда?  Кто обучает пользователей? Как релиз приходит к пользователям? DevOps Continuous delivery Область ответственности тестировщика и способ его работы сильно зависят от ответов на эти вопросы 39/44
  • 40. Team: как нам понимать друг друга и эффективно сотрудничать 40/44
  • 41.  Каковы ценности и нормы?  Как организована команда?  Как организовано взаимодействие?  Как решаются конфликты?  Как идет передача ответственности? Team Представления о ценностях и нормах образуют устойчивые фреймы. Их модель дает Спиральная динамика, где выделено 8 уровней 41/44
  • 42. Что значит «протестировать релиз»? Потыкать что-нибудь Проверить, как у нас принято Героически проверить все, что смог придумать Провести проверку строго по регламенту Проверить сложные нетривиальные кейсы Вместе со всеми тестировать и тестировать Проверить в срок критичные кейсы и новый функционал Проверить с учетом ожиданий заказчика, сроков и функционала релиза Из доклада «Действуй, опираясь на ценности» на AgileDays – 2016 42/44
  • 43. Что значит «успешно завершить проект»? 43/44 Наконец-то у меня приняли этот проект Танцы с бубнами вокруг непонятных замечаний завершились успешно Я заставил принять проект и признать нашу правоту, несмотря на врагов В соответствии с процедурами и регламентами проект сдан заказчику Мы поняли интересы принимающих и обеспечили их удовлетворение Проект стал частью большого общего дела Результат проекта оправдывает ожидания Результат встроился в большую систему, принес плоды и развивается Из доклада «Действуй, опираясь на ценности» на AgileDays – 2016
  • 44.  Каждой ИТ-разработке нужно свое качество  Ответственность тоже делится по-своему  Надо договариваться об идеальной картине, учитывая:  представления стейкхолдеров и команды  объективные особенности проекта  А затем – работать над воплощением идеала Подводя итоги Спасибо! Вопросы? Максим Цепков mtsepkov.org 44/44