story mapping
TRANSCRIPT
Сбор Требований со StoryMapping*
Никита Филиппов
© Nikita Filippov, 2010 Using Jeff Patton Content
* -‐ Практическое занятие
Никита Филиппов
• Managing Partner at ScrumTrek
• Agile Coach, Agile PM.
© Nikita Filippov, 2010 Using Jeff Patton Content
Хочется...
• Поговорить про Agile • UserStories • StoryMapping
• Построить карту требований • Поговорить о преимуществах данного метода
© Nikita Filippov, 2010 Using Jeff Patton Content
ПРЕЖДЕ ЧЕМ МЫ БУДЕМ ГОВОРИТЬ О СБОРЕ ТРЕБОВАНИЙ...
© Nikita Filippov, 2010 Using Jeff Patton Content
Про Agile…
• Agile = Итеративность и инкрементальность.
© Nikita Filippov, 2010 Using Jeff Patton Content
Итеративная разработка
© Nikita Filippov, 2010 Using Jeff Patton Content
Инкрементальная разработка
© Nikita Filippov, 2010 Using Jeff Patton Content
Backlog (список фич)
Про Agile…
• Agile = Итеративность и инкрементальность. • Говорим Agile, подразумеваем Scrum и XP.
© Nikita Filippov, 2010 Using Jeff Patton Content
Scrum
© Nikita Filippov, 2010 Using Jeff Patton Content
Про Agile…
• Agile = Итеративность и инкрементальность. • Говорим Agile, подразумеваем Scrum и XP.
© Nikita Filippov, 2010 Using Jeff Patton Content
Про Agile…
Наши цели с точки зрения бизнеса. • Давать самое нужное, как можно раньше для наших заказчиков/клиентов/пользователей
• Собирать требования быстро • Уметь развивать продукт слоями (учитывать интересы все пользователей сбалансировано)
© Nikita Filippov, 2010 Using Jeff Patton Content
User Stories
• История это : – Потребность пользователя – Описание продукта – Предмет для планирования итерации или релиза
– Повод для обсуждения
© Nikita Filippov, 2010 Using Jeff Patton Content
* Kent Beck определил термин user stories в
Extreme Programming Explained 1st Edition, 1999
Как писать User Story?
• Начинаем с названия • Добавляем детали, используя шаблон Как [роль], я хочу [выполнить некоторое действие], чтобы [достичь каких-‐то целей]
• Добавляем детали, спецификации, скетчи интерфейсов
• Пишем приемочные тесты. (Понять, что мы сделали то, что нужно)
© Nikita Filippov, 2010 Using Jeff Patton Content
Истории приоритизирует заказчик
• Список историй оформляется в ProductBacklog.
• Все истории приоритезируются
© Nikita Filippov, 2010 Using Jeff Patton Content
Создавая требования...
© Nikita Filippov, 2010 Using Jeff Patton Content
Эффективный сбор требований
© Nikita Filippov, 2010 Using Jeff Patton Content
PO
Customers Team
StoryMapping Set-Base Design
Story Mapping... • Визуальный контроль за
цепочкой ценности в проекте
• Показывает зависимости между большими историями и их декомпозицией
• Удобное представление для приоритезации
• Полнота бэклога
• Планирование релизов «слоями»
© Nikita Filippov, 2010 Using Jeff Patton Content
User Story Mapping: Способ организации и приоритезации backlog’a
© Nikita Filippov, 2010 Using Jeff Patton Content
Порождает дискуссии
Понять концепцию StoryMapping
• Опишите действия которые вы совершили, чтобы оказаться здесь – начиная с того, что вы проснулись, заканчивая прибытием сюда.
– Каждое действие на отдельный стикер
© Nikita Filippov, 2010 Using Jeff Patton Content
• Группы по 3-‐5 человек. • Выписываете все, что пришло в голову. • Дубликаты убиваем, похожие объединяем • Выстраиваем слева направо по горизонтали.
© Nikita Filippov, 2010 Using Jeff Patton Content
• Какие стикеры у вас получились? • От чего зависят отличия?
© Nikita Filippov, 2010 Using Jeff Patton Content
Книжный Магазин
• У книжного магазина Алексея В. большая коллекция книг западной литературы – это его бизнес
• Книг настолько много, что ему предложили написать систему-‐каталог по определению местоположения книг
• Скорее всего, этот софт будет работать на терминале с тач скрином.
© Nikita Filippov, 2010 Using Jeff Patton Content
Алексей-‐покупатель
© Nikita Filippov, 2010 Using Jeff Patton Content
Детали / Описание Что ценит в софте
-‐ -‐ 60 лет -‐ -‐ ВО -‐ -‐ Фанат Стивена Хокинг -‐ -‐ Дети недавно купили ему ноутбук
-‐-‐ Не любит отчеты об ошибках -‐-‐ Аскетичность интерфейсов
Персоны
• Создайте 3 основных персоны, которые пользуются вашим продуктом.
© Nikita Filippov, 2010 Using Jeff Patton Content
Алексей-‐покупатель
© Nikita Filippov, 2010 Using Jeff Patton Content
Детали / Описание Что ценит в софте
-‐ -‐ 60 лет -‐ -‐ ВО -‐ -‐ Фанат Стивена Хокинг -‐ -‐ Дети недавно купили ему ноутбук
-‐-‐ Не любит отчеты об ошибках -‐-‐ Аскетичность интерфейсов
Активности и действия
© Nikita Filippov, 2010 Using Jeff Pa�on Content
Активности и действия
© Nikita Filippov, 2010 Using Jeff Patton
Content
Попробуем
• Группа 3-‐7 человек • Работаем коллективно • Используем стикеры разных цветов для разделения уровней: Активность -‐ Задачи -‐Под-‐задачи
• Используем формат UserStories
© Nikita Filippov, 2010 Using Jeff Patton Content
Основные активности
• Выпишите основные Активности, которые делает ваша главная персона системы
• Пример: «Авторизация»
© Nikita Filippov, 2010 Using Jeff Patton Content
Простейшие действия
• Добавьте простейшую реализацию действий (самый простой/ «тупой»)
• Двигайтесь слева направо... • …связывая действия фразой «И тогда он <действие>»
© Nikita Filippov, 2010 Using Jeff Patton Content
Добавляем детали
• Добавляем детали вертикально • Улучшения © Nikita Filippov, 2010 Using Jeff Patton
Content
Понимание о системе в целом
© Nikita Filippov, 2010 Using Jeff Patton Content
Активность
Действие
Дополнения
Разработка продукта слоями
© Nikita Filippov, 2010 Using Jeff Patton Content
Инкрементальный и итеративный дизайн
© Nikita Filippov, 2010 Using Jeff Patton Content
Инкрементальный и итеративный Дизайн
© Nikita Filippov, 2010 Using Jeff Patton Content
Сбалансированное развитие продутка
Делим на релизы
© Nikita Filippov, 2010 Using Jeff Patton Content
© Nikita Filippov, 2010 Using Jeff Patton Content
Итоги " Не писать лишнего " Уметь развивать продукт инкрементально " Прорабатывать требования детально " Доставлять самое нужное и важное в первую очередь " Понимать, что ценно для заказчика (или конечного пользователя) " Знать, когда сможем поставить ту или иную функциональность (или что войдет в релиз),
учитывая, что мы живем в мире изменений.
© Nikita Filippov, 2010 Using Jeff Patton Content
Используем UserStory Приоритезация
Планирование релизов
У меня все! Используйте StoryMapping
• Вопросы?
• Skype: nikita_filippov • Больше на тренинге Agile Requirements Analysis
© Nikita Filippov, 2010 Using Jeff Patton Content