App Router移行とWebアプリケーション開発の同時進行を支援した株式会社ギックスの事例
Next.js
株式会社ギックス
Mygru Div. Leader 堀越 豪様
【主に使用している技術】
React / Next.js / TypeScript / GraphQL / PandaCSS / Firebase / RadixUI / Vercel / Storybook
---
「あらゆる判断を、Data-Informedに。」を理念に掲げる株式会社ギックス様。戦略コンサルティングとアナリティクスを融合し、あらゆる判断をデータも用いて行えるよう支援することで、クライアント企業の経営課題解決を実現されています。ちょっと社はギックス様が提供している、商業施設・観光事業向けキャンペーンツール「マイグル」の開発をお手伝いしています。
ご依頼の内容や経緯について、ギックスの堀越様に、当社エンジニアの大増と和田を交えてお話をおうかがいしました。
プロダクト開発を止めずにApp Routerへ移行
ご依頼いただいた経緯を教えてください
堀越
ギックスは「あらゆる判断を、Data-Informedに。」を理念として、コンサルティングとアナリティクスを融合したデータ分析から様々な解決策を提供しています。しかしながら、解決策の中にはお客様にとって多くの時間と費用が必要になるものもあります。そこで、私たちの提案が実現できるアプリを作ろうとしたことが「マイグル」開発の始まりです。
最初のうちはお客様の要望に合わせてスクラッチで作っていました。それから汎用の機能を作り、様々なニーズに対応するためのパーツ開発を進めるようになりました。でも我々はコンサルティングから始まった会社なのでエンジニアが多いわけではありません。プロダクト開発の本流とは別で、各パーツの開発を進めるにはリソースが不足していました。
また、Webフレームワークとして「Next.js」を採用していたのですが、ちょうどApp Routerの出るタイミングでした。新しい技術には可能な限りトライしたい思いもあり、Pages Routerからの移行も含めて支援していただけるパートナーを探していました。
その中で、ちょっと社を選ばれた決め手は何だったのでしょうか?
堀越
活発に外部発信されていたことが大きいです。X(旧Twitter)での代表の小島さんの投稿や、社員の皆さんが執筆しているZennの記事もよく目にしていて、書かれている内容から確かなスキルがあるのではないかと感じていました。
フロントエンドに特化している御社であれば、個人のエンジニアスキルだけでなく横のつながりや知見も活かせます。ベースとしてのスキルを持っている方をチームに迎えられ、品質の担保やその後のアップデートにも追従できる体制が作れると思ったのが理由です。
スムーズな移行が実現した理由
App Routerへの移行にはどのような課題を感じていましたか?
堀越
App Routerへの移行は事業上の理由というよりも、将来を見越して必要だと感じていました。ビジネスニーズに応える開発を優先すべき中で社内リソースは埋まっていましたが、それを理由にApp Routerへの移行を止めることは選択肢にありませんでした。
開発を進める中で、よりモダンな技術で組んでいくことに意義を感じていましたし、技術的負債になりそうな部分を見直す良い機会になりそうだったため、まずは移行からお願いしました。
具体的にはどのように進めていったのでしょうか?
大増(ちょっと社エンジニア)
既存のマイグルが動いている状態での移行でしたので、とにかくエラーを出さないことが最優先でした。使用しているAPIはなるべく変えずにコードを書きつつ、整合性をとりながら移行を進めていきました。
和田(ちょっと社エンジニア)
コードの量が多かったこともあり、二人でお互いにキャッチアップしながら進めていきましたよね。App RouterがStableになったばかりだったので情報が少なかったことや、バグに遭遇することもあり、調査に時間がかかるケースもありました。
堀越
こちらとしてはエラーやバグに関してや、既存コードに対する確認などで時間がとられることはなく、お二人で適切に進めていただいた印象です。まだApp Routerの情報が少ない中で大変だったと思いますが、それを感じさせずに対応していただけたことはとてもありがたかったです。
大増
弊社がVercel(Next.jsの開発元)とパートナーシップを結んでいることもあって、Vercel側に直接報告や確認できることも大きかったです。App Routerへの移行を進められていない企業がたくさんある中で、モダンな技術や最新バージョンを採用していることは、今後より優位性が出てくると思っています。
業務のやりとりはすべてフルリモートで行ったとお聞きしました
堀越
ギックスはフルリモートに加えてフルフレックス制度を採用しているので、リモートでのコミュニケーションで助かっています。
和田
同じく弊社もフルリモート、フルフレックスなので相性が良いのかなと思います。基本的にはSlackやNotionを使って連絡やタスクの管理をしています。また、毎朝15分程度の朝会(オンラインミーティング)をしているので、その際に進捗報告や、タスクの詳細確認などのコミュニケーションをとっています。こうしてオフラインでお会いするのは2回目です。(笑)
フルリモートコミュニケーションで高品質が担保されている
ちょっと社に依頼して良かったと感じたことはありますか?
堀越
やはりフルリモートでのやりとりだけで細かい部分まで汲み取っていただけるところです。アプリ内のパーツ開発においても、私から「ユースケースとしてこんなことが実現したいです」と少し大まかに相談したことに対しても、ベストプラクティスな方法で、ソースに基づいてコーディングしてもらえています。
お願いするタスクに関してはなるべく詳細に記載したいと思いつつも、詳しく書きすぎると自分でコーディングした方が早くなりますし、コードレビューに関しても1から10まで確認するとなるとやっぱり自分で書いているのと同じになります。
経験の浅い方や、まだ技術的に未熟なエンジニアの方の場合は「とりあえず動くもの」を作ってこられることもあるのですが、御社の場合はライブラリやリポジトリ、イシューを確認した上で、ちゃんと考えられたコードが書かれていますし、常に品質が担保されているのでレビューも短時間で済んでいます。
大増
ありがとうございます。これまではサイト制作の依頼が比較的多かったのですが、おかげさまで最近ではWebアプリケーション開発の依頼も増えています。弊社としても開発する機会の少なかった領域になりますので、楽しみながら取り組めていますし、ありがたく思っています。
よりチャレンジングな開発領域へ
今後ちょっと社にどんなことを期待されていますか?