SlideShare a Scribd company logo
1 of 33
Download to read offline
ПОДХОДЫ К
СПЕЦИФИКАЦИИ
ИЗМЕНЕНИЙ
Делаем осознанный выбор
22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 1
В чем проблема со спецификацией
изменений?
■ Заказчик: Нам нужно добавить поле
на этот экран
■ БА: Хорошо, я посмотрю
(…)
■ БА: У вас есть документация на это?
■ ПМ: Да.
■ БА: Она актуальна?
■ ПМ: Процентов на 80…
■ БА: А что конкретно не актуально?
■ ПМ: Надо смотреть, там были
изменения… мы не обновляли ее
полгода.
22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 2
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 3© Станислав Рождественский 2016 Санкт-Петербург
Изменение – переход объекта из одного
состояния в другое с течением времени
22-Apr-16 4
Текущее
состояние
Целевое
состояние
Дельта
© Станислав Рождественский 2016 Санкт-Петербург
Карта изменений приложения может
быть сложной
22-Apr-16 5
Разработка: v1.0 v2.0 v3.0
Тестирование: v1.1 v2.1 v3.1
Производство: v1.2 v2.2 v3.2
Время
© Станислав Рождественский 2016 Санкт-Петербург
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 6© Станислав Рождественский 2016 Санкт-Петербург
Спецификация – абстрактное описание
реального приложения человеческим языком
■ Объяснить требования разработчикам
■ Согласовать логику приложения с заинтересованными лицами
■ Определить как тестовые сценарии
■ Обеспечить поддержку приложения
■ Основа для планирования проекта
22-Apr-16 7
Спецификация – это лишь одно из средств достижения целей.
Можно им пользоваться, а можно и нет
© Станислав Рождественский 2016 Санкт-Петербург
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 8© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту: Схема
Итерация
1
Добавить поле
Нужно всплывающее
окно
Проверить
уникальность логина
Итерация
2
Убрать поле
Добавить чекбокс
Хочу розовое платье
Проверить без учета
кейса
Итерация
3
Сделать кнопкой
Теперь модальное
окно
Проверить
минимальную длину
Итерация
4
Добавить обратно
Нет, голубое
И максимальную тоже
Итерация
5
Сделать зеленой
кнопкой
Пусть будет
отдельная вкладка
Лучше туфли
Автоматический
доступ
22-Apr-16 9© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту: Когда и Как
КОГДА использовать
■ Основная Цель: загрузить
команду
■ Ресурсов БА не хватает
КАК использовать
■ Записывать
инкрементальные
изменения в трекер
■ Изменения планируются на
итерации и связываются с
задачами разработчиков
22-Apr-16 10© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту: примеры
Пример спецификации
Текущее
состояние
Пользователь не может
ввести пароль менее 6
символов
Изменение Увеличить
минимальную длину
пароля до 8 символов
Целевое
состояние
Пользователь не может
ввести менее 8 символов
Инструменты
■ Трэкер (Jira,TFS,YouTrack и т.п.)
■ Отдельная страница на вики для
каждого изменения / пакета,
сгруппированные по релизам
■ ДокументWord для каждого
изменения / пакета, хранящиеся в
папках по релизам в системе
контроля версий
22-Apr-16 11© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту: За и Против для БА
Плюсы
■ Не обязательно иметь полное
актуальное описание системы
■ Не нужно тратить время на
описание смежного функционала
(восстановление требований)
Минусы
■ Много артефактов (меньшего
размера), которыми надо упралять
■ Стандартные форматы требований
не подходят (напр. варианты
использования)
■ Сложно отслеживать влияние
изменений на смежный
функционал
22-Apr-16 12
Если у вас нет полного актуального описания системы –
придется использовать Дельту
© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту: Плюсы для команды
■ Каждый мой запрос записан
■ Маленькие документы приходят
на проверку
22-Apr-16 13
Заказчик
■ Легко управлять набором
изменений в каждой итерации
■ Можно отследить, сколько
времени затрачено на изменения
изначальных требований
Руководитель Проекта
■ Можно проверять только то, что
изменилось
Тестирование
■ Ясно, что делать в этой итерации
■ Документы заморожены на
каждый релиз
Разработка
© Станислав Рождественский 2016 Санкт-Петербург
Описываем Дельту : Минусы для команды
■ Как я могу принять правильное
решение, если не вижу полного
контекста системы?
22-Apr-16 14
Заказчик
■ Какое состояние конечное? Когда
закончится поток изменений?
Руководитель проекта
■ НепонятенТестовый Сценарий
■ Нужен цикл регрессионного
тестирования
Тестирование
■ Как мне влезать в чужой код
низкого качества, если я не знаю,
как он должен работать?
Разработка
© Станислав Рождественский 2016 Санкт-Петербург
Описываем Целевое Состояние: схема
Итерация
1
ВИ-1 v1
ВИ-2 v1
ВИ-3 v1
ВИ-4 v1
ВИ-5 v1
Итерация
2
ВИ-1 v2
ВИ-2 v1
ВИ-3 v2
ВИ-4 v1
ВИ-5 v2
Итерация
3
ВИ-1 v2
ВИ-2 v2
ВИ-3 v2
ВИ-4 v1
ВИ-5 v3
Итерация
4
ВИ-1 v3
ВИ-2 v2
ВИ-3 v2
ВИ-4 v1
ВИ-5 v4
Итерация
5
ВИ-1 v4
ВИ-2 v2
ВИ-3 v3
ВИ-4 v1
ВИ-5 v5
22-Apr-16 15© Станислав Рождественский 2016 Санкт-Петербург
Описываем Целевое Состояние: Когда и Как
КОГДА использвоать
■ Есть полное актуальное описание
системы или время его
подготовить
■ 80% системы не будет меняться
■ Основные цели: согласовать
требования с Заинтересованными
Лицами + поддержка приложения
КАК использовать
■ Когда приходит изменение,
выпускается новая версия
описания системы
■ Аккуратно записываем изменения
между версиями документа
22-Apr-16 16
• Новые функции всегда записываются в форме Целевого
Состояния
© Станислав Рождественский 2016 Санкт-Петербург
Описываем Целевое Состояние: Примеры
Пример Спецификации
ВИ-1 v2
Вход в
систему
Основной поток:
1. Ввести Имя пользователя
2. Ввести Пароль
3. Нажать Enter
Альтернативный поток 1:
1. Если пользователь ввел
Пароль менее 8 символов,
отображается сообщение об
ошибке
2. Пользователь изменяет
пароль
Инструменты
■ ДокументыWord в системе
контроля версий (SharePoint,
SVN и т.п.)
■ Вики портал
■ Специализированная
система управления
требвоаниями (напр.
Enterprise Architect)
22-Apr-16 17© Станислав Рождественский 2016 Санкт-Петербург
Описываем Целевое Состояние : +/- для БА
ЗА
■ В результате получаем полное
описание системы
■ Легче отслеживать влияние на
смежный функционал
■ Легче сделать небольшое
изменение к описанному
функционалу
ПРОТИВ
■ Большие затраты на подготовку
полного пакета документации на
каждую итерацию
■ Поддержка больших документов
■ Если одно изменение затрагивает
различный функционал – нужно
переписывать разные части
документа
■ Если изменение переносится в
следующий релиз – сложно
поддерживать актуальность
документа
22-Apr-16 18© Станислав Рождественский 2016 Санкт-Петербург
Целевое Состояние : Плюсы для команды
■ Я вижу полное описание продукта,
который получу
22-Apr-16 19
Заказчик
■ Финальное состояние продукта
понятно
■ Легче осуществлять долгосрочное
планирование
Руководитель проекта
■ Есть основа для тестовых
сценариев
■ Регрессионные дефекты
выявляются раньше
Тестирование
■ Я понимаю, как это код должен
работать
Разработка
© Станислав Рождественский 2016 Санкт-Петербург
■ А что здесь поменялось?
■ Что конкретно нужно делать в этой итерации?
■ Почему вы не можете заморозить требования?
Целевое Состояние : Минусы для
команды
■ Нужно проверять большие
документы
■ Если было много изменений, то
непонятно, почему сейчас так
работает
22-Apr-16 20
Заказчик
■ Как сопоставить требования с
планом по релизам?
■ Сколько времени мы потратили на
запросы на изменения к
основному функционалу?
Руководитель Проекта
Тестирование Разработка
© Станислав Рождественский 2016 Санкт-Петербург
ВИ-1 v1
ВИ-2 v1
ВИ-3 v1
ВИ-4 v1
ВИ-5 v1
ВИ-1 v2
ВИ-2 v1
ВИ-3 v2
ВИ-4 v1
ВИ-5 v2
ВИ-1 v2
ВИ-2 v2
ВИ-3 v2
ВИ-4 v1
ВИ-5 v3
ВИ-1 v3
ВИ-2 v2
ВИ-3 v2
ВИ-4 v1
ВИ-5 v4
ВИ-1 v4
ВИ-2 v2
ВИ-3 v3
ВИ-4 v1
ВИ-5 v5
Параллельный подход: Схема
Итерация
1
Добавить поле
Нужно всплывающее окно
Проверить уникальность
пароля
Итерация
2
Убрать поле
Нарисовать чекобокс
Хочу розовое платье
Проверить без учета регистра
Итерация
3
Сделать кнопкой
Теперь модальноеокно
Проверить мин. размер
Итерация
4
Добавить обратно
Нет, голубое
Проверить макс. размер
Итерация
5
Сделать зеленой кнопкой
Пусть будет отдельна
страница
Лучше новые туфли
Автоматический доступ
22-Apr-16 21
Дельты
Целевое
состояние
© Станислав Рождественский 2016 Санкт-Петербург
Параллельный подход
ЗА
■ Закрывает все цели и
потребности
ПРОТИВ
■ Нужно больше времени БА
для каждого изменения
■ Риск рассинхронизации
двух потоков документации
22-Apr-16 22
Один из способов работы с трудностями Параллельного Подхода:
держать один из потоков “тощим”
© Станислав Рождественский 2016 Санкт-Петербург
Параллельны подход: «Тощая»
Дельта
Трэкер изменений
ВИ-1 v2
Вход в
систем
у
Основной поток:
1. Ввести Имя пользователя
2. Ввести Пароль
3. Нажать Enter
Альтернативный поток 1:
1. Если пользователь ввел
Пароль менее 8 символов,
отображается сообщение об
ошибке
2. Пользователь изменяет
пароль
Описание системы
22-Apr-16 23
Текущее
состояние
ВИ-1 v1
Изменение Изменить минимальную
длину Пароля, как
описано в ВИ-1 v2
Целевое
состояние
ВИ-1 v2
© Станислав Рождественский 2016 Санкт-Петербург
Параллельный подход: «тощее» Целевое
состояние
Трэкер изменений
ВИ-1
Вход в
систему
См. требования в:
ID-123 – первоначальные
требования
ID-234 – Изменения в Релизе
1
ID-345 – Изменения в Релизе
2
ID-456 – Изменения в
Релизе 3
Карта требований
22-Apr-16 24
Текущее
состояние
Пользователь не может
ввести пароль менее 6
символов
Изменение Увеличить
минимальную длину
пароля до 8 символов
Целевое
состояние
Пользователь не может
ввести менее 8
символов
© Станислав Рождественский 2016 Санкт-Петербург
Комбинированный подход: Схема
Текущее
состояние
ВИ-1 v1
ВИ-2 v1
ВИ-3 v1
ВИ-4 v1
ВИ-5 v1
Итерация
1
Убрать поле
Нарисовать чекбокс
Нужно розовое
платье
Проверять без учета
регистра
Итерация
2
Сделать кнопкой
Переделать в
модальное окно
Проверять
минимальный размер
Итерация
3
Добавить обратно
Нет, голубое
Проверять
максимальный размер
Целевое
состояние
ВИ-1 v1
ВИ-2 v2
ВИ-3 v2
ВИ-4 v2
ВИ-5 v2
22-Apr-16 25© Станислав Рождественский 2016 Санкт-Петербург
Комбинированный подход
ЗА
■ Не обязательно иметь полное
актуальное описание системы
■ Сохраняется история изменений
■ Легче управлять загрузкой БА:
когда в потоке новых требований
пауза, можно обновлять описание
системы
ПРОТИВ
■ Нужно ли поддерживать
актуальное описание системы для
каждой среды (разработка,
тестирование, производство)?
каждой версии приложения?
■ Если не запланировать время на
описание системы – остается
чистая Дельта
22-Apr-16 26© Станислав Рождественский 2016 Санкт-Петербург
Комбинированный подход
КОГДА использовать
■ Большая часть системы будет
меняться
■ Ресурсов БА не хватает
■ Необходимо поддерживать
разные версии приложения
параллельно
КАК использовать
■ Записываем изменения в трэкер и
назначаем на релизы
■ Группируем изменения по
функциональным модулям, напр.
даем ссылки на соответствующий
раздел описания системы
■ Периодически «накатываем»
изменения на описание системы в
порядке их реализации
22-Apr-16 27© Станислав Рождественский 2016 Санкт-Петербург
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 28© Станислав Рождественский 2016 Санкт-Петербург
Спецификация изменений в Водопаде и
Гибких методологиях
Целевое состояние Дельта
Водопад
• Поддержка больших документов
на протяжении проекта
• Обычно, «тощая» Дельта все
равно нужна
• Как часть Управления
изменениями, записываем все
запросы в Трэкер
• Готовим описание системы только к
крупным релизам, можно
аутсорсить техническому
писателю
Гибкие
(SCRUM)
• Если История не принята
заказчиком и требует изменений
– оно возвращается в бэклог
• Если нет Дефектов, только
изменения – история принимается
• Для изменения создается новая
история, ссылающаяся на старую
22-Apr-16 29© Станислав Рождественский 2016 Санкт-Петербург
Чем больше и сложнее проект – тем труднее
поддерживать актуальное Целевое Состояние
22-Apr-16 30
Размер / Сложность / Длительность проекта
ДельтаЦелевое
© Станислав Рождественский 2016 Санкт-Петербург
Можно менять подход на протяжении
жизненного цикла проекта
22-Apr-16 31
Время проекта
ДельтаЦелевое
На этапе
первичного сбора
требований для
нового
функционала
просто описывать
Целевое состояние
Чем больше приходит
изменений, тем сложнее
поддерживать описание
системы
Поток изменений
уменьшается и пора
подумать о поддержке
системы
© Станислав Рождественский 2016 Санкт-Петербург
Как изменить подход?
Параллельный
/ Комбиниро-
ванный
Целевое
состояниеДельта
22-Apr-16 32
Обратный инжиниринг
требований для конкретного
релиза
Перестаем обновлять
описание системы
Приостанавливаем обновление
Описания Системы,
записываем только изменения
Добавляем все
изменения в
последнюю версию
описания системы
Сравнение Версий позволяет получить
Дельту из Описания системы. Но это не
удобно для большого потока изменений
© Станислав Рождественский 2016 Санкт-Петербург
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 33
Станислав Рождественский
Бизнес аналитик, ДатаАрт, Санкт-Петербург
Email: stigro@gmail.com
Skype: stasroj
LinkedIn: https://ru.linkedin.com/in/sirojdestvensky
© Станислав Рождественский 2016 Санкт-Петербург

More Related Content

What's hot

Shootout! Template engines for the JVM
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVMJeroen Reijn
 
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...MongoDB
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoTrung Thanh Nguyen
 
Redis for duplicate detection on real time stream
Redis for duplicate detection on real time streamRedis for duplicate detection on real time stream
Redis for duplicate detection on real time streamRoberto Franchini
 
Abstract Factory Pattern (Example & Implementation in Java)
Abstract Factory Pattern (Example & Implementation in Java)Abstract Factory Pattern (Example & Implementation in Java)
Abstract Factory Pattern (Example & Implementation in Java)Jubayer Al Mahmud
 
2. 型態、變數與運算子
2. 型態、變數與運算子2. 型態、變數與運算子
2. 型態、變數與運算子Justin Lin
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introduçãoDaniel Baptista Dias
 

What's hot (9)

Shootout! Template engines for the JVM
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVM
 
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
Retail Reference Architecture Part 1: Flexible, Searchable, Low-Latency Produ...
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng cao
 
CQRS and Event Sourcing
CQRS and Event SourcingCQRS and Event Sourcing
CQRS and Event Sourcing
 
Redis for duplicate detection on real time stream
Redis for duplicate detection on real time streamRedis for duplicate detection on real time stream
Redis for duplicate detection on real time stream
 
Abstract Factory Pattern (Example & Implementation in Java)
Abstract Factory Pattern (Example & Implementation in Java)Abstract Factory Pattern (Example & Implementation in Java)
Abstract Factory Pattern (Example & Implementation in Java)
 
ANTLR4 in depth
ANTLR4 in depthANTLR4 in depth
ANTLR4 in depth
 
2. 型態、變數與運算子
2. 型態、變數與運算子2. 型態、變數與運算子
2. 型態、變數與運算子
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introdução
 

Viewers also liked

Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромомSQALab
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаSQALab
 
UX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеUX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеSQALab
 
Внедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяВнедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяSQALab
 
Постоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаПостоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаSQALab
 
Одна голова - плохо
Одна голова - плохоОдна голова - плохо
Одна голова - плохоSQALab
 
Прыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуПрыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуSQALab
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоSQALab
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомSQALab
 
To requirements and beyond...
To requirements and beyond...To requirements and beyond...
To requirements and beyond...SQALab
 
Системный аналитик в Agile команде
Системный аналитик в Agile командеСистемный аналитик в Agile команде
Системный аналитик в Agile командеSQALab
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииSQALab
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыSQALab
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной сторонеSQALab
 
Cбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиCбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиSQALab
 
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеБизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеSQALab
 
СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"SPbCoA
 
Gap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамGap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамSPbCoA
 
Региональный мастер-индекс пациентов
Региональный мастер-индекс пациентовРегиональный мастер-индекс пациентов
Региональный мастер-индекс пациентовSQALab
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийSQALab
 

Viewers also liked (20)

Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитика
 
UX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеUX дизайн в Бизнес Анализе
UX дизайн в Бизнес Анализе
 
Внедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяВнедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователя
 
Постоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаПостоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитика
 
Одна голова - плохо
Одна голова - плохоОдна голова - плохо
Одна голова - плохо
 
Прыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуПрыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущему
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное просто
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектом
 
To requirements and beyond...
To requirements and beyond...To requirements and beyond...
To requirements and beyond...
 
Системный аналитик в Agile команде
Системный аналитик в Agile командеСистемный аналитик в Agile команде
Системный аналитик в Agile команде
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономии
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструменты
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной стороне
 
Cбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиCбор требований в условиях неопределенности
Cбор требований в условиях неопределенности
 
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеБизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
 
СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"
 
Gap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамGap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системам
 
Региональный мастер-индекс пациентов
Региональный мастер-индекс пациентовРегиональный мастер-индекс пациентов
Региональный мастер-индекс пациентов
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версий
 

Similar to Подходы к спецификации изменений

Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOSQALab
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...Ievgenii Katsan
 
Service orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodService orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodPilipSychou
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Yandex
 
Как находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеКак находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеNaZapad
 
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? Интернет-агентство "Инфоспайс"/Infospice
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Yandex
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
 
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Alexey Petrovsky
 
Преображение производства за 7 дней
Преображение производства за 7 днейПреображение производства за 7 дней
Преображение производства за 7 днейИгорь Киселев
 
Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Sergey Smirnov
 
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupОсобенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupMediaprojects Mail.Ru Group
 
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Optimization conference
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?PyNSK
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаДмитрий Колодезев
 
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераМаксим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераScrumTrek
 

Similar to Подходы к спецификации изменений (20)

Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFO
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...
 
Service orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodService orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_method
 
Лекция 8
Лекция 8Лекция 8
Лекция 8
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"
 
Как находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеКак находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нише
 
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
 
SEO под запад 2018
SEO под запад 2018 SEO под запад 2018
SEO под запад 2018
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
 
Преображение производства за 7 дней
Преображение производства за 7 днейПреображение производства за 7 дней
Преображение производства за 7 дней
 
Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)
 
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupОсобенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
 
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщика
 
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераМаксим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Подходы к спецификации изменений

  • 1. ПОДХОДЫ К СПЕЦИФИКАЦИИ ИЗМЕНЕНИЙ Делаем осознанный выбор 22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 1
  • 2. В чем проблема со спецификацией изменений? ■ Заказчик: Нам нужно добавить поле на этот экран ■ БА: Хорошо, я посмотрю (…) ■ БА: У вас есть документация на это? ■ ПМ: Да. ■ БА: Она актуальна? ■ ПМ: Процентов на 80… ■ БА: А что конкретно не актуально? ■ ПМ: Надо смотреть, там были изменения… мы не обновляли ее полгода. 22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 2
  • 3. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 3© Станислав Рождественский 2016 Санкт-Петербург
  • 4. Изменение – переход объекта из одного состояния в другое с течением времени 22-Apr-16 4 Текущее состояние Целевое состояние Дельта © Станислав Рождественский 2016 Санкт-Петербург
  • 5. Карта изменений приложения может быть сложной 22-Apr-16 5 Разработка: v1.0 v2.0 v3.0 Тестирование: v1.1 v2.1 v3.1 Производство: v1.2 v2.2 v3.2 Время © Станислав Рождественский 2016 Санкт-Петербург
  • 6. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 6© Станислав Рождественский 2016 Санкт-Петербург
  • 7. Спецификация – абстрактное описание реального приложения человеческим языком ■ Объяснить требования разработчикам ■ Согласовать логику приложения с заинтересованными лицами ■ Определить как тестовые сценарии ■ Обеспечить поддержку приложения ■ Основа для планирования проекта 22-Apr-16 7 Спецификация – это лишь одно из средств достижения целей. Можно им пользоваться, а можно и нет © Станислав Рождественский 2016 Санкт-Петербург
  • 8. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 8© Станислав Рождественский 2016 Санкт-Петербург
  • 9. Описываем Дельту: Схема Итерация 1 Добавить поле Нужно всплывающее окно Проверить уникальность логина Итерация 2 Убрать поле Добавить чекбокс Хочу розовое платье Проверить без учета кейса Итерация 3 Сделать кнопкой Теперь модальное окно Проверить минимальную длину Итерация 4 Добавить обратно Нет, голубое И максимальную тоже Итерация 5 Сделать зеленой кнопкой Пусть будет отдельная вкладка Лучше туфли Автоматический доступ 22-Apr-16 9© Станислав Рождественский 2016 Санкт-Петербург
  • 10. Описываем Дельту: Когда и Как КОГДА использовать ■ Основная Цель: загрузить команду ■ Ресурсов БА не хватает КАК использовать ■ Записывать инкрементальные изменения в трекер ■ Изменения планируются на итерации и связываются с задачами разработчиков 22-Apr-16 10© Станислав Рождественский 2016 Санкт-Петербург
  • 11. Описываем Дельту: примеры Пример спецификации Текущее состояние Пользователь не может ввести пароль менее 6 символов Изменение Увеличить минимальную длину пароля до 8 символов Целевое состояние Пользователь не может ввести менее 8 символов Инструменты ■ Трэкер (Jira,TFS,YouTrack и т.п.) ■ Отдельная страница на вики для каждого изменения / пакета, сгруппированные по релизам ■ ДокументWord для каждого изменения / пакета, хранящиеся в папках по релизам в системе контроля версий 22-Apr-16 11© Станислав Рождественский 2016 Санкт-Петербург
  • 12. Описываем Дельту: За и Против для БА Плюсы ■ Не обязательно иметь полное актуальное описание системы ■ Не нужно тратить время на описание смежного функционала (восстановление требований) Минусы ■ Много артефактов (меньшего размера), которыми надо упралять ■ Стандартные форматы требований не подходят (напр. варианты использования) ■ Сложно отслеживать влияние изменений на смежный функционал 22-Apr-16 12 Если у вас нет полного актуального описания системы – придется использовать Дельту © Станислав Рождественский 2016 Санкт-Петербург
  • 13. Описываем Дельту: Плюсы для команды ■ Каждый мой запрос записан ■ Маленькие документы приходят на проверку 22-Apr-16 13 Заказчик ■ Легко управлять набором изменений в каждой итерации ■ Можно отследить, сколько времени затрачено на изменения изначальных требований Руководитель Проекта ■ Можно проверять только то, что изменилось Тестирование ■ Ясно, что делать в этой итерации ■ Документы заморожены на каждый релиз Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 14. Описываем Дельту : Минусы для команды ■ Как я могу принять правильное решение, если не вижу полного контекста системы? 22-Apr-16 14 Заказчик ■ Какое состояние конечное? Когда закончится поток изменений? Руководитель проекта ■ НепонятенТестовый Сценарий ■ Нужен цикл регрессионного тестирования Тестирование ■ Как мне влезать в чужой код низкого качества, если я не знаю, как он должен работать? Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 15. Описываем Целевое Состояние: схема Итерация 1 ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 Итерация 2 ВИ-1 v2 ВИ-2 v1 ВИ-3 v2 ВИ-4 v1 ВИ-5 v2 Итерация 3 ВИ-1 v2 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v3 Итерация 4 ВИ-1 v3 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v4 Итерация 5 ВИ-1 v4 ВИ-2 v2 ВИ-3 v3 ВИ-4 v1 ВИ-5 v5 22-Apr-16 15© Станислав Рождественский 2016 Санкт-Петербург
  • 16. Описываем Целевое Состояние: Когда и Как КОГДА использвоать ■ Есть полное актуальное описание системы или время его подготовить ■ 80% системы не будет меняться ■ Основные цели: согласовать требования с Заинтересованными Лицами + поддержка приложения КАК использовать ■ Когда приходит изменение, выпускается новая версия описания системы ■ Аккуратно записываем изменения между версиями документа 22-Apr-16 16 • Новые функции всегда записываются в форме Целевого Состояния © Станислав Рождественский 2016 Санкт-Петербург
  • 17. Описываем Целевое Состояние: Примеры Пример Спецификации ВИ-1 v2 Вход в систему Основной поток: 1. Ввести Имя пользователя 2. Ввести Пароль 3. Нажать Enter Альтернативный поток 1: 1. Если пользователь ввел Пароль менее 8 символов, отображается сообщение об ошибке 2. Пользователь изменяет пароль Инструменты ■ ДокументыWord в системе контроля версий (SharePoint, SVN и т.п.) ■ Вики портал ■ Специализированная система управления требвоаниями (напр. Enterprise Architect) 22-Apr-16 17© Станислав Рождественский 2016 Санкт-Петербург
  • 18. Описываем Целевое Состояние : +/- для БА ЗА ■ В результате получаем полное описание системы ■ Легче отслеживать влияние на смежный функционал ■ Легче сделать небольшое изменение к описанному функционалу ПРОТИВ ■ Большие затраты на подготовку полного пакета документации на каждую итерацию ■ Поддержка больших документов ■ Если одно изменение затрагивает различный функционал – нужно переписывать разные части документа ■ Если изменение переносится в следующий релиз – сложно поддерживать актуальность документа 22-Apr-16 18© Станислав Рождественский 2016 Санкт-Петербург
  • 19. Целевое Состояние : Плюсы для команды ■ Я вижу полное описание продукта, который получу 22-Apr-16 19 Заказчик ■ Финальное состояние продукта понятно ■ Легче осуществлять долгосрочное планирование Руководитель проекта ■ Есть основа для тестовых сценариев ■ Регрессионные дефекты выявляются раньше Тестирование ■ Я понимаю, как это код должен работать Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 20. ■ А что здесь поменялось? ■ Что конкретно нужно делать в этой итерации? ■ Почему вы не можете заморозить требования? Целевое Состояние : Минусы для команды ■ Нужно проверять большие документы ■ Если было много изменений, то непонятно, почему сейчас так работает 22-Apr-16 20 Заказчик ■ Как сопоставить требования с планом по релизам? ■ Сколько времени мы потратили на запросы на изменения к основному функционалу? Руководитель Проекта Тестирование Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 21. ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 ВИ-1 v2 ВИ-2 v1 ВИ-3 v2 ВИ-4 v1 ВИ-5 v2 ВИ-1 v2 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v3 ВИ-1 v3 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v4 ВИ-1 v4 ВИ-2 v2 ВИ-3 v3 ВИ-4 v1 ВИ-5 v5 Параллельный подход: Схема Итерация 1 Добавить поле Нужно всплывающее окно Проверить уникальность пароля Итерация 2 Убрать поле Нарисовать чекобокс Хочу розовое платье Проверить без учета регистра Итерация 3 Сделать кнопкой Теперь модальноеокно Проверить мин. размер Итерация 4 Добавить обратно Нет, голубое Проверить макс. размер Итерация 5 Сделать зеленой кнопкой Пусть будет отдельна страница Лучше новые туфли Автоматический доступ 22-Apr-16 21 Дельты Целевое состояние © Станислав Рождественский 2016 Санкт-Петербург
  • 22. Параллельный подход ЗА ■ Закрывает все цели и потребности ПРОТИВ ■ Нужно больше времени БА для каждого изменения ■ Риск рассинхронизации двух потоков документации 22-Apr-16 22 Один из способов работы с трудностями Параллельного Подхода: держать один из потоков “тощим” © Станислав Рождественский 2016 Санкт-Петербург
  • 23. Параллельны подход: «Тощая» Дельта Трэкер изменений ВИ-1 v2 Вход в систем у Основной поток: 1. Ввести Имя пользователя 2. Ввести Пароль 3. Нажать Enter Альтернативный поток 1: 1. Если пользователь ввел Пароль менее 8 символов, отображается сообщение об ошибке 2. Пользователь изменяет пароль Описание системы 22-Apr-16 23 Текущее состояние ВИ-1 v1 Изменение Изменить минимальную длину Пароля, как описано в ВИ-1 v2 Целевое состояние ВИ-1 v2 © Станислав Рождественский 2016 Санкт-Петербург
  • 24. Параллельный подход: «тощее» Целевое состояние Трэкер изменений ВИ-1 Вход в систему См. требования в: ID-123 – первоначальные требования ID-234 – Изменения в Релизе 1 ID-345 – Изменения в Релизе 2 ID-456 – Изменения в Релизе 3 Карта требований 22-Apr-16 24 Текущее состояние Пользователь не может ввести пароль менее 6 символов Изменение Увеличить минимальную длину пароля до 8 символов Целевое состояние Пользователь не может ввести менее 8 символов © Станислав Рождественский 2016 Санкт-Петербург
  • 25. Комбинированный подход: Схема Текущее состояние ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 Итерация 1 Убрать поле Нарисовать чекбокс Нужно розовое платье Проверять без учета регистра Итерация 2 Сделать кнопкой Переделать в модальное окно Проверять минимальный размер Итерация 3 Добавить обратно Нет, голубое Проверять максимальный размер Целевое состояние ВИ-1 v1 ВИ-2 v2 ВИ-3 v2 ВИ-4 v2 ВИ-5 v2 22-Apr-16 25© Станислав Рождественский 2016 Санкт-Петербург
  • 26. Комбинированный подход ЗА ■ Не обязательно иметь полное актуальное описание системы ■ Сохраняется история изменений ■ Легче управлять загрузкой БА: когда в потоке новых требований пауза, можно обновлять описание системы ПРОТИВ ■ Нужно ли поддерживать актуальное описание системы для каждой среды (разработка, тестирование, производство)? каждой версии приложения? ■ Если не запланировать время на описание системы – остается чистая Дельта 22-Apr-16 26© Станислав Рождественский 2016 Санкт-Петербург
  • 27. Комбинированный подход КОГДА использовать ■ Большая часть системы будет меняться ■ Ресурсов БА не хватает ■ Необходимо поддерживать разные версии приложения параллельно КАК использовать ■ Записываем изменения в трэкер и назначаем на релизы ■ Группируем изменения по функциональным модулям, напр. даем ссылки на соответствующий раздел описания системы ■ Периодически «накатываем» изменения на описание системы в порядке их реализации 22-Apr-16 27© Станислав Рождественский 2016 Санкт-Петербург
  • 28. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 28© Станислав Рождественский 2016 Санкт-Петербург
  • 29. Спецификация изменений в Водопаде и Гибких методологиях Целевое состояние Дельта Водопад • Поддержка больших документов на протяжении проекта • Обычно, «тощая» Дельта все равно нужна • Как часть Управления изменениями, записываем все запросы в Трэкер • Готовим описание системы только к крупным релизам, можно аутсорсить техническому писателю Гибкие (SCRUM) • Если История не принята заказчиком и требует изменений – оно возвращается в бэклог • Если нет Дефектов, только изменения – история принимается • Для изменения создается новая история, ссылающаяся на старую 22-Apr-16 29© Станислав Рождественский 2016 Санкт-Петербург
  • 30. Чем больше и сложнее проект – тем труднее поддерживать актуальное Целевое Состояние 22-Apr-16 30 Размер / Сложность / Длительность проекта ДельтаЦелевое © Станислав Рождественский 2016 Санкт-Петербург
  • 31. Можно менять подход на протяжении жизненного цикла проекта 22-Apr-16 31 Время проекта ДельтаЦелевое На этапе первичного сбора требований для нового функционала просто описывать Целевое состояние Чем больше приходит изменений, тем сложнее поддерживать описание системы Поток изменений уменьшается и пора подумать о поддержке системы © Станислав Рождественский 2016 Санкт-Петербург
  • 32. Как изменить подход? Параллельный / Комбиниро- ванный Целевое состояниеДельта 22-Apr-16 32 Обратный инжиниринг требований для конкретного релиза Перестаем обновлять описание системы Приостанавливаем обновление Описания Системы, записываем только изменения Добавляем все изменения в последнюю версию описания системы Сравнение Версий позволяет получить Дельту из Описания системы. Но это не удобно для большого потока изменений © Станислав Рождественский 2016 Санкт-Петербург
  • 33. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 33 Станислав Рождественский Бизнес аналитик, ДатаАрт, Санкт-Петербург Email: stigro@gmail.com Skype: stasroj LinkedIn: https://ru.linkedin.com/in/sirojdestvensky © Станислав Рождественский 2016 Санкт-Петербург