Тикеты и user stories: As a, I want, so that

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

Тикет — единица работы в трекере, и в англоязычной практике у него есть устоявшиеся форматы, которые помогают писать так, чтобы задачу поняли без созвона. Для задач, идущих от пользователя, используют user story по шаблону As a , I want , so that : As a support agent, I want to export a user's order history so that I can share it with finance. Три части отвечают на вопросы «кто», «что» и «зачем», и последняя важнее всего: без so that невозможно оценить, решает ли задачу другое решение. К истории прилагаются acceptance criteria — критерии приёмки, часто в формате Given / When / Then: Given a user with 50k orders, when I click Export, then a CSV downloads within 10 seconds. Иерархия: epic — крупная цель на несколько спринтов, story / feature — законченная ценность для пользователя, task — техническая работа, subtask, spike — исследование с ограничением по времени, bug, chore / tech debt — обслуживание, improvement / enhancement. Поля: title / summary — заголовок, description, assignee — исполнитель, reporter — автор, priority, story points / estimate — оценка, sprint, labels / tags, components, fix version, due date, status, resolution, linked issues: blocks / is blocked by, relates to, duplicates, is caused by. Definition of ready — критерии готовности задачи к разработке; Definition of done — готовности к закрытию. Хороший заголовок называет результат, а не действие: Export order history to CSV, а не Work on export. Хорошее описание содержит контекст (Why), ожидаемый результат (What), границы (Out of scope), ссылки на дизайн, обсуждения и связанные тикеты. Глаголы: to groom / to refine the backlog — уточнять бэклог, to estimate, to point (let's point this story), to split — разбить, to carry over — перенести на следующий спринт, to prioritize, to deprioritize, to close as won't do, to reopen, to move to in progress, to hand off.

Как произносится

Ticket /ˈtɪkɪt/, story /ˈstɔːri/, epic /ˈɛpɪk/, acceptance criteria /əkˈsɛptəns kraɪˈtɪəriə/ («крайтИэриэ», множественное число; единственное criterion), assignee /əˌsaɪˈniː/ (ударение на последний слог), reporter /rɪˈpɔːrtər/, estimate как существительное /ˈɛstɪmət/, как глагол /ˈɛstɪmeɪt/, sprint /sprɪnt/, backlog /ˈbæklɒɡ/, groom /ɡruːm/, refine /rɪˈfaɪn/, spike /spaɪk/, chore /tʃɔːr/, enhancement /ɪnˈhɑːnsmənt/, priority /praɪˈɒrəti/, prioritize /praɪˈɒrɪtaɪz/, resolution /ˌrɛzəˈluːʃən/, due date /djuː deɪt/, subtask /ˈsʌbtɑːsk/, scope /skoʊp/, benefit /ˈbɛnɪfɪt/ (ударение на первый слог), stakeholder /ˈsteɪkhoʊldər/.

Как употребляется

Заголовки: хорошо — Add CSV export for order history, Fix 500 on coupon codes with spaces, Investigate slow search on large tenants (spike, 2 days); плохо — Export, Bug, Something with search.

Фразы: Can you split this story? It's too big for one sprint. — Разбей историю, она не влезает в спринт. What's the acceptance criteria for done here? — Какие критерии приёмки? Let's point it: I say a five. — Оценим: я за пять. This is blocked by INFRA-42. — Заблокировано INFRA-42. Carrying it over to the next sprint. — Переносим на следующий спринт. Out of scope for this ticket; I've opened #130. — Вне рамок этого тикета, завёл #130. Moving to In Review. — Перевожу в ревью. Closing as won't do; product deprioritized it. — Закрываю как «делать не будем», продукт снял приоритет.

Ловушки

Первая ловушка — user story без so that: без выгоды невозможно принять решение о приоритете и альтернативах. Вторая — заголовок-действие вместо результата: Work on export ничего не говорит о готовности. Третья — criteria как единственное число: criteria уже множественное, one criterion. Четвёртая — assignee с ударением на второй слог. Пятая — русское «постановка задачи» переводить как task setting: по-английски task description, ticket, spec. Шестая — groom the backlog: термин устаревает из-за побочных значений, многие команды перешли на refine. Седьмая — estimate как обещание: в англоязычной практике оценка отделена от обязательства (commitment), и фраза it's an estimate, not a deadline обычна. Восьмая — писать тикет для себя: тикет читает будущий инженер без контекста, поэтому ссылки и Why обязательны.

Связанные понятия

Полезные ресурсы