Thankful Registryが大規模リニューアル 5xRubyと共に「技術的負債」を解消
Thankful Registryが大規模リニューアル 5xRubyと共に「技術的負債」を解消
ユーザーが「ギフトリスト」を作成して家族や友人と共有できるギフトレジストリープラットフォームThankful Registryは、今年で10周年を迎えました。ユーザーにより良いサービスを提供するため、Thankful Registryは5xRuby(五倍紅寶石)に、これまでで最大規模となるウェブサイトのリニューアルと最適化を委託し、Rubyの技術的な強みを活かして、ユーザーにより便利な体験を届けています。

画像出典:Thankful公式サイト
「ギフトレジストリー」という考え方は海外で長年親しまれており、結婚式や誕生日、パーティーなどでよく利用されています。ユーザーがギフトレジストリープラットフォームでウィッシュリストを作成し、家族や友人が代金を支払ってギフトを選んで贈るという仕組みは、高い人気を集めています。Thankful Registryはギフトにとどまらず、企業の募集や労働力のクラウドファンディングなど、より楽しいサービスにも展開しており、ユーザーはプラットフォームを通じて草刈りや荷物の運搬など、さまざまな手伝いを募ることができます。5xRubyのテクニカルリードであるKT氏は、今回のリニューアルではフロントエンドからバックエンドまで踏み込んだ見直しを行い、特にプライバシー保護と決済システムを強化したと話します。
ウェブサイトを全面刷新し、長年放置されてきた「技術的負債」を解消
Thankful Registryのユーザー数が増えるにつれ、ウェブサイトの「技術的負債」も徐々に表面化してきました。KT氏は三つの問題を挙げます。一つ目は、サービスの利用に特にログインが不要で、これまで大量のアカウント登録を防ぐボット対策も設けていなかったため、バックエンドの会員リストの多くが「無効」なデータになっており、チームはその整理に多くの時間を費やしました。二つ目は、クライアント側のチームの人員が限られている中、旧管理画面のほとんどを手作業で管理する必要があり、時間的なコストがかかっていたことです。三つ目は、料金体系がサブスクリプション制であるにもかかわらず、ユーザーが期間満了後に更新する際、システムの判定によって二重に課金されてしまい、手動で返金しなければならなかったことです。

画像出典:Thankful公式サイト
技術的負債は、多くのスタートアップのウェブサイトや新サービスが運営開始から3年以上経った頃に徐々に気づく問題であり、最初からすべてを把握して計画することは困難です。KT氏によると、Thankful Registryから技術的な要件を受け取った後、チームは長年手が入っていなかった部分の再構築に取り組みました。まず会員データの移行とデバッグを行い、会員のメールアドレス収集の仕組みを改善して、管理画面で詳細に分類し、レポートを自動生成できるようにしたうえで、古いデータベースを削除してシステムをスムーズに動作させました。続いて決済システムのロジックを整理し直し、国をまたぐ税額換算の難題を克服して課金方法を明確にするとともに、ユーザーが気にかけるプライバシーの問題も全面的にチェックしました。そのほかバックエンドの細かな問題についても、あわせて最適化を行いました。
リニューアル後は「長期的な保守運用」こそが鍵
バックエンドシステムの最適化に加え、Thankful Registryのウェブサイトのフロントエンドも全面的に刷新されました。5xRubyのプロジェクトマネージャーであるCircle氏は、その中の課題の一つを紹介します。新しいサイトのコーディングは、線や余白といった細部に至るまでデザインカンプと完全に一致させる必要がありました。ユーザーにまったく新しい印象と最高の体験を届けたいという思いに応えるため、5xRubyのチームは全力で取り組みました。Circle氏によると、多くのクライアントは必ずしも技術畑の出身ではないため、認識を合わせるには何度もやり取りが必要になります。「この点については、ドキュメントで補足するだけでなく、図やビジュアルを使って認識をすり合わせ、双方の理解が一致するようにしています。」と、コミュニケーションのずれを極力減らしています。
今回Thankful RegistryのリニューアルにRubyを採用したことについて、KT氏はその利点も語っています。新しいウェブサイトはシステム構造が大幅に改善されたため、今後の機能拡張や変更も随時ずっと容易になり、「使い捨て」のサイト構成ではなくなったといいます。同氏によれば、市場のウェブ開発会社の90%はサイトの完成後、その後の保守や検討を行いません。一方、5xRubyが重視しているのは長期的な計画であり、基盤となるアーキテクチャから厳しい基準を設け、開発過程の品質を管理しています。この姿勢は5xRuby社内の人材選びにも表れており、優れた開発者を採用し、そのプロフェッショナリズムと責任感を通じて、お客様により良いサービスを提供しています!