リクルートライフスタイルの技術力を追え!

第2回[開発編]Airレジの開発チームが語る、最新サービスの裏側

リクルートライフスタイルが現在力を入れているサービスの一つに、飲食店や小売店などにおいてiPadなどのスマートデバイスをレジ端末として使える「Airレジ」図1があります。この開発に携わる同社のエンジニアである友永隆之氏写真1⁠、伊藤健介氏写真2⁠、塚越啓介氏写真3⁠、佐橘一旗氏写真4に、開発における苦労や工夫しているポイント、これからの展開などについて伺いました。

Airレジを中核とする多彩なサービスで業務を支援

――Airレジの概要と特徴を教えてください。

佐橘氏:Airレジは、お店の運営や経営で求められるPOSレジ機能を、スマートフォンやタブレット端末で使えるようにしたアプリケーションです。主に自分で店舗を営む方々が自分たちのサービスに注力できるように、さまざまな角度から支援するプロダクトになっています。

Airレジを中核とし、集客を支援する「Airウォレット」や順番管理の「Air ウェイト⁠⁠、予約管理の「Air リザーブ⁠⁠、お店に役立つサービスを提案する「Airマーケット」などのプロダクトを提供し、トータルで店舗業務を支援するしくみを整えていることが特徴として挙げられます。さらに、カード決済サービスであるSquareとも連携できます。これらのアプリケーションやサービスをクラウド上で連携し、お店を運営している方々の下支えを目的として開発しました。

たとえば飲食店に行くと、レジに加えてクレジットカードの読み取り端末やポイント集計のための機械があるなど、とても複雑な状況になっていますよね。それをスマートかつシンプルにするというのがコンセプトの一つです。

図1 初期費用も月額費用も不要で使える「Airレジ」の会計画面。POSレジとしての基本機能に加え、売上げや在庫状況を外出先からリアルタイムで確認できるなど、多彩な機能を備える
図1 初期費用も月額費用も不要で使える「Airレジ」の会計画面。POSレジとしての基本機能に加え、売上げや在庫状況を外出先からリアルタイムで確認できるなど、多彩な機能を備える
――実際に、お店の方にヒアリングすることも多いのでしょうか。

友永氏:そうですね。実際にお店の業務に入り込み、ヒアリングしながら開発することを推進しています。一般的には、実際に開発するものを企画側の担当者が考えるケースが多いと思いますが、Airレジについてはエンジニアが率先してお店の方のアポを取ってヒアリングすることも珍しくありません。

写真1 友永隆之氏
写真1 友永隆之氏

実は前職ではECモールの開発に従事していて、そこでもクライアントやカスタマーに近い視点での開発は当たり前でした。しかしリクルートに入社して違いを感じたのは、自ら、あるいは営業と一緒にクライアント業務に入り込むところです。そこでお店の方々の生の声を聞き、開発に落とし込んでいくというのは新鮮でした。

佐橘氏:ただ、お店によって当然業務も異なるので、こちら側で仮説を立てたうえでヒアリングを実施し、その仮説を検証することを重視しています。ユーザは自分自身が本当に欲しいものをわかっているとは限らないですし、また、たくさんの方の意見を聞くと何もできなくなってしまいます。そのため、自分たちで考えて仮説を持つことが大切だと学びました。

モバイル回線の不安定さを解消する独自の工夫

――開発している中で難しさを感じるのはどういった部分でしょうか。

塚越氏:業務で利用するので、このアプリケーションは立ち上げっぱなしです。通常のアプリケーションなら使い終われば閉じると思いますが、レジアプリケーションは常時起動し続けている必要があるうえ、クラッシュも許されません。その点は非常にシビアだと感じています。

佐橘氏:それとネットワーク環境の厳しさもあります。AirレジはiPad を端末として使い、3G/LTE といったモバイル回線でインターネットに接続して使われることが多いのですが、場所によっては電波状況がとても悪く、通信速度が十分でなかったり、途中で途切れたりすることがあります。そういった状況まで想定した開発が求められます。そのため、オフライン状態になっても問題なく動作するようにし、なおかつデータを保護するためのしくみの部分にはかなり力を入れています。いまだにそこはたいへんな部分です。

友永氏:有線LANで接続されているWebサービスであれば、ネットワークについて考えることはないと思います。ただAirレジの場合は、お店の場所や端末を置く位置、また特に繁華街では電波状況などに左右され、オフラインになることも少なくありません。そのため、データ同期のところは難しいなと感じる部分です。

佐橘氏:Airレジは海外にも展開していますが、そうするとさらにネットワークが不安定な場所があります。そのためオフラインでも確実に動くことを前提に、ネットワークにつながったタイミングでクライアント端末に蓄積したデータをクラウド側と同期する、つまりオフラインで動くことに加えて、クラウド側にもデータが保存されるという設計方針になっています。その意味で、かなりオフライン側に寄せているところがあります。

友永氏:また、いわゆるレジといっても、お店で業務をスムーズに遂行するためにどれだけの情報があり、どのような作業が発生するのかをしっかり把握したうえで開発しなければ、必要な機能が抜け落ちる可能性もあるわけです。その業務を知るところは難しさを感じます。

円滑な業務遂行を妨げないユーザインタフェース

――機能の追加や業種ごとに異なる要件への対応は、共通ライブラリにも大きく影響する部分だと思います。その点は、どのように整理されているのでしょうか。

伊藤氏:共通ライブラリは、できるだけ業務やアプリケーションにどっぷり入り込まないように、汎用的なものを作るように心がけています。ただ、どうしても汎用化できない機能がリクエストされるケースも少なくありません。

写真2 伊藤健介氏
写真2 伊藤健介氏

それをすべてリジェクトしたり、逆にすべて受け入れたりするのではなく、こういう形で使えばここまでは共通ライブラリで実現できる、ここをちょっと工夫すれば要求を満たせるなど、共通ライブラリの運用の仕方も含めて伝えるように心がけています。

――実際に開発される中で、一般的なアプリケーションとの違いを感じる部分はどういったところでしょうか。

塚越氏:クライアントサイドで、アプリケーションのレスポンスをある程度以上のレベルに保たなければならない部分です。たとえば操作がわかりやすいように、ユーザインタフェースの中でアニメーションを入れたとしても、その速度にはすごく気を遣っていて、場合によってはアニメーションをオフにします。こういった部分で、業務遂行を妨げないようにというのは、すごく意識するところです。

加えて、当然ながら数字の正確性も気を遣う部分ですね。特に割引や消費税の計算が入ると、小数点以下の処理が必要になります。その際、丸め誤差をどうするのか、どのタイミングで数字を丸めるのが正しいのかといった部分は、調整に苦労しました。

大規模チームでもスピード感を持って開発を遂行

――タブレット端末をレジに使うアプリケーションはいくつかありますが、Airレジはそれらに対してどのような優位性があるのでしょうか。

佐橘氏:Airレジは、ユーザのフィードバックを受ける窓口がすごく多いです。サポートスタッフと呼ばれるメンバーが全国で実際に使っている方々をサポートしていて、その中で生まれた要望が開発側に送られてきます。またヘルプデスクもあり、そこで集計された改善要望のようなものもあります。このようにサポート体制がしっかりしていることに加え、そこから生じた要望が集約されてフィードバックされるしくみが存在することは、大きな強みになっています。

友永氏:フィードバックをサービスに反映し、また積極的に機能を強化していくために、Airレジの開発部隊は非常に規模が大きくなっています。その中で、スピード感を持って開発を進められているのは、このチームの大きな強みだと思います写真5⁠。

写真5 アジャイル開発を基本としつつ、機能によってはウォーターフォールも採り入れている。オフィスには、これから開発する機能などがメモされた付箋紙が大量に貼られていた
写真5 アジャイル開発を基本としつつ、機能によってはウォーターフォールも採り入れている。オフィスには、これから開発する機能などがメモされた付箋紙が大量に貼られていた
――今後、Airレジの開発で取り組みたいと考えられていることがあれば教えてください。

塚越氏:新しい技術はなるべくキャッチアップし、有効と判断できれば信頼性を失わないようにサービスに採り入れていきたいと考えています。たとえば最近であればSwift ですね。Optional 型がありnil チェックができるので、例外的なエラーを生じにくい、それによってクラッシュ率を下げるといったことを開発側で担保できる可能性は上がっていくのかなと感じています。また、Swiftには生産性の向上も期待しています。機能追加のスピードを高められれば、ユーザの方にもメリットを提供できると判断しています。

伊藤氏:共通ライブラリの観点で言えば、やはりいろいろなものを自動化して、開発者の負担を下げていくことです。今までも意識していますが、より注力して進めていきたいですね。

それと開発の効率化も今後のポイントととらえています。共通ライブラリは、案件が増えてくると規模も大きくなりますが、一方でそれらを細かく見るのは時間とのトレードオフになります。そこをどうやって効率化していくかは今後の課題です。また、共通ライブラリでフロントエンジニアをサポートし、それによって彼らの負担が減れば別のことに注力する余裕が生まれるので、そこも積極的に取り組んでいきます。

手を挙げないと損をする会社

――リクルートライフスタイルでは、積極的にエンジニアの採用を進めていると伺いました。どのような人材が求められているのでしょうか。
写真3 塚越啓介氏
写真3 塚越啓介氏

塚越氏:停滞せず、新しいものを採り入れられる人でしょうか。停滞すると、今のイノベーションのスピード感ではスキル低下と変わりません。そのため、常に向上心を持って自身のスキルを伸ばせる人と一緒に働きたいですね。

伊藤氏:「想像力のある、いたずら小僧」でしょうか。こういった機能があるとおもしろいんじゃないかといった発想で、新しいものを作れる人。想像力があれば、ソースを見ただけでデータフローを把握できて、実際に動かさなくてもバグを見つけられることもあります。⁠いたずら小僧」と言ったのは、それまでの考え方を転換できる人という意味です。開発する中でたいへんな作業があり、それを仕方がないと諦めるのではなく、発想の転換で問題を解決し、周りのエンジニアを喜ばせる。エンジニアにはそういった柔軟性も必要ではないでしょうか。

写真4 佐橘一旗氏
写真4 佐橘一旗氏

佐橘氏:僕がすごいと思うのは、特定の分野に強くそのうえで幅広い知見も持つT字型人材のなかでも、横棒がすごく長い人。伊藤が話したように、柔軟な発想ができる人ってアイデアの素材があるんですよね。いろんな技術やその背景を知っていて、本質にあるニーズをつかみ、技術的解決策を提示できる。そのように背景にある知識が広い人というのが一番必要かなと思っています。

特に弊社ではエンジニアに対してもビジネス視点を要求することがあります。技術的にはベストプラクティスでも、現状のビジネスを考えたときにそれで回収できるのか、といったところまでの思考が求められる場合もあります。その意味でも、Tの横棒が長い人に対するニーズは強いですね。

友永氏:一方で、特定の領域に特化する方向もありますね。幅広い知識を持つエンジニアがいて、何かに特化して深掘りしているエンジニアも在籍している。そうしたチームなら組織も活性化しますし、幅広い議論にもつながります。

それと、リクルートライフスタイルは手を挙げないと損をする会社だと感じています。それに対して拒否することはありませんし、⁠やりたければ、やればいいじゃない」という姿勢が強いんです。エンジニアも、たとえばこの言語で開発したい、このミドルウェアを使ってみたいという話であれば、その理由を自分で説明したうえで、ちゃんと投資してもらった中で実績を出す。そうしたことを自分でできる人は、すごく価値があると思いますし、そういう人材を育てていくことも今後の目標です。

――本日はありがとうございました。

おすすめ記事

記事・ニュース一覧