API contracts мають витримувати version skew
Mobile clients не оновлюються одночасно. Backend changes повинні залишатися compatible зі старими app versions або мати явне versioning.
Request/response schemas — це contracts. Перед видаленням старої поведінки вимірюйте distribution версій client.
Offline behavior описується явно
Offline — не checkbox. Визначте, які actions queue, що cache, скільки живе data, як вирішуються conflicts і що бачить user.
Sync потребує IDs, retries, deduplication та conflict semantics. Без цього offline перетворюється на data corruption.
Auth і local state мають бути secure
Tokens зберігаються у platform secure storage, sensitive data мінімізується, logout/revocation працюють прогнозовано.
Authorization залишається server-side. Прихована кнопка в app не є security boundary.
Telemetry має бачити product і engineering
Crash rate недостатньо. Потрібні startup, API errors, sync failures, latency, battery/network cost і business funnel events.
Release може бути технічно стабільним і водночас ламати conversion.
Staged rollout і kill switches
Mobile release не можна миттєво rollback. Використовуйте phased rollout, remote config і server-side flags.
Release gates мають включати crash-free users, ANR/hangs, backend error delta і funnel health.
Тестуйте lifecycle, а не лише screens
Failures з’являються на rotation, backgrounding, process death, permission changes, expired tokens та interrupted sync.
Automation має покривати state restoration і critical workflows через lifecycle transitions.