Спецификация на примерах или как научить людей...

43
Спецификация на примерах или как научить людей общаться Ребров Андрей

description

Доклад Реброва Андрея на конференции Analyst Days-2. 25 мая, Санкт-Петербург. www.analystdays.com

Transcript of Спецификация на примерах или как научить людей...

Page 1: Спецификация на примерах или как научить людей общаться

Спецификация на примерах или как научить людей общаться Ребров Андрей

Page 2: Спецификация на примерах или как научить людей общаться
Page 3: Спецификация на примерах или как научить людей общаться

История об одной команде

Page 4: Спецификация на примерах или как научить людей общаться

Тестировщик

Page 5: Спецификация на примерах или как научить людей общаться

Аналитик

Page 6: Спецификация на примерах или как научить людей общаться

Разработчик

Page 7: Спецификация на примерах или как научить людей общаться

Их ждала работа

Page 8: Спецификация на примерах или как научить людей общаться

Много работы

Page 9: Спецификация на примерах или как научить людей общаться

А тут еще и заказчик негодует

Page 10: Спецификация на примерах или как научить людей общаться

И что с ними

стало?

Page 11: Спецификация на примерах или как научить людей общаться
Page 12: Спецификация на примерах или как научить людей общаться

На практике• 15000 требований•Постоянные переделки• Рассогласование требований, тестирования и разработки

Page 13: Спецификация на примерах или как научить людей общаться

Делаем первые шаги в правильном направлении

Page 14: Спецификация на примерах или как научить людей общаться

Story Mapping

• Формируем бэклог релиза

• Определяем объем задач

• Определяем архитектурные изменения

Page 15: Спецификация на примерах или как научить людей общаться

Начало

Page 16: Спецификация на примерах или как научить людей общаться

Препланирование

• 2 раза в неделю• Участвует вся команда• Длительность 1 час• Что не успели, то не

успели

Page 17: Спецификация на примерах или как научить людей общаться

Промежуточные итоги

• Стало меньше багов• Стало меньше

переделок• Демо стало проходить

успешно

Page 18: Спецификация на примерах или как научить людей общаться

Но!

Page 19: Спецификация на примерах или как научить людей общаться

Три источника правды• Требования• Тест-кейсы• Код

Page 20: Спецификация на примерах или как научить людей общаться

SPEC BY EXAMPLE

Page 21: Спецификация на примерах или как научить людей общаться

Используем Impact mapping

Page 22: Спецификация на примерах или как научить людей общаться

Зачем•Проверяем на соответствие бизнес целям релиза•Ищем альтернативные пути решения• Четко формулируем пользовательские истории

Page 23: Спецификация на примерах или как научить людей общаться

Например

Импорт данных в CRM через шину

Продажа услуг через CRM

Продажник

Повышение эффективности отдела продаж

Импорт данных в CRM из XML

Page 24: Спецификация на примерах или как научить людей общаться

Парная работа тестировщика и аналитика

Page 25: Спецификация на примерах или как научить людей общаться

Что они делают

• Подготовка 1 - 2 примеров с точки зрения пользователя

• Представление данных в виде таблицы

• Описание всей терминологии

Page 26: Спецификация на примерах или как научить людей общаться

НапримерРегион Существ

ует категория

Данные услуги

Услуга Адрес

Юрлицо

Поволжье Да ID1АдресРога и копыта

ID1 Адрес

Рога и копыта

Поволжье Нет ID1АдресРога и копыта

ID2 Адрес

Рога и копыта

Page 27: Спецификация на примерах или как научить людей общаться

Меняем препланирования

Page 28: Спецификация на примерах или как научить людей общаться

Новый формат• Тестировщик и

аналитик объясняют примеры

• Проводим Diverse & Merge

Page 29: Спецификация на примерах или как научить людей общаться

Diverse & Merge• Разбиваем команду на группы• Хотя бы 1 группа без

тестировщика и аналитика, которые прорабатывали требования

• Даем 15-20 минут на проработку своих примеров

• По окончании сводим все таблицы в одну

Page 30: Спецификация на примерах или как научить людей общаться

Что на выходеРегион Существ

ует категория

Найдена услуга

Данные услуги

Услуга

Адрес

Адрес доставки

Юрлицо

Поволжье Да Да ID1АдресРога и копыта

ID1 Адрес

Адрес

Рога и копыта

Поволжье Нет Да ID1АдресРога и копыта

ID2 Адрес

Адрес

Рога и копыта

Page 31: Спецификация на примерах или как научить людей общаться

Уменьшаем размеры

Page 32: Спецификация на примерах или как научить людей общаться

Что делаемУменьшаем количество строк/столбцов в таблице•Вводим параметрические обозначения•Сливаем схожие сценарии в один•Убираем лишние данные•Выделяем новые пользовательские истории

Page 33: Спецификация на примерах или как научить людей общаться

Как былоРегион Существ

ует категория

Найдена услуга

Данные услуги

Услуга

Адрес

Адрес доставки

Юрлицо

Поволжье Да Да ID1АдресРога и копыта

ID1 Адрес

Рога и копыта

Поволжье Нет Да ID1АдресРога и копыта

ID2 Адрес

Рога и копыта

Page 34: Спецификация на примерах или как научить людей общаться

Как сталоСуществует категория

Найдена услуга

Данные услуги

Услуга Данные услуги

Да Да Услуга Обновляем

Копируем

Нет Да Услуга Создаем Копируем

Page 35: Спецификация на примерах или как научить людей общаться

Требования =

Тест-кейсы

Page 36: Спецификация на примерах или как научить людей общаться

Время автоматизации

Page 37: Спецификация на примерах или как научить людей общаться

Behavior Driven Development (BDD)

• Разбиваем пользовательскую историю на шаги• Каждый шаг имеет трансляцию в код• Входные данные – таблицы с предыдущего этапа

Page 38: Спецификация на примерах или как научить людей общаться

Пример

Page 39: Спецификация на примерах или как научить людей общаться

Подведем итоги

Page 40: Спецификация на примерах или как научить людей общаться

Что сделали• Impact mapping• Совместная работа QA

+ BA• Diverse & Merge• Оптимизация данных• BDD

Page 41: Спецификация на примерах или как научить людей общаться

Чего добились• Однозначная трассировка

требований в код• Однозначное понимание

требований всей командой• Упрощение оценки требований• Экономия времени тестировщиков• Стало проще готовить и проводить

демо

Page 42: Спецификация на примерах или как научить людей общаться

Twitter@andrebrov

[email protected]

Skyperebrov.andrey

Вопросы?

Page 43: Спецификация на примерах или как научить людей общаться

Приглашаю на тренингиПостроение культуры DevOps Москва, 12 – 13 июня

Тестирование в AgileМосква, 8 – 10 июля