400万DLを突破したメルカリが、少人数でスケールするために心掛けてきた「捨てる技術」とは
スマートフォンを活用して個人間で不用品売買が行うフリマアプリ市場が盛り上がりを見せる中、『mercari(メルカリ)』が急成長を遂げている。
2013年7月のリリースからわずか1年で400万ダウンロードを達成し、1日の出品数は10万点超。月間流通額も10億円を上回るなど快進撃を続けている(2014年7月現在)。
同アプリを提供する株式会社メルカリは、過去に『まちつく!』や『フォト蔵』といったヒットサービスを手掛けた元ウノウの山田進太郎氏が代表を務め、プロダクトにかかわる経営陣全員がコーディングの知識を持つ技術者集団だ。
2014年7月現在、社員数は70名(そのうち、カスタマーサポートが約40名)を超えるが、開発チームのエンジニアはわずか10数名。決して多いとは言えない開発陣で、彼らはいかにして急増するトラフィックをさばき、ユーザーの支持を集め続けているのだろうか?
その謎を解くため、フロントサイドとサーバサイドを支える中心人物2人に話を聞いたところ、重視しているのは状況が変われば過去を捨てることさえ厭わない、したたかで大胆な開発スタイルだった。
あえて“枯れた技術”を選択している理由
同社の開発チームは、Android/iOSアプリのフロントエンドの開発を行う「クライアントチーム」と、サーバ管理やAPIの開発・運用、カスタマーサポート用の社内ツール開発などを手掛ける「サーバチーム」の2つに分かれている。
クライアントチームの大庭慎一郎氏と、サーバチームの鶴岡達也氏によると、コーディングはGitHub上で行われ、Redmineをベースにチケット駆動開発を行いながら、Yammerで情報共有を進めているそう。
「流行っているからという理由だけで技術やツールを選択することはありません。ある程度“枯れた技術”の方が動作が安定していますし、情報量や開発者も多いです。さらにシンプルで学習コストが低ければ、新人でもすぐに使いこなしてもらえるというメリットもあります」(鶴岡氏)
サーバチームでは、2013年7月のリリースから現在まで毎週何かしらの機能改善を行っており、短期間でリリースを繰り返す上でも「今は最新ツールの導入コストをかけるタイミングではないと考えている」とのこと。この言葉通り、例えば構成管理ツールにはChefではなく、よりシンプルなAnsibleを利用している。サービスの急激な伸びに対して、非常に現実的な選択をしているようだ。
大庭氏も、開発環境がオーソドックスな理由についてこう説明する。
「現在の『メルカリ』は、当初の構想からすると数分の一程度の機能しか実現できていないので、積み残した機能を実装していくフェーズが続きます。クライアントチームは、AndroidとiOSそれぞれに主担当が2名ずつという小規模構成なので、安定性を重視した開発姿勢を優先することが重要でした」(大庭氏)
開発途上でソースコードをすべて捨てたことも
今でこそ400万ダウンロードという結果を手にした『メルカリ』だが、開発の過程では、サービスの将来を左右する転機に直面したこともあったという。
大庭氏、鶴岡氏が異口同音に述べた「現実路線の開発スタイル」は、それを乗り越える際にも役に立った。
「『メルカリ』をリリースしてちょうど1年。この間わたしたちは大きく分けて3つのフェーズを経て今日に至りました。まずは開発に着手してから、昨年7月のリリースまでの期間。次は2014年5月に開始したテレビCM放映前までの期間。そして3つ目のフェーズが、テレビCM後です。エンジニアはそれぞれの期間ごとに背負うべきミッションが変わっていきました」(鶴岡氏)
特に最初に直面したリリース前の転機は、非常に大きなものだったと大庭氏は振り返る。
昨年1月にサービス構想が固まり、翌2月にはWebViewベースでAndroid版『メルカリ』の開発を開始したが、理想とする操作性を実現することができなかったため、3カ月間書き溜めたコードをすべて捨てるという決断をしたのだ。
「ネイティブアプリでゼロから作り直す決定が下された日が、ちょうどわたしが入社した日でした(笑)。リリースまでに残された時間はわずか3カ月で、再開発していくのは決して楽なことではありませんでしたが、この決断によってアプリの操作性を格段に向上させることができたのは確かです。今にして思えば、やってよかったと率直に思いますね」(大庭氏)
その後のリリース~テレビCM前のフェーズは、右肩上がりで順調に増えていくユーザー数に対応すべく、スケールアップに追われる日々だったと両氏は明かす。この段階でも、「開発基盤を作り込むより変化に適応していくことを優先していた」(鶴岡氏)チーム内には、ある不文律があった。
「クライアントチームもサーバチームも、共通しているのは『ユーザーに使ってもらえないコードは意味がない』という思想です。当社には、コードを書くことが大好きな職人的なエンジニアより、現実的な考え方をする人が多いんだと思います」(鶴岡氏)
日々変化していくために、開発環境の「過剰適応」を避ける
こうした開発思想のもとで改善を積み重ねてきたメルカリは、今年5月に始まったテレビCM後、かつてないほどのユーザー増を体験。開発チームのミッションも、それまでとは異なるものに変わっていった。
「サーバ環境を30台から60台へと倍増させることにしたこともあり、同じ環境を別に用意して負荷テストや調整に明け暮れる毎日が約1カ月続きました」(鶴岡氏)
「クライアント側も、『CMを見てダウンロードしたのに全然使えない』という状態だけは絶対避けたかったので、大きな課題はなるべく早目に決着をつけるようにし、テレビCMが放映される前後は安定性を最優先にした開発方針を採っていました」(大庭氏)
その結果、テレビCM放映直後、大幅に伸びたアクセスも無事さばくことができ、今に至るまで大きな問題は生じていないという。
もちろん、小さな問題すら起きなかったわけではなく、日々出てくる課題を“現実的な”アプローチで解消し続けてきた結果だ。
「採用は随時やってはいますが、開発チームの人数を倍々で増やしていくことはできないのがスタートアップの宿命です。大事なのは、限られた人数で優先順位を付けてクリアしていくこと。その過程では、時に積み上げてきたものを壊すことが必要になることもあります。特に初めての挑戦であれば、『もし試してダメだったら変えてみる』くらいの柔軟性が必要なんだと思います」(鶴岡氏)
過剰適応は変化の足かせとなりかねない。だからこそ彼らはむやみに新しい開発ツールに飛び付くことはしないし、積み上げた過去を捨て去ることを惜しまない。
「うちの開発陣はベテランが多いこともあって、修羅場をくぐってきた回数も多いので、変化への適応能力は高い方だと思います」(大庭氏)
テレビCM後の“フェーズ3”以降は、予定している北米展開はもちろん、不正利用の自動検出システムの開発や、社内のカスタマーサポートメンバーがより使いやすいシステムの強化がミッションに加わった。さらに、ユーザー増に伴って、マーケティング側からはより精密なデータ分析ができるツールの開発も期待されている。
これらをすべて同時進行でこなす上で、有益なツールがないかと情報収集にいそしむ一方、「現時点でのベストを追うというスタンスに変わりはない」と鶴岡氏は強調する。
「これから世界各地で『メルカリ』を展開していくにあたり、組織体制や開発プロセスはもちろん、プログラムの書き方だってガラリと変わってもおかしくないと思っています。そうした変化を前提に、目の前の課題解決に全力を注ぐ。これがメルカリ流のやり方なんです」(鶴岡氏)
取材・文/武田敏則(グレタケ) 撮影/伊藤健吾(編集部)
RELATED関連記事
RANKING人気記事ランキング
NEW!
ITエンジニア転職2025予測!事業貢献しないならSESに行くべき?二者択一が迫られる一年に
NEW!
ドワンゴ川上量生は“人と競う”を避けてきた?「20代エンジニアは、自分が無双できる会社を選んだもん勝ち」
NEW!
ひろゆきが今20代なら「部下を悪者にする上司がいる会社は選ばない」
縦割り排除、役職者を半分に…激動の2年で「全く違う会社に生まれ変わった」日本初のエンジニア採用の裏にあった悲願
日本のエンジニアは甘すぎ? 「初学者への育成論」が米国からみると超不毛な理由
JOB BOARD編集部オススメ求人特集
タグ