iPhoneアプリはオレらが作る――HOME'Sエンジニアを動かした“檄文”「ネクストでつくるネットサービス」探訪Special

この時期、新しい不動産の物件を探している人も多いはず。そんな時に便利なiPhoneアプリが「HOME'S for iPhone」だ。HOME'Sと言えば日本最大級の住宅・不動産情報ポータルサイトだが、開発は意外と難航した。その開発秘話に迫る。

» 2010年03月03日 00時00分 公開
[PR/Business Media 誠]
PR

 春からの新しい生活を目指して、マンションを探しているという読者も多いはず。ところが、ちょっとした外出時に「あ、ここ住みたいな」と思うことがあっても、不動産屋に駆け込むのも大げさだし、後で調べようと思っていても結局放ったらかしにすることも多い。そんな時、その場ですぐに探せる便利なiPhoneアプリがあるのだ。

 それが、マンションやアパートの賃貸情報などを発信する「HOME'S」を運営するネクストが開発した不動産情報検索アプリ「HOME'S for iPhone」である。今回はこのHOME'S for iPhoneの開発を担当したひとり、秀野亮さん(HOME'S事業本部賃貸事業部クリエイティブユニットクライアントグループ)に開発秘話を聞いた。



エンジニアを動かした“檄文”

PC版のHOME'S

 HOME'Sと言えば日本最大級の住宅・不動産情報ポータル。iPhoneアプリの開発は初めてとはいえ、それほど難しいことはなかったのではないだろうか。ところが、実際は順調ではなかった。「当初、モバイルを担当しているグループで開発しようかという話が出てたのですが、(人員的な、コスト的な)リソースの問題でいったんは見送りになってしまいました」(秀野さん)

 いきなりとん挫の危機である。ところがその後、企画スタッフの強い要望でプランが復活し、「社内でやれないのなら外注でやりましょうという話になりました」という。だが、このまますんなりと外注にならないところが面白い。さらに事態は変わるのである。

 企画スタッフが外注候補を探し、候補からの見積もりが出そろった段階――。この段階でエンジニアから声が上がったのだ。「iPhoneアプリを作るというせっかくの機会を外部に出していいのか」というメールが社内で70人ほどのエンジニアを相手に送り付けられたのである。

 この“檄文”を出したのが、技術部のマネージャーだった。ネクストは基本的にシステムを内製している。当然iPhoneだって内製でしかるべきなのに、そんな機会をみすみす失うのか。そんなマネージャーの檄文メールがエンジニアたちを動かした。

 秀野さんも檄文メールに動かされたひとりだ。「ちょうど会社で主だったエンジニアが退職していく時期で、それが外注に任せるという方向に向かうのがいやでした。会社としてそういう選択を選ぶのもいやだったのが、個人的には一番大きかったです」。そうして、HOME'Sを作っている7つの部署から2人ずつ集まり、マネージャーを含め総勢15人で開発がスタートしたのであった。

「外したくない」「いやムリムリ」

 14人のエンジニアのうち、秀野さんを含む30台前半のリーダークラスが数人。メインは20代後半の若手エンジニアである。なんとか船を漕ぎ出したはいいが、秀野さんはじめ船乗りたちにとってiPhoneアプリの開発は初めての経験。開発言語である「Objective-C」も初めて使う。秀野さんに至ってはそれまではWindows PCでWebアプリの制作しか経験がなく、アップル製品をひとつも持っていなかった。

 「率直に言うと、iPhoneやMacなどのアップルの製品には興味がなかったですが、ずっとWebアプリの制作をやってきたのでクライアント側のアプリケーション開発には興味がありました」

 知識も経験もなく、メンバーのほとんどはゼロからのスタート。熱意と好奇心のほかにあるのは締め切りだけであった。しかもこの締め切りが厳しい。2009年の内に出せ――である。メンバーを招集したのが11月ごろ。1カ月で開発したとしても12月。アップルの審査を済ませて、App Storeで配信を始められる時期としてはすでに余裕はなかった。

 そんな状態だったが、アプリに盛り込む機能は多数の要望が出ていた。冒頭紹介した現在地から物件を探す機能も含まれていたが、「まあ、(年末までの実装は)無理だろう」とひそかに思ったという。公開までに開発できる機能を絞り込んで、「できたところまでやってリリースしよう」と決めざるを得なかった。その最低限のラインが、「アプリを起動してから、物件について問い合わせする」という機能だ。

 もちろん実装の優先度で企画スタッフとまったくもめなかったというわけではない。特に現在地の家賃相場を見る機能は、「外したくない」と粘られた。秀野さんも「入れたくないわけじゃないけど、スケジュールを考えると『いやムリムリ』」と首を横に振るしかなかったのだ。ただ、現在地の家賃相場を見る機能については、実はマネージャーがひとり黙々と作業していたという。「(マネージャー以外の)14人で物件検索などの土台を作り、マネージャーが現在地の家賃相場を見る機能を作っていました。今になって思えば、やっておいてよかったです(笑)」

 いったん方針が決まってからは、チーム作業に徹した。普段はリーダークラスのエンジニアと若手では職級に差があり、指示を出す側と出される側に分かれる状況も多いが、「iPhoneアプリの開発現場は比較的フラットだった」という。「納期までの時間が限られていたから、ケンカしている場合ではありませんでした」。まずは年内にリリース、ダウンロード可能な状態にするというのが絶対条件。それが達成できるという前提も、内製で作ると決めた時の条件だった。

 なお秀野さん自身の開発マシンはそれまでWindowsだった。iPhoneアプリを開発するのにMacBook ProとiPhone 3GSを自腹で購入。「買ってすぐに新しいMacBook Proが出た。落ち込みましたねえ」と秀野さん。操作には「なかなか慣れなかったです。キーボードも違いますし。[Ctrl]キーの場所にも戸惑った。開発環境としても『Xcode』というものがあるのですが、バージョン管理などをしだすと大変でした」

「あいつ、うるせえな」と言わない雰囲気

 秀野さんがこうした状況下で気を遣ったのは、情報共有。はじめての言語では、ちょっとした失敗がひんぱんに発生する。こうした情報を速やかに共有することで、作業をスムーズに進めるのが狙いだった。「こう作らないといけないらしい」「ここダメっぽい」。そのうち、いろいろと口を出す人間になっていた。

 「若い人はプログラムをしていても若気の至りのようなところがありました。HOME'S for iPhoneは基本の部分をPHPで開発していたのですが、最終的な実装はObjective-C。C言語に近くて、メモリ管理が最も異なります。当初、若い人たちの中には、そのメモリ管理をPHPのノリで作っている人もいました。するとうまく処理できずにアプリの動作がどんどん重くなっていってしまったのです。そういう失敗を繰り返さないよう、情報を共有していました」

 口を出されるとついつい適当にあしらいがちな人もいるが、ネクスト社内ではそうでもなかった。「これは元々の社風なのですが、ネガティブな人が少ない」という。秀野さんが助言すると「へえ、なるほど」と素直に聞いてくれる人が多かった。「オレはこういう風にやりたいんだよ、うるさいな、と言う人は少ない。たいしたものだと思います。それに状況が状況だったんで、とにかく情報を共有しなくちゃという焦りみたいなモノはあったんじゃないんでしょうか」

 意外だったのは情報共有ツールだ。結論から言うと、特別なデジタルツールは使わなかったという。基本的には口頭でコミュニケーションを取っていた。「ずっと一緒にいたので、口頭で十分でした。また仕様自体はHOME'SのWebページでWebアプリとしてすでに作っていたし、社内で利用できるAPIが多かったので、余計な仕事が減りました。Objective-Cの作り込みがネックになっただけで開発としてはiPhone独自の処理に集中できました」と秀野さん。豊富なAPIのおかげでデータベースへのつなぎ込みもほとんど作り直しがなかった。「結果的に(HOME'Sのシステムが)スマートフォンとの相性がよいことも分かった」という。

「何とか公開」で酷評もビジネスとしては成功

バージョン1.2で実装したお気に入りの登録機能

 社内で「クリスマスプレゼント」という声もあったという12月24日。このクリスマスイブに、HOME'S for iPhone(バージョン1.0)の公開に何とかこぎつけた。ただし秀野さんは、一抹の不安もあったという。「公開の数日前まで公開日を延ばしたほうがいいんじゃないか」と思っていた。というのも「どうしても(アプリの動作が)不安定だった」からだ。

 予感は的中した。「出したら反応は最悪だった」――のである。アプリのレビューには「不安定」「とにかく落ちる」などのコメントが並んだ。中には「業界初」を評価して5つ星を付けてくれる人もいたが、1つだけの星の数がどんどん増えていく。元々今回の開発は普段の業務以外の空いた時間、夕方以降であったり、休日であったりを活用していた。公開後は、体力的な限界もあり、通常業務に戻っていた。ユーザーからの酷評は、そんな中の追い打ちだった。

 がっくりするのと同時に「これではまずい」という実感もわいた。開発中から安定していないところは認識していたが、レビューの結果で体感でき、「安定度の向上」という項目のプライオリティが「ガッと上がった」のだ。「金曜日に『クリエーターの日』というのがあって、その日1日は業務外のことをしてもいいというGoogleの20%ルールのような日があるのですが、そこで何人か時間の取れる人が1日中バグをつぶして、安定性を向上させていました」。これが1次改修となり、1月30日にバージョン1.1の配信を開始。「周辺地図の表示などの機能も追加しましたが、とにかく普通に動くことが目標でした」

 また、リリース当初のダウンロード数目標である「1週間で1000ダウンロード」をあっという間に達成したのも追い風になった。それまでボランティアで作っていた開発陣だったが、2010年1月からは会社をあげて正式にHOME'S for iPhoneを開発する体制ができたのだ。実際、アプリをリリースしてからダウンロード数以上に物件への問い合わせが増えた。それに社内でもiPhoneユーザーが増えて、アプリを社内で宣伝してくれる“エバンジェリスト”も登場。そうした結果が出て、会社としてスマートフォンに力を入れるべきと言う判断が下った――というわけである。

 「おかげで現業の部署に戻った開発チームのエンジニアたちをレンタルできるようになりました」。レンタル期間は2週間だったり、今期中いっぱいだったりとまちまちだったが、常時4人ぐらいが代わる代わる集まった。正式な業務化をすることで、開発のリソースを確保できたのである。

 2月11日にはバージョン1.2をリリース。気になる物件を「お気に入り」に登録できるようになった。これで「ようやく使えるようになったかな」と秀野さん。「iPhoneはマルチタスクじゃないから、アプリを再起動した時にまた検索しなきゃいけない。モバイルユーザーはただでさえお気に入りからアクセスする傾向があるので、早く実装したかった」という。

社会人最大の失敗

 「元々文系で、大学でも社会学や社会心理学を専攻。PCも使っていませんでした」という秀野さんがエンジニアを志したのはどういう理由だったのだろうか。「何かを作る仕事をしたかった」という思いがあったという。

 これには父親の影響がある。「父親はアルミ合金の研究者で、ばりばり理系の人間でした。飛行機に使うジュラルミンなどを研究していたみたいです。そういう影響もあって、何かを作ることが好きだったんですけど、文系だと製造業のような専門分野は難しくて」。今年32歳になる秀野さんが10年前に就職活動していた時、目にとまったのがエンジニア職だった。

 企業の採用情報には「これからのエンジニアにはコミュニケーション能力が大事」などの文字があった。「これなら文系のオレでも」と思って、何とか就職できたのだという。だが、コミュニケーション能力に自信があったわけでもない。「(自信は)ありませんでした。完全に文系採用の波に乗っちゃっただけですね」と笑う。

 最初に作ったプログラムはVisual Basicで作ったWindowsアプリ。その名も「紅白歌合戦」というアプリだった。白組と赤組の歌手を入力して『採点』ボタンを押すとランダムに採点するというだけの単純なアプリ。「それでも作るのは楽しいことは分かりました。後は怒られながら覚えていきました」

 記憶に残る経験は、新人の時に常駐先の会社で障害を起こしたこと。ECサイトからの注文情報を基幹システムに転送するシステムで、設定ファイルの転送先を本番環境のマシンではなく開発環境で使っていたマシンにしてしまったのが原因だ。本番の注文情報が開発マシンに殺到し、客先の開発部署は騒然。出社した時は「じゃんじゃん電話がなっていて忙しそうだなあと思っていた」とのんきな秀野さんだったが、「(原因が)自分だと分かった時は辞めたかったです。辞められませんでしたけど。辞めろと言ってほしかった……」。

 ただその経験で「システム開発には100点しか認められない」ことをいやというほど実感できた。「1個バグが出ただけで、100点じゃない場合はもうマイナス評価。100点で当然。かといって100点のシステムもなかなか難しいんですよ」。

 面白いのは、HOME'S for iPhoneとの受け取られ方の違い。当初動作が重くて酷評だったHOME'S for iPhoneだったが、社内では評価を受けて正式に人員も付いた。「成果がちゃんと残って、評価も高かったのはうれしかったです」。システム開発は、同じように情熱を傾けて作っても結果が思うに任せられないことがある。そういう意味でもHOME'S for iPhoneは秀野さんにとっても貴重な成功体験になりつつあるのだ。

この繁忙期がラストチャンス

 2006年3月にネクストに転職した秀野さん(当時29歳)。「前職は本来、受託開発しかやらない会社だったんですが、なぜかわたしだけ派遣されていました。常駐先で1人で開発することも多く、相談できる上司や同僚もいて欲しかったのです。それに、そもそもコミュニケーション能力で売ろうと思っていたのに1人だったから(笑)」

 そんな秀野さんがネクストに決めたのは、同社の経営理念に共感したからだ。「常に革進することで、より多くの人々が心からの『安心』と『喜び』を得られる社会の仕組みを創る」――。

 「理念の内容は何でもいいんですが、井上(高志代表取締役者社長)が大事にしていて、こういうのがないと根本的にいい会社と思えなかったのです。システム会社から不動産情報を扱う会社への転職はちょっと不安でしたが、この理念を大事にして、組織を作れる、作るという意識が感じられたので決めました」

 前述した「あいつ、うるせえな」と言わない社風も、もしかしたらそういう理念に共感した社員を採用しているから育まれたのかもしれない。なお、ネクストでは理念を定着させるため、定期的に筆記試験を行っているという。HOME'S事業本部だけでなく、ほかの事業部がやっていることなどもテストすることで社員全体への情報共有を図っている。例えば、電話中に他部署の話題が出た時、簡単に「分かりません」などと応じないためだ。秀野さんのようなエンジニアといえども、話してよい範囲であれば他部署の事業内容などをきちんと説明できるのである。


 「最近部署が変わって、不動産会社向けの管理画面を作っています」。HOME'S for iPhoneも引き続き担当する。不動産探しは今が最も繁忙期。「HOME'S for iPhoneは、この繁忙期がラストチャンス。来年は他社も出すだろうし、機能も似たり寄ったりになるはず。今後の安定性の向上はもちろんですが、検索条件を増やしたり、検索結果が保存できるようにしたり、新着物件を通知したりできるようにしたいですね。今のHOME'S for iPhoneは年柄年中使うアプリじゃないので、普段から使えるような機能を入れたいと思っています」

 秀野さんは現在、奥さんと2人住まい。現在も引越し先をHOME'S for iPhoneで探している最中だ。「使っているとけっこう不満がたまってくる」と笑う。「ガリガリ作っている方が合っている。もっと作る仕事を続けていきたい」という秀野さんたちネクストのエンジニアが開発するHOME'S for iPhoneに今後も注目だ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:株式会社ネクスト
アイティメディア営業企画/制作:誠 Biz.ID編集部/掲載内容有効期限:2010年3月16日