ラクスル株式会社

Rubyを使うことで1ヶ月半でサービスをフルリプレイスしたハコベル

ラクスル株式会社には印刷ECの「ラクスル」と物流サービスの「ハコベル」という2つの核になるサービスが存在している。その1つハコベルは、パソコンやスマホで荷物を運びたいと考えているユーザーと運送業者をマッチングするサービスで、2015年12月よりサービスを開始しており現在事業拡大中である。 ラクスルとハコベルには、遊休資産を有効活用し仕事を生み出すというビジネスモデルの共通項が存在している。社名にもなっている印刷ECの「ラクスル」では印刷会社の遊休資産や印刷機の空き時間を活用して高品質で低価格な印刷サービスを提供している。このラクスルモデルを運送業界に活用したのがハコベルだ。

運送のハコベル
印刷ECのラクスル

β版を運用中にPHPでの開発からRuby on Railsに移行

ハコベルでは開発言語にPHP、Webアプリケーションフレームワークにcodeigniterを利用して開発されていたが、サービスのβ期間中にRuby on Railsを選択しリプレイスすることを決定した。経緯について、現在ハコベルを担当している蟻塚氏は以下のように説明する。

ラクスル社の蟻塚氏

「私がハコベルの担当を開始したがの2015年9月頃なのですが、当時ハコベルのソースコードは設計に一貫性がない部分が多々見受けらるような状態でした。エンジニアの人的資源の関係から、ラクスルとの兼任エンジニアや外部パートナーを活用して入れ替わり立ち代わりのメンバーで開発を行なっていたからです。そのような環境で開発されたハコベルのβ版は、運用段階でシステム不具合が発見されることも多くなりました。正式リリースまであまり時間がありませんでしたが、コード量も少ない今しかないと思いRailsでリプレイスをしてリリースすることを決めました」

リリース時のrake stats(ラクスルのテックブログより)

「Railsの規約やエコシステムに沿ったシステム設計のほうが自由度が高いcodeigniterよりもシンプルに書け管理も楽になります。またJavaやScalaといった堅い言語と比較するとRailsのほうが素早く開発できる利点があり、今回はRailsが1番良い選択でした。運送業界と印刷業界の商習慣では共通のロジックが多くあり、私自身ハコベルに来る前にラクスルを担当していた経験が役に立っています。ラクスルでの設計経験を活用しながらハコベルのサービスをRailsのシステムに落とし込みました」

ハコベルとラクスルの技術的負債

これまでラクスル社はスタートアップ企業としてスピードを最重要視した経営を行ってきたが、サービスの規模が大きくなりステークホルダーが増えるに従って、顧客が望むサービスを常時安定して届けることの重要性を感じている。

「システム運用の質を上げる為、この1、2年程で大きくソースコードのリファクタリグを実施しています。ハコベルにしてもラクスルにしても当初はテストコードすらなかったような状態で、私が入社した当時のコードは人に自慢できるようなものではなかったです。採用の応募者に対して弊社のソースコードの現状を説明しながら、このようなコードですが大丈夫ですか。という確認をするなんていうこともありました。しかしながら、その状況は現在変わりつつあります」

同社では、ウォータフォール型からアジャイル開発を取り入れた開発手法への移行を推し進めている。2016年10月からは、ソフトウェア開発支援のPivotal Lab社と協力して、アジャイルソフトウェア開発文化を社内に取り込むための活動も実施中だ。

「ビジネスチームとエンジニアが協力してスプリントを回しながらサービスを作っていくことによって生まれるメリットを享受しています。例えば、以前であれば要件定義からリリースまでの過程がビジネス側から見て把握しずらく、それが要件定義の手戻りにつながってしまい開発者も疲弊してしまうということが頻繁にありました」

RubyとRailsの活発な開発コミュニティ

蟻塚氏がRubyとRuby on Railsを高く評価する項目の1つに活発な開発コミュニティーをあげる。ラクスル社の技術顧問にもなっている、Ruby開発者のまつもとゆきひろ氏は「OSSコミュニティーは常に前に動き続けなければ、死んでしまう」との考えの元、Ruby3.0の構想を掲げてRubyの開発を続けている。

「前職ではPerlを利用していましたが、Perlコアを開発するOSS開発者の減少を感じることもありました。Rubyのコミュニティに関して言えば、Railsは現在もWeb開発の先進的な機能を他のWebフレームワークよりも早く提供してくれるていると思いますし、Rubyも積極的な開発によってバージョンを上げるだけでスピードが上がるなど開発コミュニティーの恩恵を受けています」

(オフィスはブースによって原色で色分けされており、メキシコ人建築家の、カーサバラガンを彷彿とさせる。そのことを広報担当者に聞いてみると印刷に使われるインクの4原色であるCMYKをイメージしているとのこと)

ラクスル社のテクノロジーは現実に存在する問題を解決していく

ハコベルにしてもラクスルにしても、Web上だけで完結できるサービスではないこともあり、それを反映してかラクスルに入社してくるエンジニアの興味はIT分野のみに留まらないようだ。

「当社に入社してくるエンジニアは、IT分野以外にも既存の産業に対して興味や疑問を抱いている方が多いと思います。アジャイルの導入で、技術開発以外にもエンジニアの持っている能力やアイディアをスクラムの中で生かしながらサービスを共に作り上げていけるようなチームを目指しています」

最後に、蟻塚氏が現在携わっているハコベルのサービスにおいて今後の技術的な挑戦として以下の課題をあげた。

「ハコベルでは今後2つの大きな技術的チャレンジがあります。1つは配送のルート組みです。荷物を運ぶ時のルート設定に関して、最適なアルゴリズムを開発しルート最適化をしていきたい考えています。2つ目は利用者と運送業者のマッチング精度の向上です。これもアルゴリズムを検討しながら精度向上を目指す必要があると感じています」

技術的負債の返済やアジャイル開発の導入はすべて、より良いチームを作り上げ、仕組みを変えれば、世界はもっとよくなるというラクスル社のビジョンを実現し、素晴らしいサービスを利用者に提供することにある。

「新しい言語の導入のように、弊社のテクノロジースタックは大きく変化中です。ラクスル社がITテクノロジーを活用して新たな付加価値のあるサービスを生み出していく企業だというメッセージを社内外に浸透させて行きたいです」

※本事例に記載の内容は取材日時点(2016年12月)のものであり、現在変更されている可能性があります。