Issue Intake Note перетворює тикет на вхід для дослідження

Issue Intake Note — короткий проміжний документ між сирим тикетом і технічним розслідуванням. Його мета — не описати всю архітектуру, а зробити проблему зрозумілою без постійного повернення до issue.

Нотатка має показувати межі знань. Незаповнене питання або явно позначене припущення — корисніший результат, ніж упевнена, але непідтверджена причина.

ПолеЩо фіксувати
ПроблемаЩо ламається або чого бракує
ВпливХто стикається з проблемою та які наслідки
ПідтвердженняКроки відтворення, логи, скриншоти, stack trace
ВимогиЯку спостережувану поведінку потрібно отримати
ПрипущенняПравдоподібні, але ще не доведені твердження
Відкриті питанняЩо потрібно уточнити до планування
Поза межамиЩо навмисно не входить до цієї задачі
РизикиЯкі контракти, інтеграції або сценарії можна зачепити

Факт, причина, вимога та пропозиція — різні речі

  • Симптом — те, що можна спостерігати, наприклад серверна помилка на конкретному input.
  • Причина — висновок, підтверджений дослідженням; згаданий у тикеті файл спочатку є лише гіпотезою.
  • Вимога — потрібний результат системи, а не назва класу чи методу для зміни.
  • Припущення — твердження, яке потребує перевірки, навіть якщо воно здається очевидним.
  • Пропозиція автора — корисна стартова ідея, але не обовʼязкове технічне рішення.

Приклад intake для checkout

У цьому шаблоні гіпотеза про total calculation не видається за доведену причину. Відкритий контрактне питання також не закривається вигаданим статусом: його потрібно перевірити в коді, тестах або вимогах.

Стисла Issue Intake Note
Problem: empty items list causes a server error
Impact: customer cannot complete checkout
Evidence: reproducible request and service-layer trace
Requirement: handle the state predictably without a server crash
Hypothesis: total calculation reads an absent first item
Open question: expected API status and error body
Out of scope: checkout redesign and non-empty orders
Risk: clients may depend on the current error format

Підготовка intake до plan mode

  1. Прочитайте issue, коментарі, labels і вкладення.
  2. Витягніть спостережувані факти без технічних висновків.
  3. Запишіть вплив і кроки відтворення.
  4. Відокремте вимоги, припущення та запропонований у тикеті фікс.
  5. Додайте non-goals, відкриті питання та ризики.
  6. Перевірте, що наступний інженер зрозуміє проблему без усного пояснення.

Перевірка готовності нотатки

  • Проблема описана через спостережувану поведінку.
  • Користувацький або системний вплив зрозумілий.
  • Докази не змішані з припущеннями.
  • Межі задачі та основні ризики позначені.
  • Невідомі питання названі прямо.
  • Є зрозумілий наступний крок: read-only investigation.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush