Slide 1

Slide 1 text

Академия Бындюсофт Андрей Шапиро 1 Карта реализации истори й . Технология осмысленной работы с детальными требованиями Носитель действия Структура UI Форма реализации 1 Объекты оперирирования Цель шага Способ действия Ситуация Форма реализации 2 СПЕЦИАЛЬНО ДЛЯ КАНАЛА «СИСТЕМНЫЙ ПОДХОД»

Slide 2

Slide 2 text

Академия Бындюсофт —19 лет управляю разработкой и проектирую цифровые системы как дизайнер продукта и интерфейса —Автор методик проектирования: Карта процесса-опыта, Дерево гипотез развития, Метод ключевых действий, Карта реализации историй —Автор книги «Карта процесса-опыта» —Арт-директор, методолог, соучредитель Бындюсофт Андрей Шапиро

Slide 3

Slide 3 text

Бындюсофт — 13 лет на рынке Создаём убер-сложные ИТ-продукты с гарантией достижения целей заказчика. Стартуем с анализа, разрабатываем, внедряем продукт и обеспечиваем его поддержку и эволюцию

Slide 4

Slide 4 text

Академия Бындюсофт Практика записи историй 4

Slide 5

Slide 5 text

Академия Бындюсофт 5 Истории = губки знаний о жизни Джозеф Кэмпбелл, «Тысячеликий герой»

Slide 6

Slide 6 text

Академия Бындюсофт 6 «Единица исторической жизни включает в себя всё, о чём можно рассказать какую-нибудь историю. <...> Каждая из них рождается в своего рода путешествии и описывает какой-то из регионов Мира. <...> Идея путешествия определяет выход за границы обыденного. <...> За любой историей стоит путешествие, любое путешествие выражается в какой-нибудь истории» Владимир Воловик, «Мышление в мусорной куче»

Slide 7

Slide 7 text

Академия Бындюсофт 7 Сумма историй составляет знание о некоем мире. Например, мире деятельности или какой-то его части

Slide 8

Slide 8 text

Академия Бындюсофт 8 Истории проникли в разработку в 1990-х — Компьютеры стали доступны среднему и малому бизнесу — Потребовалось кратно больше софта — Бизнес-процессы слабее нормированы — Предметная область запутанная, модель не построишь — Быстрое развитие бизнеса ведёт к изменению задачи во время разработки Максим Цепков, «Проектирование в разных культурах и парадигмах разработки» Эра больших компьютеров Персоналки, инет и мобилы

Slide 9

Slide 9 text

Академия Бындюсофт 9 Потребитель обретает право голоса — Технозависимость, бесчеловечность первого софта породили Usability, User Centered Design и UX — Рост населения и демократизация потребовали перехода от жесткого проектирования через постулирование к мягкому через вовлечение потребителя в процесс проектирования

Slide 10

Slide 10 text

Академия Бындюсофт 10 Истории стали промежуточным языком Истории в этом движении как пиджин — язык, на котором могут понимать технари, пользователи и бизнес

Slide 11

Slide 11 text

Академия Бындюсофт Но первые истории были сугубо про софт Кент Бэк приводит этот пример на самой заре пользовательских историй. Она целиком и полностью про компьютерные штучки и микроулучшения 11 Я ввожу почтовый индекс и тут же заполняется город и область без всяких нажатий кнопок

Slide 12

Slide 12 text

Академия Бындюсофт Шаблон Коннекстры Шаблон установил важную структуру и стал классическим. Без этих частей история больше не считалась историей 12 Я, как <роль, персона>, хочу <функциональность>, чтобы <основание, мотив>

Slide 13

Slide 13 text

Академия Бындюсофт Я, как <роль, персона>, хочу <функциональность>, чтобы <основание, мотив> Шаблоны помогали нащупать форму коммуникации 13 Вместо того, чтобы <старый способ д ействия>, <новый способ действия> <Вопросительное слово> <объект> <обстоятельство>? Произошел ли <факт>? Когда <обстоятельства, задающие контекст ситуации>, Я хочу <мотивация>, чтобы <ожидаем ы й результат>

Slide 14

Slide 14 text

Академия Бындюсофт 14 Практики обслуживали: общий язык и планирование разработки — 1997, Кент Бэк: понимать кто и зачем использует софт через истории — 1998, Кокберн: «История — это токен, обещание беседы» — 2001, Рон Джеффрис: Card, Conversation, Confirmation — 2003, Билл Уейк, Критерии декомпозиции историй INVEST — 2008, Джефф Паттон, Техника USM организации бэклога из историй — 2009, Ричард Лоуренс, Паттерны декомпозиции историй

Slide 15

Slide 15 text

Академия Бындюсофт 15 Развитие историй в течение 10 лет направлялось двумя стержневыми моментами 1. Истории были связующим языком. Поэтому их всегда старались оставить простыми 2. Истории организовывали планирование разработки

Slide 16

Slide 16 text

Академия Бындюсофт Мой путь 16

Slide 17

Slide 17 text

Академия Бындюсофт 17 Я пользуюсь историями вот уже 15 лет 2010

Slide 18

Slide 18 text

Академия Бындюсофт 18 Мой опыт — 15 лет регулярной практики написания историй — Строгий подход. Я содержательно строго придерживаюсь шаблонов и всегда считал это важным — Сложные системы. Проектирование многослойных, многоагентных информационных систем в запутанных предметных областях

Slide 19

Slide 19 text

Академия Бындюсофт 19 Опыт обучения историям: 2016—2022

Slide 20

Slide 20 text

Академия Бындюсофт 20 Акт деятельности и расширенная история

Slide 21

Slide 21 text

Академия Бындюсофт 21 Первая сборка опыта в 2019-м — Собраны наиболее полезные шаблоны пользовательских историй — На многочисленных примерах показана практика формулирования

Slide 22

Slide 22 text

Академия Бындюсофт 22 Семинарская работа поставила следующие вопросы — Почему истории пишут так плохо? — Что работает крайне важно и помогает, а что второстепенно в записи историй? — Что мешает перейти от записанных историй к решениям?

Slide 23

Slide 23 text

Академия Бындюсофт 23 Основные затруднения в работе с пользовательскими историями 1. Беда лаконичной записи 2. «Повёрнутость» на пользователе 3. Неспособность работы с частичной записью 4. Пустая или ложные ценность 5. Работа с ложным решением 6. В историях не хватает объектов деятельности 7. Нет явного мостика для перехода к реализации

Slide 24

Slide 24 text

Академия Бындюсофт 1. Беда лаконичной записи историй Авторы подхода настоятельно рекомендовали больше беседовать и меньше заморачиваться о формулировках. Ценность была опциональной частью шаблона. В примере слева истории в формате USM для сервиса онлайн-радио 24

Slide 25

Slide 25 text

Академия Бындюсофт В сложной предметной области лаконичная запись подводит 25 С ростом сложности ИТ-систем, например, к системам обслуживания деятельности корпораций или платформ, лаконичный формат записи историй работал всё хуже

Slide 26

Slide 26 text

Академия Бындюсофт 26 С ростом сложности ИТ-систем лаконичный формат записи историй работал всё хуже — Сложно понимать. Коммуникации через истории стала мешать сложность предметной области, а значит отсутствие общего разделяемого контекста — Трудно дробить. Техника приемочных тестов не работает, потому что подолгу неясно что и как декомпозировать — Долго выяснять. Индустрия выкручивалась спайками — исследовательскими итерациями на снятие неопределенности

Slide 27

Slide 27 text

Академия Бындюсофт 27 2. «Повёрнутость» на пользователе Я, как потребитель, хочу чаще получать анонсы об акциях сервиса, чтобы не пропустить ничего интересного для собственной выгоды Очевидно, что здесь рассматриваются не интересы пользователя, но формат заставляет писать о нём

Slide 28

Slide 28 text

Академия Бындюсофт 28 3. Неприспособленность для работы с частичной записью Логист делает что-то эдакое, чтобы удостовериться, что все правила настроены им верно Иногда важно отметить что-то, например, форму решения о поведении как X, чтобы отложить его. Когда она неизвестна, истории подолгу нет

Slide 29

Slide 29 text

Академия Бындюсофт 29 4. Пустая или ложные ценность Я, как пользователь, хочу применять множественные фильтры, чтобы ограничить область отображаемых данных Ничего не мешает заполнить шаблон формально и получить бесполезные «истории» — шаблонную липу Вместо долгого ожидания загрузки XLS-выгрузки оператор получает его быстро

Slide 30

Slide 30 text

Академия Бындюсофт 30 5. Работа с ложным решением Во время ремонтных работ, я хочу чтобы микроскоп не раскалывался так быстро на части как сейчас, чтобы не приходилось его менять так часто Когда необходимо соединить податливые материалы скобами, шпильками, гвоздями или костылями, я хочу орудовать чем-то увесистым, но компактным, чтобы быстрее вгонять скрепляющие элементы и меньше уставать

Slide 31

Slide 31 text

Академия Бындюсофт 31 6. Нет явного мостика для перехода к реализации Спикер вместо того, чтобы раздавать каждому бумажные визитки, которые теряют актуальность и не вовремя заканчиваются, массово раздаёт электронные По этой истории нужно не только поговорить, но и верно декомпозировать, приняв массу решений. Почему бы этот процесс не объединить с процессом написания истории?

Slide 32

Slide 32 text

Академия Бындюсофт 32 Рефлексия мощи историй — провоцируют общение — одновременно понятны всем — осмысленно организуют планирование разработки — дают откладывать решения на поздние этапы работы и свободно менять их

Slide 33

Slide 33 text

Академия Бындюсофт Рабочая история 33

Slide 34

Slide 34 text

Академия Бындюсофт 34 Шаблон рабочей истории Для обеспечения <такой-то ценности на уровне деятельности> <кто-то или что-то>, <в такой-то ситуации> <действует таким-то образом>, преобразуя <такие-то объекты оперирования на входе шага> в <такие-то объекты на выходе> Ответом на эти вопросы был новая структура истории. «Рабочая» означает, что относится к деятельности целиком, а не только к пользователю

Slide 35

Slide 35 text

Академия Бындюсофт 35 Пример рабочей истории Соискатель в поиске трудоустройства, изучает артефакты очередной компании и понимает насколько ему с ней по пути, преобразуя сведения о компании в собственные выводы и решение, чтобы выбрать подходящую по духу компанию как основное средство заработка и личностного роста Сведения о компании → Собственные выводы и решение Изучает артефакты очередной компании и понимает насколько ему с ней по пути В поиске трудоустройства Соискатель Выбрать подходящую по духу компанию как основное средство заработка и личностного роста В КАРТЕ РЕАЛИЗАЦИИ ИСТОРИЙ В ФОРМЕ ПРЕДЛОЖЕНИЯ

Slide 36

Slide 36 text

Академия Бындюсофт 36 Пример рабочей истории Сотрудник склада, когда товара немного и он крупный, организует счёт по одному, преобразуя набор экземпляров одного вида товара на палете в их количество, чтобы зафиксировать их в цифровом двойнике Набор экземпляров одного товара → Количество в наборе Организует счёт по одному Когда товара немного и он крупный Сотрудник склада Фиксировать количество товаров на реальной палете в цифровом двойнике В КАРТЕ РЕАЛИЗАЦИИ ИСТОРИЙ В ФОРМЕ ПРЕДЛОЖЕНИЯ

Slide 37

Slide 37 text

Академия Бындюсофт 37 Карта реализации историй собирает шаблон истории и форм её решения вместе

Slide 38

Slide 38 text

Академия Бындюсофт 38 Пример в карте. Слои цели действия и процесса

Slide 39

Slide 39 text

Академия Бындюсофт 39 Пример. Слои объектов и реализации

Slide 40

Slide 40 text

Академия Бындюсофт Слои карты 40

Slide 41

Slide 41 text

Академия Бындюсофт 41 1. Цель шага деятельности Смысл слоя: Фиксирует ценность, смысл происходящего на уровне деятельности. 
 Ключевой вопрос: Зачем? Фиксировать количество товаров на реальной палете в цифровом двойнике Цель шага

Slide 42

Slide 42 text

Академия Бындюсофт 42 2. Носитель действия Смысл слоя: Фиксирует субъекта или машину, кому вменены операции на шаге 
 
 Ключевой вопрос: 
 Кем/чем? Сотрудник склада Машина с компьютерным зрением Носитель действия

Slide 43

Slide 43 text

Академия Бындюсофт 43 3. Ситуация Смысл слоя: Фиксирует описание контекста ситуации, условия входа в неё 
 Ключевой вопрос: Когда? Когда товара немного и он крупный Когда товар расфасован порциями и подсчёт ведёт несколько человек Ситуация

Slide 44

Slide 44 text

Академия Бындюсофт 44 4. Способ действия / вариант поведения Смысл слоя: Фиксирует процедуру, вариант формы процесса 
 Ключевой вопрос: 
 Как делается? Организует счёт по одному Корректирует итоговое количество на размер порции, вместо того чтобы считать в уме Способ действия

Slide 45

Slide 45 text

Академия Бындюсофт 45 5. Объекты оперирования Смысл слоя: Фиксирует совокупность и структуру вещей, задействованных в действии до его начала и в результате 
 Ключевой вопрос: 
 С чем? Упаковки товара на палетах → Количество упаковок на палете Объекты оперирования

Slide 46

Slide 46 text

Академия Бындюсофт 46 6. Форма/вариант решения Смысл слоя: Фиксирует образцы типовых технических решений, то чем мы оснащаем шаг 
 Ключевой вопрос: 
 С помощью чего? Ручной счётчик с кнопками +/−, влияющими на итоговое значение Форма решения

Slide 47

Slide 47 text

Академия Бындюсофт 47 7. Структура экранных блоков Смысл слоя: Фиксирует UI-блоки для иллюминации и манипуляции и их местоположение 
 Ключевой вопрос: 
 Как организовано? Структура экранов UI

Slide 48

Slide 48 text

Академия Бындюсофт Структура экранных блоков Носитель действия Цель действия 48 Когда товара немного и он крупный Сотрудник склада Ручной счётчик с кнопками +/−, влияющими на итоговое значение Упаковки товара на палетах → Количество упаковок на палете Фиксировать количество товаров на палете физического мира в цифровом двойнике ИТ-системы Ситуация Форма реализации Объекты оперирования Процедура Организует счёт по одному Пример целиком

Slide 49

Slide 49 text

Академия Бындюсофт 49 Пример реальной карты

Slide 50

Slide 50 text

Академия Бындюсофт Каскад реализации 50

Slide 51

Slide 51 text

Академия Бындюсофт 51 Каскад реализации

Slide 52

Slide 52 text

Академия Бындюсофт 52 История в каскаде реализации Объекты оперирования Процедура Структура UI-блоков Форма реализации Ситация Носитель действия Цель действия

Slide 53

Slide 53 text

Академия Бындюсофт 53 Связка: ситуация — способ действия Приезжает точно ко времени, чтобы пицца не остыла При заказе на мероприятия Доставщик пиццы Приезжает насколько возможно скоро, чтобы порадовать клиента Во всех других случаях

Slide 54

Slide 54 text

Академия Бындюсофт 54 Связка: способ действия — форма реализации Командный чат: Slack, Mattermost, … Отправляет вопрос и ждёт ответа без спешки ● ● ● Когда нужно что-то выяснить Коллега Звонилки: Skype, Discord, … Добивается немедленного контакта ● ● ●

Slide 55

Slide 55 text

Академия Бындюсофт Минутка методологического занудства 55

Slide 56

Slide 56 text

Академия Бындюсофт 56 Связь элементов рабочей истории с актом деятельности Для обеспечения 
 <цель действия> 
 <носитель действия>, <в ситуации> 
 <способ действия>, работая с <объектами оперирования> с помощью 
 <форма решений в инструменте> и <форм UI>

Slide 57

Slide 57 text

Академия Бындюсофт Подведём итоги 57

Slide 58

Slide 58 text

Академия Бындюсофт 58 Что стало лучше 
 с Картой реализации историй — Захват важнейших компонентов деятельности , благодаря новому шаблону рабочих историй — Поиск решения ведётся параллельно с завёрстыванием истории и стал проще с новыми слоями-линзами объектов оперирования и структуры элементов UI — Согласование формального предложения стала вторично, первично согласование между собой смысла содержания функциональных мест шаблона Носитель действия Структура UI Форма реализации 1 Объекты оперирирования Цель шага Способ действия Ситуация Форма реализации 2

Slide 59

Slide 59 text

Запись ёмких текстовых моделей описания поведения в рабочих ситуациях и подбор инструментов для них Входит в фреймворк проектирования социотехнических систем Подбор логических связей в цепочке важнейших точек потребительского опыта и рабочих ситуаций с учётом целостности потоков в ней Подбор логических связей между предпринимаемыми действиями, их воздействием на субъектов и конечной целью Карта процесса- опыта Карта реализации историй Карта гипотез 59

Slide 60

Slide 60 text

Академия Бындюсофт 60 Материалы о Карте реализации историй — Вводная статья — Видео-беседа с примером — Подкаст makeSense с Юрием Агеевым ashapiro.ru/articles/sim

Slide 61

Slide 61 text

Академия Бындюсофт Спасибо за внимание, пробуйте КРИ Андрей Шапиро, арт-директор и методолог Бындюсофт ⎯ t.me/ashapiro ashapiro.ru 61 simapping Канал Карты реализации историй