Goal ще не задає межі

Goal описує бажаний результат, але не визначає дозволену зону роботи. `Scope` задає функціональну область, `Non-goals` фіксують свідомо відкладене, а `Affected area` дає стартову карту компонентів, які можуть бути залучені.

БлокРоль
ScopeЩо дозволено змінювати
Non-goalsЩо навмисно не змінюється
Affected areaДе шукати повʼязану реалізацію та перевірки

Scope у трьох вимірах

  • Користувацький потік: де людина починає і завершує сценарій.
  • Точки зміни: UI, контролер, сервіс, модель, таблиця, подія або API.
  • Супровідні артефакти: тести, документація та контракти подій.
Scope для refund-request
## Область змін
- форма створення повернення в адмінпанелі
- сторінка перегляду деталей
- збереження необов’язкового поля
- подія refund.created
- відповідні тести та опис контракту події

Non-goals — свідомі межі

  • не змінювати правила автоматичного й ручного схвалення;
  • не торкатися платіжного провайдера;
  • не перебудовувати звʼязок між support-ticket і поверненням;
  • не виконувати загальний рефакторинг сервісу;
  • не форматувати сторонні файли без потреби.

Affected area — карта для дослідження

  • форма повернення та екран деталей;
  • контролер і сервіс повернень;
  • модель або таблиця refunds;
  • подія refund.created;
  • тести основного сценарію;
  • внутрішня документація щодо payload.

Перевірка меж перед реалізацією

  1. Переконайтеся, що Scope не охоплює весь модуль без пояснення.
  2. Перевірте, що Non-goals називають конкретні заборонені зміни.
  3. Переконайтеся, що UI-зміна враховує збереження, читання та події, якщо вони потрібні.
  4. Попросіть Claude спочатку назвати кандидатні області без внесення змін.
  5. Якщо зʼявилися нові вимоги, оновіть TASK_SPEC.md до продовження роботи.

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

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