FlutterKaigi 2026(2026年10月29日)スポンサーセッションの登壇資料です。
■ このトークで話すこと
昨年のFlutterKaigiで、私は「顧客価値をSLO/KPIで定義し、Flutterで設計を逆算する」話をし、「長期的なキャリア支援プラットフォームへ」という挑戦を掲げました。
今年はその挑戦を実際に進めた話です。
新卒と中途を一つのアプリに統合する開発で直面した課題を、どんな技術でどう解き、どうなったかまで、課題→技術→結果でお話しします。
■ 前提
新卒と中途はもともと別アプリでしたが、一貫してキャリアを支えるために2026年に一つのアプリへ統合しました。
いまは1アプリ・1リポジトリで、登録動線までは共通、その先は基本的に事業ごとに分かれます。
共通部分の変更は両方に影響します。
これを、各自が既存プロダクトの責任者を兼ねる少人数のチームで開発しています。
このあとの手法は、すべてこの「1リポジトリ・少人数・共通部分あり」という前提の上に成り立っています。
■ 課題1:2つの事業を、一つのアプリで開発する
【課題】根幹の体験は新卒でも中途でも共通で作りたい一方、事業フェーズの違う中途と新卒では必要な機能も計画も違う。共通と個別が入り混じった開発を一つのプロジェクトで進めるのが難しい。
【解決】アプリの中を層で分け、共通の体験と事業ごとの機能を切り分けて扱えるようにした。機能が増えても各層の責務が崩れないことを狙ってこの形にした。
【結果】共通体験と事業別機能を、それぞれの計画で並行して足せるようになった。
■ 課題2:開発とリリースが、互いを止めないようにする
【課題】1アプリ・1リポジトリにしたことで、片方の開発が他方のリリースを止め、コンフリクトが増え、片方の不具合が全体に響く。
【解決】developを常にリリース可能に保つブランチ運用と機能フラグでブロックとコンフリクトを抑え、何かあればRemote Configのフラグで公開を止め、検証してから広げられるようにした。
【結果】チーム間でリリースがブロックし合う状況を減らせた。
■ 課題3:リリースした後に、次の改善点を決められるようにする
【課題】リリースした後のアプリの動作、操作の速さ、使われ方が見えないと、不具合の原因も次に改善する点も決められない。
【解決】Flutter側でブレッドクラムとAPIエラーの分類、操作ごとの待ち時間とjank、画面遷移のイベントを送り、計測できるようにした。
【結果】不具合の原因を切り分け、次の改善点と次に改善する画面を決められるようになった。
■ まとめ
個々の技術の使い方ではなく、顧客に届けたい体験(事業の課題)を起点に技術を選ぶ考え方。
昨年は単体アプリの体験品質で示したこの考え方を、今年は複数の事業を一つに統合する構造レベルに広げました。