Delegation починається з ownership
Паралельна робота ефективна лише тоді, коли заздалегідь визначено, хто відповідає за область, які файли дозволено змінювати, що заборонено чіпати, коли агент зупиняється та який результат передає далі.
Найкраще, коли один файл або модуль має одного власника. Спільні DTO, утиліти й контракти не варто одночасно редагувати в різних потоках.
| Вісь поділу | Коли доречна |
|---|---|
| Файли | Невеликі зміни з малою кількістю спільних залежностей |
| Каталоги / модулі | Ізольовані частини системи |
| Шари | Стабільний API між ними |
| Сценарії | Функціональність природно ділиться за потоками |
| Артефакти | Окремі ролі створюють plan, code або report |
| Ризикові зони | Платежі, авторизація, міграції |
Delegation brief із пʼяти частин
Scope: що дозволено змінювати
Preserve: які контракти зберегти
Don’t touch: що заборонено чіпати
Stop when: конкретна умова завершення
Return: артефакти, evidence і статус Розділіть види роботи
| Роль | Що робить | Типова межа |
|---|---|---|
| Дослідник | Читає код і збирає підтвердження | Без змін |
| Планувальник | Фіксує рішення й контракт | Plan artifact |
| Виконавець | Вносить зміни | Визначена зона |
| Reviewer | Незалежно перевіряє diff | Без production edits |
| Tester | Запускає перевірки або змінює tests | Лише погоджені test-файли |
| Людина | Інтегрує та приймає рішення | Фінальна відповідальність |
Умови завершення мають містити докази
Фрази «зроблено» або «все працює» недостатні. Обмеження мають бути реалістичними: надто жорсткий ліміт diff може перешкодити виконанню задачі.
- конкретна команда або тест;
- список дозволених змінених файлів;
- обмеження на обсяг diff;
- результат smoke-check;
- посилання на файли чи рядки;
- невирішені ризики й open questions.
Порядок інтеграції задайте до старту
- Зафіксуйте plan і delegation contract.
- Стабілізуйте спільні API або інші контракти.
- Виконайте backend і frontend у межах власних областей.
- Передайте обʼєднаний пакет незалежному reviewer.
- Запустіть технічні gates і перевірте evidence.
- Залиште merge та остаточний scope людському owner.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush