Migration discovery: знайти точку старту
Migration discovery — це read-only збір фактів про source state, target intent і межі переходу. До першої зміни потрібно знати хоча б affected runtime, build, dependencies, deployment/configuration boundaries, integrations і спосіб перевірити behavior.
Точка старту — це конкретний revision, environment або pilot slice, від якого можна відтворити baseline. Якщо revision, owner або критичний input невідомі, це потрібно записати як Unknown, а не замінити припущенням.
Питання discovery та evidence anchors
| Питання | Де шукати evidence | Confidence | Наступна перевірка |
|---|---|---|---|
| Який source runtime і target runtime? | build files, CI, deployment docs | high / medium / low | звірити фактичний запуск і owner |
| Які компоненти залежать від source? | dependency manifests, imports, lockfiles | high / medium / low | побудувати affected graph |
| Які інтеграції мають contract? | API schema, clients, tests, logs | high / medium / low | обрати representative scenario |
| Яка точка старту доступна? | Git revision, environment, artifact | confirmed / unknown | зберегти baseline reference |
| Що не можна підтвердити read-only? | missing docs, inaccessible systems | unknown | призначити owner або stop condition |
Межі migration discovery
- не оновлюйте dependencies лише тому, що target version здається очевидною;
- не оголошуйте компонент compatible без source, target і evidence anchor;
- не вважайте список package names повним описом runtime behavior;
- не ховайте недоступні production або vendor facts за словом «перевірено»;
- не переходьте до pilot, якщо немає rollback або способу порівняти output.
Порядок роботи з точкою старту
- Визначте один migration slice і сформулюйте source-to-target intent.
- Зберіть repository, build, runtime, integration і deployment evidence.
- Зафіксуйте revision, environment assumptions і доступні baseline checks.
- Випишіть knowns, assumptions, unknowns та owner для кожного важливого питання.
- Позначте stop conditions, після яких analysis або pilot потрібно призупинити.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush