Backlog Refinement і AI: що реально змінюється
Практичний розбір того, як AI змінює Backlog Refinement: що прискорюється, де з'являються ризики, як перерозподіляється час команди і що потрібно перевіряти вручну.
Не вдалося завантажити це зображення.Це перша стаття із серії про те, як AI змінює класичні зустрічі крос-функціональної команди розробки. Нижче я почну з Backlog Refinement, а в наступних матеріалах окремо розберу Planning, Daily, Review, Retrospective і потім зберу все в підсумкову оглядову статтю.
Відразу уточню рамку: нижче я говорю про refinement як про регулярну командну сесію і практику уточнення backlog items, а не обов'язково як про окрему офіційну Scrum-подію. Це важливо для точності термінів: у Scrum Guide 2020 (RU PDF) refinement описано як ongoing activity, а не як самостійний event. У російській версії Scrum Guide 2020 ця думка сформульована прямо: уточнення Product Backlog — це постійна діяльність з додавання деталей, порядку та розміру.
Backlog Refinement — одне з перших місць, де AI починає приносити команді цілком відчутну користь. Він допомагає швидше зібрати контекст, підготувати чернетку постановки, швидко згенерувати чернетку критеріїв приймання, знайти схожі кейси і сформулювати список відкритих питань. Такий тезис уже підтримується і більш прикладними роботами: наприклад, у LLM-Assisted Requirements Engineering in Agile MDD окремо валідували генерацію acceptance criteria, а в індустріальному кейсі Acceptance Test Generation with Large Language Models користувачі зазначали, що AI-сценарії допомагали помічати раніше пропущені випадки. Але саме тому тут особливо легко потрапити в пастку: переплутати добре оформлену чернетку з дійсно зрозумілою задачею.
На мою думку, AI не спрощує refinement у тому сенсі, що команді тепер потрібно менше думати. Він радше здешевлює найважчу ручну роботу навколо нього — пошук, зведення, пакування і первинну декомпозицію. А отже, цінність самого командного обговорення не зникає, а зміщується: менше часу йде на те, щоб зібрати з хаосу щось схоже на задачу, і більше — на те, щоб зрозуміти, чи можна це взагалі брати в роботу.
“AI прискорює не саму домовленість команди, а підготовку матеріалу до неї”
Чому саме на Backlog Refinement зміни відчуваються насамперед
Якщо подивитися на звичні командні ритуали і зустрічі в Agile-практиці, refinement виявляється одним із найчутливіших до появи AI. Причина досить проста: навколо refinement історично було багато ручної інтелектуальної рутини. Потрібно зібрати розрізнений контекст із документів, старих тікетів, листувань і пам'яті людей. Потрібно перетворити сиру бізнес-ідею на зрозумілий backlog item. Потрібно сформулювати проблему бізнесу, сценарій, критерії приймання, обмеження, відкриті питання, залежності та можливі граничні випадки.
Саме в цей шар AI потрапляє особливо добре. Це добре узгоджується і з тим, як сьогодні обговорюють застосування LLM у requirements engineering: моделі сильні в сумаризації, первинній структуризації вимог, генерації чернеток і підтримці аналітичної підготовки, але слабші там, де потрібні доменна точність, трасованість і відповідальність за остаточні рішення. У цьому сенсі refinement дійсно стає одним із перших процесів, де користь AI відчувається швидко, а межі його надійності — майже одразу. Про це добре пишуть і в огляді Challenges in applying large language models to requirements engineering tasks, і в свіжому систематичному огляді Large Language Models (LLMs) for Requirements Engineering (RE): A Systematic Literature Review, і в більш прикладній роботі LLM-Assisted Requirements Engineering in Agile MDD.
Як refinement виглядав до AI
Якщо спростити, до AI refinement дуже часто був процесом ручного збирання розуміння. У backlog потрапляла не готова задача, а радше бізнес-намір: покращити onboarding, додати нагадування, дати менеджеру новий звіт, скоротити кількість прострочених звернень. Після цього Власник продукту, аналітик або хтось із лідів починав вручну збирати контекст: піднімалися старі звернення клієнтів, схожі фічі, обмеження поточної архітектури, чинні статуси, наявні сповіщення, UI-патерни і все інше, що могло раптово спливти вже в обговоренні.
Далі ця сама людина або пара людей вручну намагалися перетворити зібране на перший чернетку: сформулювати проблему бізнесу, описати сценарій, написати критерії приймання, винести відкриті питання й позначити можливі обмеження. Але навіть якщо такий чернетка вже існував, зустріч усе одно часто йшла на те, щоб підняти контекст у голову всієї команди. Власник продукту знову пояснював, чого хоче бізнес, аналітик розповідав, що вже вдалося з'ясувати, розробники піднімали архітектурні обмеження, QA витягував граничні сценарії, дизайнер і фронтенд обговорювали, чи потрібен окремий екран і де він взагалі буде жити.
Один і той самий кейс: без AI і з AI
Щоб не залишатися на рівні загальних формул, візьму конкретний кейс. Продукт — B2B LMS-платформа для корпоративного навчання. Великі клієнти призначають співробітникам обов'язкові курси з compliance, безпеки та внутрішніх регламентів. Від бізнесу надходить запит: потрібно додати автоматичні email-нагадування співробітникам, які не завершили обов'язковий курс до дедлайну.
На перший погляд це виглядає як просте завдання про надсилання листа. Але вже на перших кроках стає зрозуміло, що насправді тут багато розвилок: кого саме вважати таким, що не завершив курс, коли надсилати нагадування, як дедуплікувати відправлення, як це налаштовується клієнтом, чи потрібен лог відправлень, що робити з time zone, яку мову листа брати і чи потрібно виключати archived і деактивованих користувачів.
У режимі без AI команда приходила до цих питань переважно через довгу ручну підготовку й об'ємну розмову на самій зустрічі. Спочатку Власник продукту піднімав клієнтський контекст. Потім аналітик руками йшов по внутрішніх матеріалах: шукав старі схожі запити, дивився сервіс повідомлень, перевіряв поточні статуси assignment'ів, наявність задач планувальника, поля мовного налаштування й часового поясу. Уже на цьому етапі випливали реальні обмеження: у системі є email-шаблони, але лише для транзакційних листів; часовий пояс зберігається на рівні клієнта, а не користувача; логів відправлення немає; окремої моделі нагадувань у продукті теж немає.
Після цього аналітик вручну збирав перший чернетку постановки, але він усе одно залишався незрілим. Наприклад, у ньому могли бути не зафіксовані точні статуси, за якими потрібно слати нагадування, логіка дедуплікації, мінімальний обсяг робіт для UI, fallback за мовою або межі першої версії. А вже на самому refinement команда дозбирала задачу прямо під час розмови. Саме там з'ясовувалося, що нагадування потрібні лише для обов'язкових курсів, що статуси not_started і in_progress підходять, а expired краще не брати в першу версію, що без журналу відправлень підтримка й команда супроводу клієнтів швидко потонуть у питаннях, а без окремого захисту будуть дублі при повторному запуску задач планувальника.
У режимі з AI той самий кейс виглядає інакше. Власник продукту завантажує в AI-короткий резюме від команди супроводу клієнтів, останні клієнтські звернення й сирий вихідний запит. AI швидко групує болі клієнтів, виділяє повторювані очікування й допомагає оформити формулювання проблеми. Аналітик просить AI підняти все, що пов'язано з потоками повідомлень, статусами призначень, задачами планувальника, мовним налаштуванням, часовим поясом і схожими задачами в Jira. Бекенд заздалегідь проганяє через AI опис поточної архітектури повідомлень і просить запропонувати технічний підхід. Фронтенд і дизайнер швидко перевіряють, куди логічніше вбудувати налаштування й історію відправлень. QA піднімає стартовий список граничних випадків і часових ризиків.
Тут зазвичай виникає природне питання: а що, якщо AI щось упустив? Наскільки взагалі можна вірити такому короткому резюме, особливо коли база джерел велика? Дослідження й практичні кейси тут дають досить тверезу картину: LLM дійсно можуть прискорювати генерацію користувацьких історій, чернеток критеріїв приймання й первинних постановок, але якість результату сильно залежить від вхідного контексту, домену й подальшої людської перевірки. Тому корисно тримати в голові й більш прикладні роботи на кшталт AI-Generated User Stories: Are They Good Enough? і LLM-Assisted Requirements Engineering in Agile MDD: вони добре показують, що генерація сильного чернетки й готовність до розробки — не одне й те саме.
За моїм досвідом роботи з Cursor, у прикладних сценаріях я досить рідко сумніваюся в тому, що модель здатна зібрати потрібний перший прохід по великому масиву джерел. Набагато важливіше інше: наскільки добре я сформулював задачу, які обмеження задав, які уточнювальні питання встиг додати і як саме організував перевірку результату. Коли в мене виникає сумнів, я не намагаюся розв'язати його питанням «вірю чи не вірю AI» — я просто доуточнюю запит, прошу окремо показати джерела, винести спірні місця, розділити факти й припущення або перезібрати відповідь з іншою рамкою. У цьому сенсі робота з AI дуже схожа на коучинг: корисний навик ставити точні питання, які не просто запускають генерацію, а спрямовують мислення моделі в потрібний бік.
Це, звісно, мій особистий досвід, а не універсальне правило. Можливо, я окремо напишу ще один матеріал саме про довіру до AI, якість уточнювальних питань і керовану перевірку результату. Для refinement це особливо важливо: чим більша база джерел і чим переконливіше коротке резюме, тим вищий ризик переплутати сильну підготовку з уже перевіреним розумінням.
“Чим більша база джерел і чим переконливіше коротке резюме, тим вищий ризик переплутати сильну підготовку з уже перевіреним розумінням”
У результаті команда приходить на refinement уже не з сирою ідеєю, а з досить сильною заготовкою: є чернетка користувацької історії, чернетка критеріїв приймання, відкриті питання, список ризиків, попередній технічний підхід і UI-пропозиція. Тому сама зустріч стає коротшою і предметнішою. Команда вже не витрачає стільки часу на підняття базового контексту і обговорює переважно спірні місця: чи включати expired, чи робити окремий часовий пояс на користувача, чи потрібен журнал відправлень у першому релізі, чи обмежитися фіксованими тригерами, як захиститися від дублів і що вважати межами першої версії.
У чому полягає прогрес команди?
Коли команда тільки починає використовувати AI, він переважно працює як швидкий генератор першої чернетки. Але в міру зрілості наступний логічний крок — перестати працювати лише із загальною моделлю і почати поступово переносити в керований контекст команди те, що раніше жило тільки в пам'яті людей. Це можуть бути продуктові принципи, шаблони критеріїв приймання, часті причини відхилення задачі на refinement, типові граничні випадки, архітектурні обмеження, набір типових уточнювальних питань, внутрішні регламенти організації, Definition of Ready і Definition of Done на рівні організації та команди, а також приклади хороших рішень за схожими кейсами.
Тоді якість першої чернетки справді починає зростати. Не тому, що модель раптом “зрозуміла домен сама”, а тому, що команда навчилася системно вивантажувати в неї власні патерни мислення, внутрішні обмеження і правила перевірки. І тут refinement стає не лише місцем перевірки задачі, а й місцем, де команда поступово навчає свій власний AI-шар.
Що змінюється за ролями
Нижче корисно дивитися не лише на ролі як на абстрактні функції, а й на конкретні дії в змодельованому кейсі з нагадуваннями про обов'язкові курси. Саме так різниця між режимом без AI і з AI стає помітною по-справжньому.
| Роль | Без AI | З AI |
|---|---|---|
| Власник продукту | Піднімає клієнтський контекст вручну, зводить запити команди супроводу клієнтів, заново пояснює бізнес-проблему на зустрічі. | Готує знеособлений вхід, просить AI згрупувати болі клієнтів, приносить на зустріч чернетку формулювання проблеми і список спірних продуктових рішень. |
| Бізнес-аналітик | Шукає схожі кейси, вручну збирає статуси, обмеження, залежності і потім переписує все в першу чернетку постановки. | Організовує запит до AI за джерелами, звіряє коротке резюме з джерелами, редагує критерії приймання, фіксує відкриті питання і те, що модель могла оминути. |
| Бекенд-розробник | Часто вперше глибоко вникає в проблему вже на refinement, піднімає обмеження сервісу сповіщень і ризики дублів прямо по ходу обговорення. | До зустрічі отримує перший прохід за техваріантами, заздалегідь перевіряє дедуплікацію, задачі планувальника, audit trail і межі першої версії. |
| Фронтенд-розробник | На зустрічі разом з дизайнером намагається зрозуміти, чи потрібен окремий екран, де жити налаштуванням і що справді входить у мінімальний UI. | До зустрічі дивиться AI-чернетку UI-вбудови, заздалегідь відзначає спірні місця щодо налаштувань, станів і обмежень інтерфейсу. |
| Інженер з якості / QA-інженер | Підключається переважно на зустрічі, витягує негативні сценарії, статусні колізії і часові ризики вже в загальній розмові. | До зустрічі отримує стартовий список граничних випадків, перевіряє, що AI не оминув дублі, часові зони, мовні fallback-сценарії та винятки за статусами користувачів. |
| UX/UI-дизайнер | Розбирається в задачі по ходу обговорення і на місці прикидає, чи потрібен новий екран, блок налаштувань чи історія відправлень. | Швидко тестує разом із фронтендом кілька варіантів UI-підходу і приходить уже з осмисленою пропозицією, а не з нуля. |
| Скрам-майстер | Збирає учасників, дотримується таймінгу, допомагає не загубитися в хаотичному піднятті контексту і повертає команду до суті, коли обговорення розповзається. | Менше витрачає часу на організаційну механіку та вирівнювання базового контексту, більше — на фасилітацію спірних рішень, фіксацію відкритих питань і контроль якості обговорення. |
Плюси, ризики та вивільнений час
Користь AI у refinement досить відчутна. Швидше збирається контекст, швидше з'являється чернетка задачі, простіше стартує обговорення і краще упаковуються підсумки. Але саме в refinement ризики AI теж проявляються дуже рано. Найочевидніший ризик — хибна ясність. AI вміє робити охайні backlog items, які добре виглядають візуально і структурно. Через це команді простіше обманути себе відчуттям, що задача вже зрозуміла, хоча в ній досі залишаються продуктові й технічні діри.
Тут корисно називати речі своїми іменами. По-перше, це упередженість автоматизації і надмірна залежність — схильність приймати рекомендацію системи надто охоче і переходити від активної перевірки до більш пасивного моніторингу. У профілі NIST для генеративного ШІ це прямо описується як надмірна довіра до AI-систем, а в емпіричному дослідженні Automation Bias in AI-Decision Support: Results from an Empirical Study показано, що висока сприймана користь системи може підвищувати хибну згоду з її помилками, тоді як якість навчання користувачів знижує ймовірність такого ефекту. По-друге, це галюцинація моделі — правдоподібний, але не підтверджений джерелами висновок. Для refinement це особливо критично, тому що AI майже завжди працює через сумаризацію документів, тікетів і листувань, а отже ризик не лише в “гарній, але вигаданій чернетці критеріїв приймання”, а ще й у тихому спотворенні вихідного контексту. Саме тому в refinement AI частіше помиляється не в стилі тексту, а у фактах контексту — і цей ризик добре описано в роботі On Faithfulness and Factuality in Abstractive Summarization. Практична протиотрута тут досить проста: просити модель відокремлювати факти від гіпотез, вимагати посилання на джерела і будувати коротке резюме так, щоб його можна було швидко розібрати назад до документів, тікетів і рішень команди.
Є й ще один шар ризику — дані. У кейсі вище AI працює з клієнтськими зверненнями, внутрішніми описами системи і користувацькими сигналами. Тому команді важливо заздалегідь домовитися, що взагалі можна передавати моделі, а що не можна. Для generative AI ризик не обмежується лише промптом: персональні дані можуть опинитися у вході, у виході і навіть через memorization/regurgitation моделі. Тому, якщо в роботі фігурують персональні дані або чутливий клієнтський контекст, базові принципи гігієни даних мають бути обов'язковими: мінімізувати обсяг даних у промптах, за можливості знеособлювати вхід, не тягнути в модель сирий експорт без фільтрації, явно розуміти мету обробки і не приймати на віру заяви провайдера на кшталт «ми не обробляємо персональні дані» або «модель анонімна» без перевірюваних організаційних і технічних контролів. Окремо корисно заздалегідь зафіксувати правову підставу обробки, мінімально необхідний набір полів, ролі й відповідальність усередині процесу, а там, де це застосовно, — вимоги до інформування суб'єктів даних. Якщо сценарій включає персональні дані і масштаб або ризики помітні, має сенс заздалегідь оцінити, чи потрібна DPIA, і окремо зафіксувати це рішення. У європейському контексті це добре узгоджується і з принципами GDPR Article 5, і з практичними рекомендаціями CNIL по AI system development, а також з EDPS guidance on Generative AI і EDPB Opinion 28/2024.
І тут виникає ще одне важливе питання: куди йде вивільнений час фахівців. Найпростіший варіант — спробувати запхати в нього ще більше задач. Більш зрілий — вкласти цю економію в якість рішень, зменшення технічного боргу, розвиток внутрішніх шаблонів, навчання, документацію і хоч би краще управління увагою команди. У фінальній оглядовій статті серії я окремо розповім про те, що AI змінює не лише процес, а й культуру використання командного часу.
Нові приховані витрати, які не можна ігнорувати
Щоб розмова про ефективність не виглядала надто гладкою, важливо додати і зворотний бік: AI рідко дає “чисту економію” без нових типів роботи. Частина часу тепер іде на підготовку даних, налаштування доступу до джерел, підтримку промптів і шаблонів, перевірку джерел, документування рішень і людську перевірку. Такий погляд добре узгоджується і з практиками risk management для generative AI: наприклад, профіль NIST для генеративного ШІ робить акцент не лише на вигоді автоматизації, а й на необхідності oversight, documentation і управлінського контролю.
Сценарна оцінка трудовитрат на один Backlog Refinement (сценарно)
Нижче — не “середня температура по ринку”, а сценарна модель одного й того самого Backlog Refinement для однієї й тієї самої команди з семи осіб: PO, BA, бекенд, фронтенд, QA, designer і Скрам-майстер. Це оцінка одного великого або помітно невизначеного backlog item, а не маленької добре зрозумілої story. Цінність цих цифр не в точності до хвилини, а в порівнянні структури витрат: куди йшов час раніше і куди він іде тепер.
Далі йдеться саме про людино-години на один великий backlog item — підготовка, обговорення і коротке доопрацювання після зустрічі, — а не про тривалість самої зустрічі як такої. Сама зустріч зазвичай теж скорочується, але частина роботи просто переїжджає в асинхронну підготовку, уточнювальні прогони і обов'язкову ручну перевірку.
Примітка до розрахунку трудовитрат: історично в Scrum Guide 2017 (RU PDF) refinement також описувався як ongoing process, і там траплявся орієнтир, що він зазвичай займає не більше 10% доступної ємності команди розробки. В Scrum Guide 2020 (RU PDF) цього орієнтира вже немає, тому таблицю нижче краще читати не як норматив, а як сценарну модель для порівняння двох режимів роботи.
Важливо окремо пояснити: колонка «З AI» нижче вже включає базову нову роботу, без якої цей сценарій не працює — підготовку вхідних даних, уточнювальні запити, первинну перевірку короткого резюме, верифікацію спірних місць і мінімальну людську перевірку. Тобто фінальний профіт у таблиці — це не “брудна” економія до врахування нових витрат, а вже більш реалістична сценарна оцінка після їх базового включення.
Щоб ця оцінка була відтворюваною, її зручно рахувати за простою схемою: TAI = Tbase × ((1 − p) + p × s) + o, де Tbase — час без AI, p — частка роботи, що прискорюється, s — коефіцієнт прискорення на цій частині, а o — нова робота на підготовку даних, уточнювальні запити і перевірку результату.
Нижче — калібрований приклад саме під цей базовий сценарій. Його завдання не довести універсальну норму, а показати, як та сама модель може відтворити цифри з таблиці для одного конкретного кейсу. У реальній команді такі параметри краще відкалібрувати за 3–5 останніми Backlog Refinement і потім отримати вже свій діапазон.
# Calibrated to reproduce the table (base scenario)
# T_ai = T_base * ((1 - p) + p * s) + o
roles = {
"PO": {"T_base": 4.5, "p": 0.75, "s": 0.20, "o": 0.7},
"BA": {"T_base": 10.0, "p": 0.70, "s": 0.20, "o": 0.6},
"BE": {"T_base": 3.5, "p": 0.75, "s": 0.20, "o": 0.6},
"FE": {"T_base": 3.0, "p": 0.75, "s": 0.20, "o": 0.3},
"QA": {"T_base": 3.0, "p": 0.50, "s": 0.20, "o": 0.2},
"UX": {"T_base": 3.0, "p": 0.50, "s": 0.20, "o": 0.2},
"SM": {"T_base": 2.5, "p": 0.50, "s": 0.20, "o": 0.0},
}
def t_ai(x):
return x["T_base"] * ((1 - x["p"]) + x["p"] * x["s"]) + x["o"]
total_base = sum(r["T_base"] for r in roles.values())
total_ai = sum(t_ai(r) for r in roles.values())
print("Total base:", round(total_base, 1))
print("Total AI:", round(total_ai, 1))
print("Gain:", round(total_base - total_ai, 1))
for role, x in roles.items():
print(role, round(t_ai(x), 1))
| Роль | Без AI | З AI (з урахуванням нової роботи) | Що змінюється |
|---|---|---|---|
| Власник продукту | 4.5 год | 2.5 год | Швидше збирає клієнтський контекст, але витрачає частину часу на підготовку входу і уточнювальні запити |
| Бізнес-аналітик | 10 год | 5 год | Менше ручного пошуку і переписування, більше верифікації, редактури і перевірки того, що AI не упустив важливе |
| Бекенд-розробник | 3.5 год | 2 год | Швидше отримує перший техрозбір, але окремо перевіряє обмеження архітектури і ризик дублів |
| Фронтенд-розробник | 3 год | 1.5 год | Швидше оцінює UI-вбудову і налаштування, при цьому раніше включається в перевірку спірних місць |
| Інженер з якості / QA-інженер | 3 год | 2 год | Раніше отримує граничні випадки і часові ризики, але сильніше залучається до перевірки пропусків і негативних сценаріїв |
| UX/UI-дизайнер | 3 год | 2 год | Швидше збирає перший варіант UI-підходу і заздалегідь відсікає зайві варіанти інтерфейсу |
| Скрам-майстер | 2.5 год | 1.5 год | Менше часу на організаційне вирівнювання контексту, більше — на фасилітацію рішень і фіксацію відкритих питань |
| Разом | 29.5 год | 16.5 год | Сценарний профіт — близько 13 людино-годин на одному такому Backlog Refinement вже після врахування базової нової роботи |
Діапазон сценарію: як може змінюватися профіт
| Сценарій | Без AI | З AI | Чистий профіт | Коли так буває |
|---|---|---|---|---|
| Обережний | 24–28 год | 18–21 год | 4–10 год | Джерела неповні, багато ручної перевірки, команда тільки вибудовує шаблони роботи з AI. |
| Базовий | 28–32 год | 15–18 год | 10–15 год | Приблизно так виглядає змодельований кейс: AI добре прискорює підготовку, але нова робота на верифікацію вже врахована. |
| Сильний | 30–36 год | 14–17 год | 13–19 год | У команди хороші джерела, повторювані шаблони і зрозумілі правила гігієни даних і ручної перевірки. |
Яка нова робота вже врахована в сценарії з AI
Таблиця нижче не скасовує підсумковий профіт з першої. Вона просто розшифровує, за рахунок яких нових дій частина зекономленого часу повертається назад у процес — і чому навіть після цього чистий ефект все одно залишається помітним.
| Нова зона роботи | Що з'являється з AI | Навіщо це потрібно |
|---|---|---|
| Підготовка вхідних даних | Очищення, знеособлення, вижимка потрібного контексту | Щоб не перевантажувати модель сміттям і не потягнути зайві дані |
| Уточнювальні запити | Повторні прогони, уточнення рамки відповіді, прохання розділити факти і припущення | Щоб не приймати першу гарну відповідь за фінальне розуміння |
| Налаштування шаблонів | Промпти, шаблони постановок, правила формату результату | Щоб AI видавав корисний, повторюваний чернетковий варіант, а не випадковий текст |
| Перевірка фактів | Перевірка посилань на джерела, термінів, статусів і обмежень | Щоб ловити галюцинації моделі і хибну ясність до зустрічі |
| Документування довіри | Фіксація, що саме перевірили вручну і чому результату можна довіряти | Щоб команда не підміняла відповідальність гарним чернеткою |
Відмінності за етапами
| Етап | Без AI | З AI |
|---|---|---|
| Збір контексту до зустрічі | Довгий ручний пошук за документами, тікетами та пам'яттю людей | Перший прохід за джерелами і коротке резюме робляться помітно швидше |
| Чернетка постановки | Пишеться вручну і часто залишається сирою | Є сильна заготовка, яку команда може критикувати і уточнювати |
| Сам Backlog Refinement | Багато часу йде на вирівнювання розуміння | Фокус зміщується на спірні рішення, залежності та межі першої версії |
| Доопрацювання після зустрічі | Часто доводиться переписувати постановку майже заново | Підсумки вже добре упаковані і потребують менше ручного доопрацювання |
Чек-лист якості AI-підготовки до refinement
Важливо: цей Definition of Ready — внутрішня практика команди, а не частина Scrum Guide. Тут він потрібен як захист від хибної ясності, пропусків і розмитої відповідальності в AI-підготовці.
Definition of Ready для AI-чернетки
- Відокремлено факти від припущень: команда розуміє, що взято з джерел, а що запропоновано моделлю.
- Є посилання або зрозумілі вказівки на джерела для ключових продуктових і технічних тверджень.
- Відкриті питання не сховані під акуратним текстом, а винесені явно.
- Перевірено доменні терміни, статуси, обмеження, ролі та залежності.
- Для кожного ключового твердження зрозумілий рівень доказовості: це факт з джерела, робоча гіпотеза чи припущення моделі.
- Окремо перевірено граничні випадки, негативні сценарії та часові ризики.
- Зрозуміло, які дані не можна було передавати моделі і які заходи гігієни даних були застосовані.
- Призначено власників перевірки за типами тверджень: бізнес-логіка, архітектурна реалізовність, тестованість і робота з даними.
- Команда домовилася, що AI-чернетка — це сировина для обговорення, а не майже готова задача.
Щоб цей чек-лист не залишався надто абстрактним, ось як він виглядав би в нашому кейсі з email-нагадуваннями:
- AI пропонує включити статуси
not_started,in_progressіexpired— команда явно позначає, щоexpiredпоки залишається гіпотезою, а не підтвердженим правилом для першої версії. - У короткому резюме сказано, що повідомлення потрібно надсилати за часовою зоною користувача — бекенд звіряє це з джерелами і підтверджує, що в поточній системі часова зона зберігається лише на рівні клієнта, а переходи між часовими поясами і DST треба окремо перевірити.
- AI додав історію надсилань як “очевидну” частину рішення — Власник продукту і BA окремо вирішують, це обов'язкова частина першої версії чи покращення наступного релізу, бо тут є ще й питання аудиту та навантаження на підтримку.
- QA отримує не просто список граничних випадків, а конкретне завдання перевірити дублі при повторному запуску задач планувальника, мовні fallback-сценарії, винятки для archived і деактивованих користувачів та негативні сценарії навколо дедлайнів.
- Backend окремо перевіряє rate limits, throttling, deliverability і те, як система поведеться при повторних надсиланнях і помилках провайдера.
- PO і BA додатково валідують політику повідомлень: кому можна надсилати нагадування, де потрібні opt-out або клієнтські винятки, і що вважається допустимою поведінкою для обов'язкових курсів.
Для такого кейсу корисно окремо проговорити і дві практичні речі, які часто спливають уже ближче до продакшену: deliverability швидко перетворюється на навантаження на підтримку і команду супроводу клієнтів, якщо немає нормальної діагностики “чому лист не дійшов”, а quiet hours і календарні вікна нерідко виявляються не “додатковою опцією”, а корпоративною вимогою клієнта.
Хто що перевіряє вручну
| Що перевіряємо | Хто власник | Приклад у кейсі LMS |
|---|---|---|
| Мета і продуктова політика | PO і BA | Кому і коли надсилати нагадування, які винятки допустимі, де проходять межі першої версії. |
| Коректність правил і статусів | BA | Які статуси вважаються “не завершив”, що робити з expired і де це вже підтверджено джерелами. |
| Архітектурні обмеження | Бекенд-розробник | Дедуплікація, задачі планувальника, ідемпотентність, журнал аудиту, rate limits і поведінка при повторних надсиланнях. |
| UI-межі першої версії | Фронтенд-розробник і UX/UI-дизайнер | Де живуть налаштування, чи потрібен окремий екран історії і які сценарії інтерфейсу реально входять у першу версію. |
| Негативні та часові сценарії | Інженер з якості / QA-інженер | DST, часові зони, мовні fallback-сценарії, винятки archived і деактивованих користувачів, а також дублі при повторному запуску задач планувальника. |
| Фасилітація рішень і відкритих питань | Скрам-майстер | Що вже вирішено, що залишається спірним і де команда має ухвалити усвідомлений компроміс. |
| Data hygiene і допустимість даних | PO/BA і, якщо є, Security або DPO | Що можна передавати моделі, що має бути знеособлено і які перевірки обов'язкові перед запуском AI-підготовки. |
Що я б рекомендував команді
- Не вважати AI-чернетку готовою задачею лише тому, що вона добре виглядає.
- Явно домовитися, які частини контексту команда зобов'язана перевіряти вручну до зустрічі, а які — вже на самій зустрічі.
- Поступово переносити в командний AI-шар власні продуктові та процесні патерни, а не лише використовувати загальний чат «як є».
- Не скорочувати refinement механічно лише тому, що підготовка стала швидшою.
- Усвідомлено вирішувати, куди йде вивільнений час: у якість, навчання, документацію, техборг чи відновлення уваги команди.
Окремо важливо пам'ятати про межі застосовності цього сценарію. Ефект AI буде дуже різним залежно від зрілості документації, доступності внутрішніх джерел, доменної складності продукту і того, наскільки команда вміє перетворювати неявні знання на повторюваний контекст. Там, де вихідні дані слабкі, AI може прискорювати упакування, але не обов'язково покращувати якість рішень.
Висновок
Якщо зовсім коротко, то головний ефект AI для refinement я би сформулював так: AI прискорює не саму домовленість команди, а підготовку матеріалу до неї. Саме тому refinement стає швидшим на вході: швидше збирається контекст, швидше з'являється чернетка, швидше виявляються базові питання та ризики, швидше упаковуються підсумки.
Але це не робить refinement автоматично простішим. Тому що щойно вартість підготовки падає, зростає цінність того, що AI поки не вміє робити по-справжньому добре: розуміти домен, відчувати реальні обмеження, помічати хибну ясність, дбайливо поводитися з даними і допомагати команді приймати усвідомлені компроміси.
Тому найкращий спосіб дивитися на AI в refinement такий: він прибирає частину дорогої ручної роботи навколо практики, але робить ще важливішою людську перевірку сенсу. Чим простіше стало виробляти backlog items, тим важливіше стало розуміти, які з них справді готові до обговорення, а які просто добре виглядають. А вже в наступних статтях серії буде цікаво подивитися, як цей зсув впливає не лише на процес, а й на культуру використання командного часу.
Джерела та орієнтири
- Scrum Guide 2020 (RU PDF)
- Scrum Guide 2017 (RU PDF)
- Challenges in applying large language models to requirements engineering tasks
- AI-Generated User Stories: Are They Good Enough?
- LLM-Assisted Requirements Engineering in Agile MDD
- Large Language Models (LLMs) for Requirements Engineering (RE): A Systematic Literature Review
- On Faithfulness and Factuality in Abstractive Summarization
- Automation Bias in AI-Decision Support: Results from an Empirical Study
- Examining human reliance on artificial intelligence in decision making
- профіль NIST для генеративного ШІ
- EDPB Opinion 28/2024 on certain data protection aspects related to AI models
- EDPS guidance on Generative AI (2025)
- GDPR Article 5
- CNIL: AI system development recommendations
