Example Mapping: правила, примери, въпроси
Накратко: Example Mapping е кратка среща с четири цвята карти: сторито (жълта), правилата (сини), примерите (зелени) и въпросите (червени). Дъската показва какво знаем и какво не. Много сини карти значи, че сторито е твърде голямо, много червени значи, че е неясно.
Проблем
Срещата, която не свършва
Собственикът, QA и програмистът обсъждат сторито за отстъпките. След час всеки е казал по нещо за промо кода, лоялността и намалените продукти. Един въпрос („а ако поръчката се върне?“) е задаван три пъти и всеки път е оставал без отговор.
Накрая собственикът казва „програмистът ще прецени“, и срещата свършва. Никой не е записал какво е решено. След седмица всеки помни различно.
Разговорът се случи. Но нищо от него не остана, и никой не видя, че сторито е твърде голямо.
Идеята
Четири цвята
Example Mapping е кратка среща, на която сторито се разглобява на карти с четири цвята:
- жълта: сторито. Една, най-отгоре;
- сини: правилата. Всяко правило е колона под сторито;
- зелени: примерите. Всеки е под правилото, което показва;
- червени: въпросите. Нещата, които никой на срещата не знае. Стоят отстрани.
За сторито „Като клиент искам да слагам няколко бройки от продукт в количката“ дъската може да изглежда така:
| Правило (синя) | Примери (зелени) |
|---|---|
| Най-много 10 бройки от един продукт | 9 в количката, добавям 1: стават 10 · 10 в количката, добавям 1: отказва се, остават 10 |
| Добавя се поне 1 бройка | добавям 0 бройки: отказва се |
| Въпрос (червена) | Важи ли лимитът и за продуктите в намаление? |
Картите са малки. На една се пише едно нещо, с няколко думи. Така никой не изнася реч, а дъската се вижда цялата наведнъж.
По-точно, за любопитните
Техниката е описана от Мат Уин от екипа на Cucumber в статията „Introducing Example Mapping“ (2015). Той предлага примерите да се назовават кратко, като епизодите на сериал: „онзи, в който Мария плаща с кода два пъти“. Името се запомня по-добре от таблица с числа.
Example Mapping не е в програмите на ISTQB. ISTQB CTFL v4.0.1 говори за същата идея по-общо: критериите за приемане се пишат заедно, а примерите стават приемни тестове (ATDD). Example Mapping е един конкретен начин да се направи.
Идеята
Как върви срещата
На срещата са трима: някой от бизнеса, QA и програмист. Често ги наричат трите амиго (three amigos).
- Слагате жълтата карта със сторито.
- Казвате правилата, които вече знаете. Всяко става синя карта.
- За всяко правило някой пита „дай пример“. Всеки пример става зелена карта под правилото си.
- Когато някой каже „не знам“ или двама не са съгласни, това става червена карта. Не спорите. Записвате въпроса и продължавате.
- Накрая гледате дъската и решавате: готово ли е сторито?
Срещата е около 25 минути. Ако сторито не се подрежда за толкова, това също е отговор: то е твърде голямо или твърде неясно.
Пробвай
Какъв цвят?
Идеята
Какво казва дъската
Дъската показва не само какво знаем, но и колко. Поглед отгоре стига:
| На дъската | Значи |
|---|---|
| много сини карти | сторито носи много правила: твърде голямо, разбий го, често по правило на стори |
| много червени карти | още не знаем какво искаме: неясно, първо отговорите |
| синя карта без нито една зелена | правилото не е разбрано: никой не може да даде пример |
| много зелени под една синя | правилото е сложно и може би е стори само по себе си |
| няколко сини, всяка с примери, малко или никакви червени | готово за работа |
Това е мерило, а не формула. Няма число, от което картите са „много“. Но когато видиш пет сини колони, вече знаеш какво да предложиш.
Пробвай
Подреди дъската за доставката
Сложи всяка карта на мястото ѝ: правило, пример под правилото си или въпрос. После реши какво е сторито.
Като клиент искам безплатна доставка при по-голяма поръчка, за да не плащам 4,90 € за доставка.
За всяка карта натисни „Сложи като…“ и избери: правило (става колона), пример към правило или въпрос. Стрелките местят между изборите, Esc затваря. Може и с мишката: влачи картата до мястото ѝ.
Правила
Още няма правила. Сложи карта като правило и тя става колона.
Въпроси
- Още няма въпроси.
Неподредени карти
Количка без продукти: поръчката се отказва
Количка за 49,99 €: доставката е 4,90 €
Прагът от 50,00 € преди отстъпките ли се смята, или след тях?
Празна количка не се поръчва
Клиентът още не е платил и вижда в количката: „Доставка: 4,90 €“
Клиентът вижда цената на доставката в количката, преди да плати
Доставката е безплатна от 50,00 € включително, иначе е 4,90 €
Количка за 50,00 €: доставката е безплатна
Подредената дъска
- Доставката е безплатна от 50,00 € включително, иначе е 4,90 €
- Количка за 49,99 €: доставката е 4,90 €
- Количка за 50,00 €: доставката е безплатна
- Клиентът вижда цената на доставката в количката, преди да плати
- Клиентът още не е платил и вижда в количката: „Доставка: 4,90 €“
- Празна количка не се поръчва
- Количка без продукти: поръчката се отказва
Въпроси
- Прагът от 50,00 € преди отстъпките ли се смята, или след тях?
Какво е сторито? Готово за работа. Въпросът за отстъпките е един и има кой да го реши: собственикът. Отговорът му става още един пример под първото правило, а работата по останалото може да започне.
Три правила, всяко с пример, и един въпрос. Въпросът е истински: собственикът трябва да реши дали 50,00 € е преди или след отстъпките. Но той не спира работата по останалото, а отговорът му ще стане още една зелена карта.
Идеята
Въпросът не е провал
Червената карта не значи, че срещата е минала зле. Тя значи, че сте намерили нещо, което иначе щеше да излезе на пускането. Въпросът „а ако поръчката се върне?“ на дъската струва пет минути. Същият въпрос след пускането струва дефект, поправка и недоволен клиент.
Най-опасната карта е въпросът, скрит като правило: „приемаме, че кодът не важи за подаръчни карти“. Звучи като решение, но никой не го е взел. Ако не знаеш, пиши червена карта.
Всеки въпрос излиза от срещата с две неща: кой ще отговори и до кога. Често това е собственикът. Понякога е заинтересована страна, която не е била в стаята, например счетоводството.
Упражнение
Дъски от магазина
1. Отстъпките. Сторито от началото на урока.
Сложи всяка карта на мястото ѝ, после реши какво е сторито.
Като клиент искам отстъпка с промо код и за лоялност, за да плащам по-малко.
За всяка карта натисни „Сложи като…“ и избери: правило (става колона), пример към правило или въпрос. Стрелките местят между изборите, Esc затваря. Може и с мишката: влачи картата до мястото ѝ.
Правила
Още няма правила. Сложи карта като правило и тя става колона.
Въпроси
- Още няма въпроси.
Неподредени карти
Лоялен клиент, тениска за 20,00 €: 19,00 €
Дънки в намаление за 40,00 € с ЕСЕН10: пак 40,00 €
Лоялният клиент получава 5 % отстъпка
Ако платената поръчка с кода се върне, може ли кодът да се ползва пак?
Мария е въвела ЕСЕН10, но не е платила: в нова поръчка кодът важи
Промо кодът се ползва в една платена поръчка
Промо кодът дава 10 % отстъпка
Мария вече е платила поръчка с ЕСЕН10: в нова поръчка кодът се отказва
Отстъпките не се сумират: важи по-голямата
Лоялен клиент с ЕСЕН10, тениска за 20,00 €: 18,00 €, не 17,00 €
Промо кодът не важи за намалени продукти
Тениска за 20,00 € с ЕСЕН10: 18,00 €
Подредената дъска
- Промо кодът дава 10 % отстъпка
- Тениска за 20,00 € с ЕСЕН10: 18,00 €
- Промо кодът не важи за намалени продукти
- Дънки в намаление за 40,00 € с ЕСЕН10: пак 40,00 €
- Промо кодът се ползва в една платена поръчка
- Мария вече е платила поръчка с ЕСЕН10: в нова поръчка кодът се отказва
- Мария е въвела ЕСЕН10, но не е платила: в нова поръчка кодът важи
- Лоялният клиент получава 5 % отстъпка
- Лоялен клиент, тениска за 20,00 €: 19,00 €
- Отстъпките не се сумират: важи по-голямата
- Лоялен клиент с ЕСЕН10, тениска за 20,00 €: 18,00 €, не 17,00 €
Въпроси
- Ако платената поръчка с кода се върне, може ли кодът да се ползва пак?
Какво е сторито? Твърде голямо: да се разбие. Пет правила за две различни отстъпки. Промо кодът е едно стори, лоялността друго, а „важи по-голямата“ трето, след тях. Всяко може да се направи и приеме само.
Пет сини колони за две различни отстъпки. Разбиването е готово на дъската: промо кодът (три правила), лоялността (едно) и „важи по-голямата“, след тях. Това е и разбиването по правилата на бизнеса от урока за разбиването.
2. Връщането. Сторито за връщане на продукт.
Сложи всяка карта на мястото ѝ, после реши какво е сторито.
Като клиент искам да върна продукт, за да си получа парите.
За всяка карта натисни „Сложи като…“ и избери: правило (става колона), пример към правило или въпрос. Стрелките местят между изборите, Esc затваря. Може и с мишката: влачи картата до мястото ѝ.
Правила
Още няма правила. Сложи карта като правило и тя става колона.
Въпроси
- Още няма въпроси.
Неподредени карти
Връща ли се продукт, който е разопакован?
Може ли да се върне само един продукт от поръчката?
Връща се само доставена поръчка
Кой плаща куриера за пратката обратно?
Връщат ли се и парите за доставката?
Получена на 1 октомври, заявена на 15 октомври: приема се
Получена на 1 октомври, заявена на 16 октомври: отказва се
Връщане до 14 дни от получаването
Изпратена поръчка, която още не е получена: връщане не се предлага
Подредената дъска
- Връщане до 14 дни от получаването
- Получена на 1 октомври, заявена на 15 октомври: приема се
- Получена на 1 октомври, заявена на 16 октомври: отказва се
- Връща се само доставена поръчка
- Изпратена поръчка, която още не е получена: връщане не се предлага
Въпроси
- Кой плаща куриера за пратката обратно?
- Връщат ли се и парите за доставката?
- Може ли да се върне само един продукт от поръчката?
- Връща ли се продукт, който е разопакован?
Какво е сторито? Неясно: първо отговорите. Правилата и примерите за срока са ясни, но четирите въпроса са за парите и за това какво изобщо се връща. Без отговорите екипът ще ги реши сам, по догадки. Първо при собственика и счетоводството, после работата.
Срокът е ясен, с примери точно на границата: 15 и 16 октомври. Но четирите въпроса са за парите и за това какво изобщо се връща. Отговорите им ще дадат нови правила, може би и нови сторита. Затова първо те, после работата.
Идеята
След дъската
Всеки цвят има следваща стъпка:
- жълтата карта остава сторито. Или се разбива на няколко, ако дъската го каза;
- сините карти стават критериите за приемане;
- зелените стават примерите в критериите. В следващия модул всеки пример става сценарий на Gherkin, а правилото над него става ключовата дума „Правило“;
- червените отиват при този, който може да отговори. Сторито чака, докато се върнат.
Така от 25 минути излиза всичко, което трябва на потвърждението от трите C: правилата, примерите и списък с това, което още не знаем.
Тест
Провери се
Свързани уроци
Раздел „Свързани уроци“- Нужно отпреди: Какво е стори · Доброто стори: INVEST · Разбиване на голямо стори · Критерии за приемане
- Продължава в: Дадено, Когато, То · Рамка на сценарий и Примери · Жива документация · Тестове на ниво компонент
- Задачи по темата: Сторита и критерии за приемане