「一人ひとりの、暮らしの『まよい』を『よかった』に。」というミッションを掲げ、引越し比較・予約サイトの「引越し侍」や、結婚式場検索サイトの「ハナユメ」といった、人生のイベントや日常生活に密着したWebサービスを多数展開する株式会社エイチームライフデザイン。
ゆめみは今回、同社が提供する「引越し侍」の開発チームの取り組みにおいて、「サーバー技術支援」としてコードやアーキテクチャのレビュー、ペアワークなどを実施し、リファクタ・リアーキテクトのサポートをいたしました。
2006年にスタートした「引越し侍」は、ユーザーが依頼フォームに入力した内容をもとに、複数の引越し業者から相見積もりを提供するという「引越し一括見積もりサービス」や、Web上で引越し業者を比較・予約できる「引越し予約サービス」を展開しています。
そして、2021年には「ITの力で引越しの手間を解消する」をコンセプトに、新たに引越しDXプロジェクトを開始し、「引越しネット予約サービス」や、LINEで使える「引越しやることリスト」をリリースしました。
同社が本プロジェクトを進める中では、「引越し侍」の開発組織において長年積み重ねてきた体制を見直す動きがあり、スクラム開発の導入や、高い技術力が求められるモダンな技術構成への刷新なども行われてきました。
特に技術刷新においては、当時、同社では採用事例が少なかったGo言語やReact、GraphQLといった技術選定を行い、学習コストの高さから開発初期は苦労が多かったといいます。
その後、開発メンバーの入れ替わりや組織再編によって、あらためて最適な技術環境になっているかを確認する必要性が生じたという背景から、2023年5月より、ゆめみが「サーバー技術支援」として壁打ちをしながら伴走させていただきました。
アーキテクチャの構成や実装を同社に行っていただき、ゆめみからは課題に対する解決策、今後の展望を含めた提案などお伝えさせていただきました。
具体的には、主にGo言語で構成されている現行システムのソースコードを確認し、アーキテクチャのレビューや、ペアワークによる技術的な支援を実施しています。
株式会社エイチームライフデザイン
デザイン開発本部 引越しプロダクト開発部
リードエンジニア
小堀 輝
2006年から運営する「引越し侍」ではいわゆるレガシーな技術が使われており、長年の運営で大量のコードが蓄積されていることから、メンテナンスが難しい状態になっていました。そのため、2021年からスタートした引越しDXプロジェクトでは、スクラム開発の導入と並行して、技術面も抜本的に刷新しています。
その際、開発生産性や安全性が高い状態にしたいという思いを優先し、当時、弊社では採用事例が少なかったGo言語やReact、GraphQLといった技術選定をしました。それによって、高い技術力が求められるモダンな構成にチャレンジする形になったので、苦労した場面も多かったです。
フロントエンド領域に関しては、社内にリードできる人が在籍していたため、極端にアーキテクチャが崩れるということはありませんでした。しかし、バックエンド領域に関しては、書籍を通して学習していたものの、理解不足により、レイヤードアーキテクチャという新たなアーキテクチャに順応できず、徐々に負債が溜まっていくという状況でした。
また、当時は開発人員も多かったため統率が取れず、アーキテクチャが崩れたり、短い開発期間で無理をした部分も多くありました。
その後、2022年2月の組織再編でエイチームライフデザインが誕生した際に、既存メンバーの入れ替わりでメンテナンスできる人がいなくなるという事態になったり、新たな開発メンバーが加わりにくい技術環境になっていたりしたことから、元々あった問題がより顕在化してしまいました。
そこで、ゆめみさんに入っていただいて、第三者視点で技術的なレビューをしていただきながら、私たちのチームに合う正攻法を見つけていくこととなりました。
私が特に懸念していたのは、将来的なメンバーの異動によってシステムの安全性が揺らいでしまうことだったため、オンボーディングがしやすいアーキテクチャの提案や、オンボーディングプログラムの作成をサポートしていただきました。
また、ゆめみさんのご支援の中で印象的だったのは、完成品を納品していただくとか、単に正解を教えるという姿勢ではなく、「これはどう思いますか?」といったように私たち自身で考える瞬間を多く与えていただいたことでした。このような本質的なサポートによって、チームとして大きく成長する機会につながったと感じています。
さらに、私たちは元々専門書でしっかりと学習して、数多くの勉強会も実施していましたが、やはり分からない者同士が集まって勉強するのと、一人でもきちんと理解をしている人が加わるのとでは、習得スピードに大きな違いがあるなと体感しました。
そういった点で、様々なケースにおける知見を持たれているゆめみさんに加わっていただき、私たちのプロダクトの場合はどうするのが良いかを一緒に考えていただけるのは、書籍による学びだけでは得られない魅力があると思っています。
今後は、ゆめみさんからいただいたノウハウを会社全体に広げていきたいと考えています。また、私個人としては、支援を通じてアーキテクチャにより興味を持つようになったため、今回、学んだことを他のシステムにどのように取り入れていくかも考えていきたいと思っています。
[サーバー技術支援における両社でのミーティングの様子]
今回、サーバー技術支援に携わった、ゆめみ サーバーサイド・リードエンジニア / 遠藤 大輔のコメントは以下の通りです。
今回のプロジェクトにおいては、ご相談いただいた当初から非常に高い問題意識をお持ちになられており、共同作業の中でエイチームライフデザイン様のエンジニアの方々が、プロジェクトにとって何が重要な部分なのかを、技術支援を通してとても集中して模索されていたのが印象的でした。
今回、比較的難易度の高い支援内容でしたが、それでも着実に実力として吸収されており、複雑度の高い仕様を前にしても、とても楽しそうに取り組まれていたのを覚えています。
全体を通して教える/教えられるという立場ではなく、課題解決のための一助となり、サービスに向き合うためのお手伝いができたことを喜ばしく思います。
サーバー技術支援
・引越し侍