目的・背景
2018年の「dodaキャンパス」アプリリリース以来、ベネッセ i-キャリア様とアシアルは、学生や企業にとって最適なアプリを目指し、設計・開発・保守運用を二人三脚で進めてきました。
リリースから5年が経過した頃から、急速に進化するスマートフォン環境へ柔軟に対応するため、フレームワーク(アプリの土台となる仕組み)の見直しをする必要性が徐々に生じてきました。2024年、Cordova(コルドバ)からFlutter(フラッター)へとフレームワークを移行する1年に及ぶモバイルアプリ再開発プロジェクトが始動しました。アシアルは、ベネッセ i-キャリア様と緊密に連携しながら開発チームを牽引し、無事リリースするというゴールのために協力して取り組みました。
インタビュー

株式会社ベネッセi-キャリア
新卒プロダクト&マーケティング部 プロダクト企画課
課長/dodaキャンパス プロダクトマネジャー
清水 順一 様
アシアル株式会社
システムコンサルティング事業部
テクニカルディレクター
斉藤 勝也
プロジェクトのきっかけ
フレームワーク移行のきっかけを教えてください。
- 清水様
- 2018年にリリースした「dodaキャンパス」アプリは、Cordovaというフレームワークを採用し長く運用してきました。スマートフォンのアップデートに伴い、アプリ側も継続的に更新する必要があります。その中で、2023年頃、斉藤さんから「Cordovaのままではアプリの更新に課題が生じ、最短で1年後には問題が発生する可能性が高い」と懸念が伝えられました。この問題への対策として、Flutterフレームワークへの移行を決定しました。
プロジェクトのスタートのためにご苦労されたことはありましたか?
- 清水様
- フレームワークの移行プロジェクトは、攻守で言えば「守」にあたります。機能追加のように投入した予算が即座に収益につながるわけではなく、効果が見えるまでに時間がかかります。私は重要性を十分に理解していましたが、社内の関連部署にもその合理性や将来的なメリットを丁寧に繰り返し伝える必要がありました。具体的には、安定稼働の確保、スケーラビリティへの柔軟な対応、社内メンバー増員時にも対応可能な保守性などを含め、バランスの取れた総合的な説明を行いました。関係者に納得を得るため、私はPdM(プロダクトマネージャー)として時間をかけて取り組み、スムーズなスタートを実現しました。
ご不安はありませんでしたか?
- 清水様
- Flutterの選択では、斉藤さんへの信頼感から不安や疑問は全くありませんでした。斉藤さんはとても親しみやすく、何でも気軽に質問できる関係性です。技術的な質問にも、真摯に親身になって答えてくれます。さらに私が参画する以前から「dodaキャンパス」のサーバーサイドを含めた全体を把握されていて、全幅の信頼を置いています。
- 斉藤
- 非常にありがたいお言葉です。「dodaキャンパス」のように多くのユーザーを抱えるアプリの場合、通常はリプレイスの提案も時間がかかるケースが多いのですが、清水様が社内の関連部署に重要性を確実に説明してくださったおかげでスムーズにプロジェクトをスタートすることができました。

プロジェクトの進み方
プロジェクトを進める前に、懸念された点はありましたか?
- 清水様
- 8年目を迎える「dodaキャンパス」は、アジャイル方式(設計・開発・確認を小さな単位で繰り返す柔軟な開発手法)で開発してきました。新卒マーケットは、変化の速度が速く、制度の変更も含めて毎年ニーズが変わるため、マーケットイン方式でシステムをアップデートし続ける必要があるからです。しかし、今回のプロジェクトは、技術基盤に相当し、フレームワークの確実な置き換えが求められるため、ウォーターフォール方式(最初に全体の計画を立て、順番に進める開発手法)での進行が適切だと判断しました。移行対象のアプリが高速に変化し続ける一方で、確実な置き換えを求められることになり、「dodaキャンパス」全体から見ると、進み方の異なるチームが混在することになりました。そうした中、プロジェクトをどのように進めれば、進捗を各所に共有できるのか、有機的な接続法を思案しました。
- 斉藤
- そうした状況に対応するため、私はプロジェクト全体の開発スケジュールや、チームメンバーへの効果的なタスクの割り当てを、事前に時間をかけて検討し入念に準備しました。
- 清水様
- 斉藤さんから全体の計画や具体的なマイルストーンが提示され、全体像が明確に見えたことで安心して任せられると確信しました。

チーム形成で重視したことはどのようなことですか?
- 清水様
- 斉藤さんには、このプロジェクトの開発リーダーとして自走し、ゴールに導くことを期待しました。その実現に向け、必要なタイミングで、最適な素養をもったチームメンバーを構成するために、課題を除くのが私の仕事だと考えました。チーム形成で重視したのは、全員が「楽しみながら」仕事に取り組める環境を作ることです。メンバーは、主体性やコミュニケーションの取りやすさを重視し、テクニカルスキルだけの傭兵的な集団ではなく、心理的にも進めやすい環境になるよう心がけました。私ともう1名の社員、そして斉藤さんにも全ての面談に参加してもらいチームメンバーを決定しました。
- 斉藤
- メンバー選定にはとても時間をかけました。特に面談で人柄を把握するためにじっくりと対話しました。メンバー全員が進めやすい環境を目指してチーム形成を行ったので、技術力はもちろん、コミュニケーションが取れることを重視しました。
開発/テスト/リリースについて
開発やテストはどのように進めたのですか?
- 斉藤
- 2024年1〜3月は調査フェーズとして、2名のメンバーをアサインしました。4月から実装フェーズに移行し、さらに2名が合流、私を含めた5名体制で進めました。フルリモートでの開発だったため、管理面は特に気を配りました。メンバーそれぞれの技術的な強みを引き出せるような配置を意識しました。
- 清水様
- 私の接点の中心は斉藤さんでした。プロジェクト進行中に課題になりそうな点をタイムリーに報告してくれたおかげで、必要な時にメンバーと個別に面談を行うことも可能でした。さらに、斉藤さんからは円滑な開発プロジェクトのための指南書籍を紹介してもらうこともありました。一方で、私からは企業のPdMが求めること、法律面、社内の事業の進め方などをお伝えしました。今後も斉藤さんが他社でリーダーとして活躍する際に役立てばと思ったからです。こうしたコミュニケーションを重ねる中で、信頼関係が一層深まりました。

手応えはいかがでしたか?
- 清水様
- 斉藤さんがJira(ジラ:プロジェクト管理ツール)のガントチャート機能(進捗を把握できる工程表)を活用し、現在の状況や次に進むフェーズなど、全体の動きを視覚的に示してくれました。また、チケット機能(誰がいつ何を行い、その状況がどうなっているかを示すもの)を使って、実施すべきタスクが何件積まれているのかを週次のミーティングで共有してくれました。そのため、プロジェクトが進行していることをエビデンスを持って実感することができ安心感がありました。
- 斉藤
- 10月に、テストフェーズに入るとメンバーが増え7名体制になりました。私はシステム全体を把握していましたが、それをチーム全員に共有するのに苦労しました。また、メンバーが増えたことで管理も一層難しくなり、進捗を効率的に追うため、統計情報を活用する方法を取り入れました。具体的には、Jiraで管理している不具合チケットのグラフ化で、残存数を視覚化して進行状況を全員に共有し、安心につながるようにしました。
切り替えリリースも大変だったのではないですか?
- 清水様
- はい、リリースは9〜11月頃を目標としていました。Flutterのシステムに切り替えるために、ある時点でCordovaのシステムに新たな機能を追加しない「コードフリーズ」を掛ける必要がありました。しかし、この時期は学生がインターンを終え、早期選考へ進む重要な時期に重なります。当社では学生を支援するためにさまざまなイベントを実施しており、アプリ側だけが対応できない状態になることで、関係各所への説明や調整が必要となり、難しい局面を迎えました。一般的に、フレームワークの移行では、切り戻しが発生するような大きなリスクも想定されます。しかし、結果的にFlutterへの切り替えはスムーズに進み、軽微な不具合は多少ありましたが無事に成功させることができました。これはプロジェクトの中で最大の成果だと感じています。その背景には、斉藤さんがテストの前段階で、自身のナレッジを活かし、約2300項目にも及ぶテストを事前に実施していたことがありました。このことは後から知りましたが、そうした徹底した、盤石な準備が成功を支えてくれたのだと実感しました。
- 斉藤
- ありがとうございます。実装段階で、全体の仕様を知る私が1つ1つ動作確認をしました。大きな問題もなくリリースすることができ安堵しました。コードフリーズのタイミングに関して、Cordova側での対応範囲をFlutter側で漏らさないよう注意を払いました。私は「変更管理」と呼んでいますが、差分が出ないようにドキュメントの記録やチケット管理を徹底しました。
今回の内製化支援では特にドキュメント化に注力されたとお聞きしました。
- 斉藤
- はい。プロジェクトの冒頭で、清水様から「dodaキャンパス」のチーム全体でアプリを理解したいというお話がありました。環境構築、デバッグ、アプリリリースサイクルとそのフローなど全てをドキュメント化することに取り組みました。コードの書き方は人によってブレが生じるのでシステムでチェックするようにし、コードレビューやマージ、単体テストもシステム化しました。
- 清水様
- 属人化はリスクにつながるので、チームメンバーが皆、理解できる健全な状態にするのが狙いでした。
内製化支援で大切なこととは?
- 斉藤
- 可能な限りの技術継承を行うこと、そしてブラックボックスを無くすことです。さらにブラックボックスであった部分を明らかにすることで技術的な面白さを伝えたいと考えました。
- 清水様
- リリースを終えて改めて、斉藤さんの想いを感じています。移行の経緯から結果まで一連のドキュメントを残し標準化を実現してくれました。今後何かあればドキュメントさえ読めば当社の誰しもが動かせるようになっています。
プロジェクトを振り返って
プロジェクトを振り返った想いを聞かせてください。
- 清水様
- まずは、斉藤さんを信じて一緒にゴールまで進めたことが本当に良かったと感じています。後から考えると、プロジェクトの後半でもう1名多くアサインできたら、斉藤さんの負荷を下げ、リリースタイミングを前倒しできたかもしれません。今回のプロジェクトのスコープは、「CordovaをFlutterに置き換えること」に限定し、移行を成し遂げました。リリースを終え、次の機能追加や改善に目を向ける今となって、もっとそういった次なる展開について斉藤さんと話し合う時間を取れたら良かったと感じています。次の機会では、リソースや時間の余白を確保して進めたいと思います。
- 斉藤
- 内製化支援を通じて技術継承を行いながら、無事にリリースができたことを本当に嬉しく思います。私も清水様がおっしゃる通り、もっと時間を確保して、さらに多くの会話を重ねたかったと感じております。今回のプロジェクトで得た経験を今後のマネジメントに活かしていきたいと思います。
最後に、「dodaキャンパス」のユーザーの方へのメッセージを聞かせてください。
- 清水様
- ファーストキャリアは、学生にとって非常に重要な体験です。お金を払い学びを得る生活から、アウトプットに対してお金を得る生活へ、全く異なる世界へ飛び込みます。その体験において、私たちは「偶然の出会い」ではなく、「納得感」を大切にしています。学生は「納得感」を持って就職し、企業は「納得感」を持って採用していただきたいのです。本プロジェクトをはじめとする技術的な支援を通じて、学生、保護者、企業にとって「納得感」のある体験を届けていきたいと思います。
※インタビュー実施:2025年1月
再開発プロジェクトのポイント
Cordovaでアプリ開発してから5年が過ぎ技術トレンドも変わり、フレームワークの情報が少なくなってきたことでバージョンアップに時間がかかったり、他の開発者が参加しづらい状況がありました。そこで、アシアルではFlutterで移行をすることで開発者が参加しやすい開発環境を整えました。
アシアルでは以下の点をポイントとしてプロジェクトを進めました。
ルール策定とドキュメント活用
コードのマージルールや、不具合課題の報告フォーマットなど、各人の記載内容に対して、粒度が揃うよう方針を決めました。その中でドキュメントを作成していくのですが、できるだけ一度で明確に意思が伝わることを心がけ、「5W1H」や「ルールと例を書く」など工夫をして進めました。技術継承を行う意味でも、プロジェクトをリーディングする立場としても、必要になる情報をドキュメントとして整備して伝えるという方法は、お互いの会話負荷を下げることや、開発終了後のドキュメント整備などに効果があります。
システムによる自動化
作成するソースコードも多くレビュワーの負荷が高くなることや、デグレーションが起きることなどが想定されます。例えば、Lintチェック実行、ユニットテスト実行、カバレッジ確認は、プルリクエスト作成時にシステムが自動的に実行し、それが通らないとマージしないというルールにしました。それによって、プルリクエストを作成したメンバー自身が気づくことができるようになりレビュワーの負荷が下がりました。他にも不具合曲線を自動的に描く仕組みを取り入れるなど、負荷を下げながらも精度の高いプロジェクト進行を実現しました。


お気軽にお問い合わせください。