SlideShare a Scribd company logo
3   denys gobov - change request specification the knowledge base or the task for the team
Специфицируем изменения: постановка задачи
или база знаний?
Станислав Рождественский,
Лидер сообщества бизнес-аналитиков, DataArt
Денис Гобов,
Лидер сообщества бизнес-аналитиков, DataArt
Разрешите представиться
Денис Гобов
▪ 16 лет опыта в системном и бизнес-анализе
▪ Senior Business Analyst компании DataArt
▪ Вице-президент Киевского отделения IIBA
▪ Консультант и тренер
▪ CBAP® & PMI-PBA ® & CPRE-FL® & ICP-BVA® & BCS BAF®
▪ Канд. техн. наук
▪ Лучший бизнес-аналитик, Ukrainian IT Awards-2013/2016
Задачи аналитика
С точки зрения бизнес-аналитика
• Понять текущее состояние: проблемы и возможности
• Определить желаемое состояние заказчика
• Определить стратегию перехода
С точки зрения команды:
• Поставить задачу на разработку
+
• Рассказать как это все работает
История из жизни
• Заказчик: Нам нужно добавить поле на этот
экран
• БА: Хорошо, я посмотрю
(…)
• БА: У вас есть документация на это?
• ПМ: Да.
• БА: Она актуальна?
• ПМ: Процентов на 80…
• БА: А что конкретно не актуально?
• ПМ: Надо смотреть, там были изменения…
мы не обновляли ее полгода.
Изменение
Есть одна неизменная вещь в этом мире – это изменение
Текущее
состояние
Целевое
состояние
Дельта
Текущее
состояние
Целевое
состояние
Дельта
Это волшебное слово «Спека»
Спецификация – документ, который содержит полное и четкое описание разрабатываемого
продукта
• Поставить задачу разработчикам
• Согласовать логику приложения с заинтересованными лицами
• Определить тестовые сценарии
• Использовать при планировании проекта
• Обеспечить поддержку приложения
Спецификация – это лишь одно из средств достижения целей.
Можно им пользоваться, а можно и нет
Подходы к спецификации требований
• Дельта – Постановка задачи
• Целевое состояния - База знаний
• Параллельный подход – «И нашим и вашим»
• «Тощая дельта»
• «Тощее целевое состояние»
• Комбинированные подходы
«Дельта»: Схема
Спринт 1
Добавить поле
Нужно
всплывающее
окно
Проверить
уникальность
логина
Спринт 2
Убрать поле
Добавить
чекбокс
Проверить без
учета кейса
Спринт 3
Сделать
кнопкой
Теперь
модальное
окно
Проверить
минимальную
длину
Спринт 4
Добавить
обратно
И
максимальную
тоже
Итерация 5
Сделать
зеленой
кнопкой
Пусть будет
отдельная
вкладка
Автоматический
доступ
«Дельта»: Когда и как?
КОГДА
• Основная Цель: загрузить
команду
• Ресурсов БА не хватает
КАК
• Записывать инкрементальные изменения в
трекер
• Изменения планируются на итерации и
связываются с задачами разработчиков
• Формат: User Story + Acceptance criteria
«Дельта»: За и Против для БА
Плюсы
• Не обязательно иметь полное
актуальное описание системы
• Не нужно тратить время на
описание смежного функционала
(восстановление требований)
Минусы
• Нет общей картины
• Много артефактов (меньшего размера),
которыми надо управлять
• Сложно отслеживать влияние изменений
на смежный функционал
Если у вас нет полного актуального описания системы –
придется использовать Дельту
«Дельта»: Плюсы для команды
• Каждый мой запрос записан
• На утверждение приходят
небольшие артефакты
Заказчик
• Легко управлять набором изменений в
каждой итерации
• Можно отследить, сколько времени
затрачено на изменения изначальных
требований
Руководитель Проекта
• Можно проверять только то,
что изменилось
Тестирование
• Ясно, что делать в этой итерации
• Документы заморожены на каждый
релиз
Разработка
«Дельта»: Минусы для команды
• Как я могу принять
правильное решение, если
не вижу полного контекста
системы?
Заказчик
• Какое состояние конечное? Когда
закончится поток изменений?
Руководитель Проекта
• Непонятен Тестовый
Сценарий
• Нужен цикл регрессионного
тестирования
Тестирование
• Как мне влезать в чужой код низкого
качества, если я не знаю, как он
должен работать?
Разработка
«Целевое состояние»: Схема
Итерация 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
«Целевое состояние»: Когда и как?
КОГДА
• Есть полное актуальное описание
системы или время его подготовить
• 80% системы не будет меняться
• Основные цели: согласовать
требования с Заинтересованными
Лицами + поддержка приложения
КАК
• Когда приходит изменение, выпускается
новая версия описания системы
• Аккуратно записываем изменения между
версиями документа
«Целевое состояние»: За и Против для БА
Плюсы
• В результате получаем полное
описание системы
• Легче отслеживать влияние на
смежный функционал
• Легче сделать небольшое
изменение к описанному
функционалу
Минусы
• Большие затраты на подготовку полного пакета
документации на каждую итерацию
• Поддержка больших документов
• Если одно изменение затрагивает различный
функционал – нужно переписывать разные части
документа
• Если изменение переносится в следующий релиз
– сложно поддерживать актуальность документа
«Дельта»: Плюсы для команды
• Я вижу полное описание
продукта, который получу
Заказчик
• Финальное состояние продукта
понятно
• Легче осуществлять долгосрочное
планирование
Руководитель Проекта
• Есть основа для тестовых
сценариев
• Регрессионные дефекты
выявляются раньше
Тестирование
Я понимаю, как это код должен работать
Разработка
«Дельта»: Минусы для команды
• Нужно проверять большие
документы
• Если было много изменений,
то непонятно, почему сейчас
так работает
Заказчик
• Как сопоставить требования с планом
по релизам?
• Сколько времени мы потратили на
запросы на изменения к основному
функционалу?
Руководитель Проекта
• А что здесь поменялось?
• Что конкретно нужно делать в этой итерации?
• Почему вы не можете заморозить требования?
Тестирование Разработка
«Параллельный подход»: Схема
Итерация 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
Спринт 1
Добавить поле
Нужно
всплывающее
окно
Проверить
уникальность
логина
Спринт 2
Убрать поле
Добавить чекбокс
Проверить без
учета кейса
Спринт 3
Сделать кнопкой
Теперь модальное
окно
Проверить
минимальную
длину
Спринт 4
Добавить обратно
И максимальную
тоже
Итерация 5
Сделать зеленой
кнопкой
Пусть будет
отдельная
вкладка
Автоматический
доступ
«Параллельный подход»: За и Против
Плюсы
• Закрывает все цели и потребности
Минусы
• Нужно больше времени БА для каждого
изменения
• Риск рассинхронизации двух потоков
документации
Один из способов работы с трудностями Параллельного
Подхода: держать один из потоков “тощим”
«Параллельный подход»: «Тощая» Дельта
Трекер изменений
ВИ-1 v2
Вход в
систему
Основной поток:
1. Пользователь вводить логин и пароль
2. Пользователь инициирует выполнение
3. Система подтверждает корректность
данных
Альтернативный поток 1:
3.1. Пользователь ввел Пароль менее 8
символов
3.1.1 Система отображает сообщение
об ошибке и просит сменить пароль
Описание системы
Текущее
состояние
ВИ-1 v1
Изменение Изменить
минимальную длину
Пароля, как описано
в ВИ-1 v2
Целевое
состояние
ВИ-1 v2
«Параллельный подход»: «Тощее» ЦС
Трекер изменений Описание системы
Текущее
состояние
Пользователь не может
ввести пароль менее 6
символов
Изменение Увеличить
минимальную длину
пароля до 8 символов
Целевое
состояние
Пользователь не может
ввести менее 8
символов
ВИ-1
Вход в
систему
См. требования в:
ID-123 – первоначальные
требования
ID-234 – Изменения в Релизе 1
ID-345 – Изменения в Релизе 2
ID-456 – Изменения в Релизе 3
«Комбинированный подход»: Схема
Текущее
состояние
ВИ-1 v1
ВИ-2 v1
ВИ-3 v1
ВИ-4 v1
ВИ-5 v1
Итерация 1
Убрать поле
Нарисовать чекбокс
Нужно розовое
платье
Проверять без
учета регистра
Итерация 2
Сделать кнопкой
Переделать в
модальное окно
Проверять
минимальный
размер
Итерация 3
Добавить обратно
Нет, голубое
Проверять
максимальный
размер
Целевое
состояние
ВИ-1 v1
ВИ-2 v2
ВИ-3 v2
ВИ-4 v2
ВИ-5 v2
«Комбинированный подход»: За и Против
Плюсы
• Не обязательно иметь полное
актуальное описание системы
• Сохраняется история изменений
• Легче управлять загрузкой БА: когда
в потоке новых требований пауза,
можно обновлять описание системы
Минусы
• Нужно ли поддерживать актуальное описание
системы для каждой среды (разработка,
тестирование, производство)? каждой версии
приложения?
• Если не запланировать время на описание
системы – остается чистая Дельта
«Комбинированный подход»: За и Против
Когда
• Большая часть системы будет
меняться
• Ресурсов БА не хватает
• Необходимо поддерживать разные
версии приложения параллельно
Как
• Записываем изменения в трекер и назначаем на
релизы
• Группируем изменения по функциональным
модулям, напр. даем ссылки на соответствующий
раздел описания системы
• Периодически «накатываем» изменения на
описание системы в порядке их реализации
Жизнь проекта
Размер / Сложность / Длительность проекта
ДельтаЦелевое
Меняем «коней» на переправе
Время проекта
ДельтаЦелевое
На этапе первичного
сбора требований для
нового функционала
просто описывать
Целевое состояние
Чем больше приходит
изменений, тем сложнее
поддерживать описание
системы
Поток изменений
уменьшается и пора
подумать о поддержке
системы
Спасибо за внимание!
Денис Гобов,
dgobov@gmail.com
https://ua.linkedin.com/in/denysgobov

More Related Content

What's hot (20)

PPTX
Как мы меняли процесс maintenance для b2b-клиентов
CEE-SEC(R)
 
PDF
AgileDays 2016. Внедрение Agile в Банке
Михаил Кононов
 
PPTX
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
PPTX
кузнецов Dual-track agile.pptx
Magneta AI
 
PPTX
Дмитрий Грибов, Трава и грибы как средства управления разработкой
ScrumTrek
 
PDF
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
PPTX
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Ontico
 
PPTX
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
ScrumTrek
 
PPTX
щеголев по ту сторону баррикад
Magneta AI
 
PPTX
Agile Vector - внедрение agile разработки в Райффайзенбанке
Alexey Deryushkin
 
PPTX
Как превратить User Story в историю успеха
DataArt
 
PDF
Владимир Стасевич, Сбербанк и Agile – понятия совместимые
ScrumTrek
 
PPTX
Кодекс аналитика
SQALab
 
PDF
Процесс Mindbox 2015
Alexander Gornik
 
PPTX
от каждого по потребностям, каждому — по Agile
Alexey Deryushkin
 
PPTX
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
ScrumTrek
 
PPTX
User stories and use cases - Клаудия Заика
QA Dnepropetrovsk Community (Ukraine)
 
PPTX
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
ScrumTrek
 
PPTX
пылаева дана, шоколад лего-скрам
Magneta AI
 
PDF
12 m kononov20161026
Bankir_Ru
 
Как мы меняли процесс maintenance для b2b-клиентов
CEE-SEC(R)
 
AgileDays 2016. Внедрение Agile в Банке
Михаил Кононов
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
кузнецов Dual-track agile.pptx
Magneta AI
 
Дмитрий Грибов, Трава и грибы как средства управления разработкой
ScrumTrek
 
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Ontico
 
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
ScrumTrek
 
щеголев по ту сторону баррикад
Magneta AI
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Alexey Deryushkin
 
Как превратить User Story в историю успеха
DataArt
 
Владимир Стасевич, Сбербанк и Agile – понятия совместимые
ScrumTrek
 
Кодекс аналитика
SQALab
 
Процесс Mindbox 2015
Alexander Gornik
 
от каждого по потребностям, каждому — по Agile
Alexey Deryushkin
 
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
ScrumTrek
 
User stories and use cases - Клаудия Заика
QA Dnepropetrovsk Community (Ukraine)
 
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
ScrumTrek
 
пылаева дана, шоколад лего-скрам
Magneta AI
 
12 m kononov20161026
Bankir_Ru
 

Similar to 3 denys gobov - change request specification the knowledge base or the task for the team (20)

PPTX
Подходы к спецификации изменений
SQALab
 
PPTX
«трудности при разработке сложных распределённых систем на Java. способы реше...
MDDay_4
 
PPTX
Денис Бесков. Как обеспечивать полноту требований
Denis Beskov
 
PDF
Вебинар: Гибкое управление требованиями
Timofey (Tim) Yevgrashyn
 
PPT
Andrey Petrov P D P
rit2010
 
PPT
123
deer_oleg
 
PPT
О чем стоит подумать, приступая к разработке высоконагруженной системы (Артем...
Ontico
 
PPTX
Аналитики не нужны требования (поставь запятую, где нужно)
Alexander Baikin
 
PDF
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
 
PPTX
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
 
PDF
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
 
PPT
Спецификация на примерах или как научить людей общаться
SQALab
 
PPTX
Mva stf module 4 - rus
Maxim Shaptala
 
PPTX
разработка бизнес приложений (8)
Alexander Gornik
 
PPTX
Как научить людей общаться с помощью Spec By Example
Andrey Rebrov
 
PPT
L4 requirements
Natalia Zhelnova
 
PPT
Истории Пользователей (User Stories) - семинар на AgileUkraine 7, 2009-04-25
Timofey (Tim) Yevgrashyn
 
PPT
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
rit2010
 
PPTX
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
PDF
Проектирование программных систем. Занятие 2
Dima Dzuba
 
Подходы к спецификации изменений
SQALab
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
MDDay_4
 
Денис Бесков. Как обеспечивать полноту требований
Denis Beskov
 
Вебинар: Гибкое управление требованиями
Timofey (Tim) Yevgrashyn
 
Andrey Petrov P D P
rit2010
 
О чем стоит подумать, приступая к разработке высоконагруженной системы (Артем...
Ontico
 
Аналитики не нужны требования (поставь запятую, где нужно)
Alexander Baikin
 
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
 
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
 
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
 
Спецификация на примерах или как научить людей общаться
SQALab
 
Mva stf module 4 - rus
Maxim Shaptala
 
разработка бизнес приложений (8)
Alexander Gornik
 
Как научить людей общаться с помощью Spec By Example
Andrey Rebrov
 
L4 requirements
Natalia Zhelnova
 
Истории Пользователей (User Stories) - семинар на AgileUkraine 7, 2009-04-25
Timofey (Tim) Yevgrashyn
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
rit2010
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
Проектирование программных систем. Занятие 2
Dima Dzuba
 
Ad

More from Ievgenii Katsan (20)

PDF
8 andrew kalyuzhin - 30 ux-advices, that will make users love you
Ievgenii Katsan
 
PDF
5 hans van loenhoud - master-class the 7 skills of highly successful teams
Ievgenii Katsan
 
PDF
4 alexey orlov - life of product in startup and enterprise
Ievgenii Katsan
 
PDF
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
Ievgenii Katsan
 
PDF
7 hans van loenhoud - the problem-goal-solution trinity
Ievgenii Katsan
 
PDF
1 hans van loenhoud -
Ievgenii Katsan
 
PDF
5 victoria cupet - learn to play business analysis
Ievgenii Katsan
 
PDF
5 alina petrenko - key requirements elicitation during the first contact wi...
Ievgenii Katsan
 
PDF
3 karabak kuyavets transformation of business analyst to product owner
Ievgenii Katsan
 
PDF
3 zornitsa nikolova - the product manager between decision making and facil...
Ievgenii Katsan
 
PDF
4 viktoriya gudym - how to effectively manage remote employees
Ievgenii Katsan
 
PDF
9 natali renska - product and outsource development, how to cook 2 meals in...
Ievgenii Katsan
 
PDF
7 denis parkhomenko - from idea to execution how to make a product that cus...
Ievgenii Katsan
 
PDF
6 anton vitiaz - inside the mvp in 3 days
Ievgenii Katsan
 
PDF
5 mariya popova - ideal product management. unicorns in our reality
Ievgenii Katsan
 
PDF
2 victor podzubanov - design thinking game
Ievgenii Katsan
 
PDF
3 sergiy potapov - analyst to product owner
Ievgenii Katsan
 
PDF
4 anton parkhomenko - how to make effective user research with no budget at...
Ievgenii Katsan
 
PDF
Testing stage
Ievgenii Katsan
 
PDF
Occam razor kiss testing stage
Ievgenii Katsan
 
8 andrew kalyuzhin - 30 ux-advices, that will make users love you
Ievgenii Katsan
 
5 hans van loenhoud - master-class the 7 skills of highly successful teams
Ievgenii Katsan
 
4 alexey orlov - life of product in startup and enterprise
Ievgenii Katsan
 
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
Ievgenii Katsan
 
7 hans van loenhoud - the problem-goal-solution trinity
Ievgenii Katsan
 
1 hans van loenhoud -
Ievgenii Katsan
 
5 victoria cupet - learn to play business analysis
Ievgenii Katsan
 
5 alina petrenko - key requirements elicitation during the first contact wi...
Ievgenii Katsan
 
3 karabak kuyavets transformation of business analyst to product owner
Ievgenii Katsan
 
3 zornitsa nikolova - the product manager between decision making and facil...
Ievgenii Katsan
 
4 viktoriya gudym - how to effectively manage remote employees
Ievgenii Katsan
 
9 natali renska - product and outsource development, how to cook 2 meals in...
Ievgenii Katsan
 
7 denis parkhomenko - from idea to execution how to make a product that cus...
Ievgenii Katsan
 
6 anton vitiaz - inside the mvp in 3 days
Ievgenii Katsan
 
5 mariya popova - ideal product management. unicorns in our reality
Ievgenii Katsan
 
2 victor podzubanov - design thinking game
Ievgenii Katsan
 
3 sergiy potapov - analyst to product owner
Ievgenii Katsan
 
4 anton parkhomenko - how to make effective user research with no budget at...
Ievgenii Katsan
 
Testing stage
Ievgenii Katsan
 
Occam razor kiss testing stage
Ievgenii Katsan
 
Ad

3 denys gobov - change request specification the knowledge base or the task for the team

  • 2. Специфицируем изменения: постановка задачи или база знаний? Станислав Рождественский, Лидер сообщества бизнес-аналитиков, DataArt Денис Гобов, Лидер сообщества бизнес-аналитиков, DataArt
  • 3. Разрешите представиться Денис Гобов ▪ 16 лет опыта в системном и бизнес-анализе ▪ Senior Business Analyst компании DataArt ▪ Вице-президент Киевского отделения IIBA ▪ Консультант и тренер ▪ CBAP® & PMI-PBA ® & CPRE-FL® & ICP-BVA® & BCS BAF® ▪ Канд. техн. наук ▪ Лучший бизнес-аналитик, Ukrainian IT Awards-2013/2016
  • 4. Задачи аналитика С точки зрения бизнес-аналитика • Понять текущее состояние: проблемы и возможности • Определить желаемое состояние заказчика • Определить стратегию перехода С точки зрения команды: • Поставить задачу на разработку + • Рассказать как это все работает
  • 5. История из жизни • Заказчик: Нам нужно добавить поле на этот экран • БА: Хорошо, я посмотрю (…) • БА: У вас есть документация на это? • ПМ: Да. • БА: Она актуальна? • ПМ: Процентов на 80… • БА: А что конкретно не актуально? • ПМ: Надо смотреть, там были изменения… мы не обновляли ее полгода.
  • 6. Изменение Есть одна неизменная вещь в этом мире – это изменение Текущее состояние Целевое состояние Дельта Текущее состояние Целевое состояние Дельта
  • 7. Это волшебное слово «Спека» Спецификация – документ, который содержит полное и четкое описание разрабатываемого продукта • Поставить задачу разработчикам • Согласовать логику приложения с заинтересованными лицами • Определить тестовые сценарии • Использовать при планировании проекта • Обеспечить поддержку приложения Спецификация – это лишь одно из средств достижения целей. Можно им пользоваться, а можно и нет
  • 8. Подходы к спецификации требований • Дельта – Постановка задачи • Целевое состояния - База знаний • Параллельный подход – «И нашим и вашим» • «Тощая дельта» • «Тощее целевое состояние» • Комбинированные подходы
  • 9. «Дельта»: Схема Спринт 1 Добавить поле Нужно всплывающее окно Проверить уникальность логина Спринт 2 Убрать поле Добавить чекбокс Проверить без учета кейса Спринт 3 Сделать кнопкой Теперь модальное окно Проверить минимальную длину Спринт 4 Добавить обратно И максимальную тоже Итерация 5 Сделать зеленой кнопкой Пусть будет отдельная вкладка Автоматический доступ
  • 10. «Дельта»: Когда и как? КОГДА • Основная Цель: загрузить команду • Ресурсов БА не хватает КАК • Записывать инкрементальные изменения в трекер • Изменения планируются на итерации и связываются с задачами разработчиков • Формат: User Story + Acceptance criteria
  • 11. «Дельта»: За и Против для БА Плюсы • Не обязательно иметь полное актуальное описание системы • Не нужно тратить время на описание смежного функционала (восстановление требований) Минусы • Нет общей картины • Много артефактов (меньшего размера), которыми надо управлять • Сложно отслеживать влияние изменений на смежный функционал Если у вас нет полного актуального описания системы – придется использовать Дельту
  • 12. «Дельта»: Плюсы для команды • Каждый мой запрос записан • На утверждение приходят небольшие артефакты Заказчик • Легко управлять набором изменений в каждой итерации • Можно отследить, сколько времени затрачено на изменения изначальных требований Руководитель Проекта • Можно проверять только то, что изменилось Тестирование • Ясно, что делать в этой итерации • Документы заморожены на каждый релиз Разработка
  • 13. «Дельта»: Минусы для команды • Как я могу принять правильное решение, если не вижу полного контекста системы? Заказчик • Какое состояние конечное? Когда закончится поток изменений? Руководитель Проекта • Непонятен Тестовый Сценарий • Нужен цикл регрессионного тестирования Тестирование • Как мне влезать в чужой код низкого качества, если я не знаю, как он должен работать? Разработка
  • 14. «Целевое состояние»: Схема Итерация 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
  • 15. «Целевое состояние»: Когда и как? КОГДА • Есть полное актуальное описание системы или время его подготовить • 80% системы не будет меняться • Основные цели: согласовать требования с Заинтересованными Лицами + поддержка приложения КАК • Когда приходит изменение, выпускается новая версия описания системы • Аккуратно записываем изменения между версиями документа
  • 16. «Целевое состояние»: За и Против для БА Плюсы • В результате получаем полное описание системы • Легче отслеживать влияние на смежный функционал • Легче сделать небольшое изменение к описанному функционалу Минусы • Большие затраты на подготовку полного пакета документации на каждую итерацию • Поддержка больших документов • Если одно изменение затрагивает различный функционал – нужно переписывать разные части документа • Если изменение переносится в следующий релиз – сложно поддерживать актуальность документа
  • 17. «Дельта»: Плюсы для команды • Я вижу полное описание продукта, который получу Заказчик • Финальное состояние продукта понятно • Легче осуществлять долгосрочное планирование Руководитель Проекта • Есть основа для тестовых сценариев • Регрессионные дефекты выявляются раньше Тестирование Я понимаю, как это код должен работать Разработка
  • 18. «Дельта»: Минусы для команды • Нужно проверять большие документы • Если было много изменений, то непонятно, почему сейчас так работает Заказчик • Как сопоставить требования с планом по релизам? • Сколько времени мы потратили на запросы на изменения к основному функционалу? Руководитель Проекта • А что здесь поменялось? • Что конкретно нужно делать в этой итерации? • Почему вы не можете заморозить требования? Тестирование Разработка
  • 19. «Параллельный подход»: Схема Итерация 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 Спринт 1 Добавить поле Нужно всплывающее окно Проверить уникальность логина Спринт 2 Убрать поле Добавить чекбокс Проверить без учета кейса Спринт 3 Сделать кнопкой Теперь модальное окно Проверить минимальную длину Спринт 4 Добавить обратно И максимальную тоже Итерация 5 Сделать зеленой кнопкой Пусть будет отдельная вкладка Автоматический доступ
  • 20. «Параллельный подход»: За и Против Плюсы • Закрывает все цели и потребности Минусы • Нужно больше времени БА для каждого изменения • Риск рассинхронизации двух потоков документации Один из способов работы с трудностями Параллельного Подхода: держать один из потоков “тощим”
  • 21. «Параллельный подход»: «Тощая» Дельта Трекер изменений ВИ-1 v2 Вход в систему Основной поток: 1. Пользователь вводить логин и пароль 2. Пользователь инициирует выполнение 3. Система подтверждает корректность данных Альтернативный поток 1: 3.1. Пользователь ввел Пароль менее 8 символов 3.1.1 Система отображает сообщение об ошибке и просит сменить пароль Описание системы Текущее состояние ВИ-1 v1 Изменение Изменить минимальную длину Пароля, как описано в ВИ-1 v2 Целевое состояние ВИ-1 v2
  • 22. «Параллельный подход»: «Тощее» ЦС Трекер изменений Описание системы Текущее состояние Пользователь не может ввести пароль менее 6 символов Изменение Увеличить минимальную длину пароля до 8 символов Целевое состояние Пользователь не может ввести менее 8 символов ВИ-1 Вход в систему См. требования в: ID-123 – первоначальные требования ID-234 – Изменения в Релизе 1 ID-345 – Изменения в Релизе 2 ID-456 – Изменения в Релизе 3
  • 23. «Комбинированный подход»: Схема Текущее состояние ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 Итерация 1 Убрать поле Нарисовать чекбокс Нужно розовое платье Проверять без учета регистра Итерация 2 Сделать кнопкой Переделать в модальное окно Проверять минимальный размер Итерация 3 Добавить обратно Нет, голубое Проверять максимальный размер Целевое состояние ВИ-1 v1 ВИ-2 v2 ВИ-3 v2 ВИ-4 v2 ВИ-5 v2
  • 24. «Комбинированный подход»: За и Против Плюсы • Не обязательно иметь полное актуальное описание системы • Сохраняется история изменений • Легче управлять загрузкой БА: когда в потоке новых требований пауза, можно обновлять описание системы Минусы • Нужно ли поддерживать актуальное описание системы для каждой среды (разработка, тестирование, производство)? каждой версии приложения? • Если не запланировать время на описание системы – остается чистая Дельта
  • 25. «Комбинированный подход»: За и Против Когда • Большая часть системы будет меняться • Ресурсов БА не хватает • Необходимо поддерживать разные версии приложения параллельно Как • Записываем изменения в трекер и назначаем на релизы • Группируем изменения по функциональным модулям, напр. даем ссылки на соответствующий раздел описания системы • Периодически «накатываем» изменения на описание системы в порядке их реализации
  • 26. Жизнь проекта Размер / Сложность / Длительность проекта ДельтаЦелевое
  • 27. Меняем «коней» на переправе Время проекта ДельтаЦелевое На этапе первичного сбора требований для нового функционала просто описывать Целевое состояние Чем больше приходит изменений, тем сложнее поддерживать описание системы Поток изменений уменьшается и пора подумать о поддержке системы
  • 28. Спасибо за внимание! Денис Гобов, [email protected] https://ua.linkedin.com/in/denysgobov