Upgrade to Pro — share decks privately, control downloads, hide ads and more …

15年続くオフラインファーストアプリの データをどう引き継ぐ? App Groupsで考えた設...

15年続くオフラインファーストアプリの データをどう引き継ぐ? App Groupsで考えた設計と判断

DroidKaigi・iOSDC アフターイベント
大規模リニューアルの本音を語る会
https://dip-dev.connpass.com/event/405334/
開催日時:2026/10/8(木)
スパイダープラス株式会社登壇資料

More Decks by スパイダープラス株式会社

Other Decks in Technology

Transcript

  1. そこで検討した方針 (A)旧アプリで一括自動送信 (B)App Groupsで移行 見送り❌ 採用 - 大量データ・写真の 送信負荷と通信待ち時間の 予測が難しい

    - 意図しないデータ更新事故 によるデータ喪失のリスク - 同じデベロッパーのアプリ 同士で保存領域を共有する 仕組みを採用することで サーバーの経由が不要 - 新旧アプリのDBをSQLite に統一し、フレームワーク に依存せずデータを扱える 7
  2. ところが調査を進めると 可変なデータ 複数の保存形式 多数のデータパターン 検査データの大部分が 可変Dictionary型で 扱われ、構造化されてお らず、サーバー同期や 特定の操作でデータの要 素が変わる。

    検査種別によって 独自の保存形式や ディレクトリ構造で データが保存されてお り調査の精度や正確性 の担保が難しい。 長年の改修や顧客ごと の実行環境・サーバー 設定に依存する機能に よって、多数のデータ パターンが発生。 「移行すべきデータが全部で何種類あるか」を 正確に把握できない状態 8
  3. このままデータ移行を進めるなら (A)データを構造化して移行 (B)既存のままデータを移行 把握しきれなかったデータを移行 から取りこぼす。 データは構造化されず、 保存形式・ディレクトリ構成も統 一されない。 →データ欠損や不整合などの 重大インシデントのリスク

    ※調査・テストでリスクを低減で きるが、ゼロにはならない。 →15年分の技術負債が新アプリに 引き継がれてしまう。 「安全な移行」と「技術負債の解消」の両立ができず 旧アプリからのデータ移行は見送りに 9
  4. カスタマーサポートチームと対応を検討 移行案内Webページ 起動時の誘導 トップ画面のバナー サーバー同期による データの移行方法や 注意点などをまとめた Webページをカスタマー サポートチームで作成。 最適なタイミングで

    アプリ起動時に 移行案内のページへ 誘導するダイアログを 表示する。 ダイアログを閉じた後 からでも同じ案内を 再度確認できるように 動線を設計。 技術的にどう移行するか ↓ ユーザーが次に何をすればいいか分かること 13