Story mapping

Post on 22-May-2015

5.797 views 0 download

Transcript of Story mapping

Сбор  Требований  со  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      

•  Вопросы?  

•  nfilippov@scrumtrek.ru  

•  Skype:  nikita_filippov  •  Больше  на  тренинге  Agile  Requirements  Analysis  

© Nikita Filippov, 2010 Using Jeff Patton Content