iOSアプリ開発の現場で訊いてみた！フリル編


夏の暑さでメシが旨い！@yimajoです。

iOSアプリ開発者に最近の開発スタイルを訊いてまわる「iOSアプリ開発の現場で訊いてみた」待望の二社目に行ってきました。

二社目は今話題のフリマアプリ Fril（フリル）を作られている[Fablic社](http://qiita.com/organizations/fablic)！

![10576057_872165502811348_1445100080_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/3ee837d4-cbe0-0d98-7d51-a6c313f5b121.jpeg "10576057_872165502811348_1445100080_n.jpg")


# フリルとは何か

フリルはiOSやAndroid端末を使って気軽に自分のモノを売ったりして楽しめるフリマアプリ。女性専用でたくさんのファンを抱えているアプリだそうです。

私自身は使っていないんですが、最近、電車に乗っているとOLの人たちが洋服のアプリといえば"フリル"、"ピンタレスト"とかって口にされているのが耳に入ってくることがありますね。

# 訊いてきたこと

インタビューに応じてくださったのはFablic社のモバイルチーム@tmnb、@ninjinkun、@cutmailの三人。

↓とくに@ninjinkunさんは最近では「[【翻訳】あなたが求めていたリアクティブプログラミング入門](http://ninjinkun.hatenablog.com/entry/introrxja)」を読んだ方も多いのでは

![10607974_1466323553630577_1616380288_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/b9659f76-148b-a346-0bc3-77a882c9680b.jpeg "10607974_1466323553630577_1616380288_n.jpg")

[前回ユビレジ編](http://qiita.com/yimajo/items/bb75fb91c0d48a6d2196)でインタビューに応じてくださった
@kishikawakatsumiさんも今回はインタビュアーとして参加しました(右)↑


## Q.バージョン管理システムは何を使っているか

GitHubをプライベートリポジトリで使っている。



## Q.コードレビューはどのように行っているか

モバイルチーム3人いるとコードレビューが停滞しないので、GitHubのプルリクエストを出した時にやっている。

ちなみにプルリクをマージするのはプルリクエストを出した人。

## Q.ブランチはどのように運用している？

誰が薦めたのでもなく自然と基本的なgit-flowになっている。


- masterはリリース準備などのいわゆるリリースブランチとして利用
- リリースしたものにバグがあってすぐに修正したいというような時はmasterにhotfixをマージしていく
- 基本はdevelopがあって、そこに機能を追加したりバグ修正をしたブランチをマージしていく

他に、GitHub-flowはデプロイが多くなるウェブアプリ開発には最適なんだろうけどモバイルアプリではgit-flowを基本に近い形で利用。

![10598378_299653590217518_1369349106_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/2c365699-0450-bed6-70c6-73bbe629709b.jpeg "10598378_299653590217518_1369349106_n.jpg")


## Q.プロジェクト管理ツールは何を使っているか

[HuBoard](https://huboard.com/)でGitHubのissuesを管理してる。

他にはツールとしてQiita Teamを使っている。

Qiita Teamはデザイナも使っていて、デザイナもコードをある程度かけるのでQiita Teamとの相性は悪くないし、アプリを良くするために的なポエムも結構Qiita Teamに書いてくれている。

アプリのクラッシュ解析ツールはCrashlyticsつかっている。

社内で使うチャットツールはHipchatから[slack](https://slack.com/)に乗り換えをした。乗り換えた理由はアプリのユーザーサポートをしてくれるメンバーを含めて50人もいてslackが無料で使えるので乗り換えた。



![10611201_445696498904089_229250747_n-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/d47e4413-64cd-48d3-30a9-381e584b89b3.jpeg "10611201_445696498904089_229250747_n-1.jpg")

## Q. Storyboardやプロジェクトファイルなどでコンフリクトが起こらないように工夫しているか

プロジェクトファイルは[mergepbx](http://www.tokoro.me/2014/02/06/pbxproj-merge/)をメンバー全員がインストールしててコンフリクトしなくなった。

Storyboardは関連しない3つに分割していて1つの大きなStoryboardを作っていない。分割しているStorybaordは次の通り

- チュートリアル
- 設定画面の動線
- アプリの主な利用

また、Viewはxibに切り出していてあまりStoryboardにViewを載せていいないので今のところほぼコンフリクトするという経験はない。

## Q.アジャイル開発（もしくはその一部のどのような部分）を取り入れているか

スクラムを取り入れていて

- 夕方にデイリースタンドアップ
- 金曜夜は週次（HuBoardの画面をプロジェクタに映す）

のようなスタイルを実践している。

ペアプロ

- してない
 - リファクタでやりたい（触るのが怖い部分はあるので）

スクラムマスターは明確に決まってないが自然とそれっぽい人がやっている。

プロダクトオーナーがデザイナを兼ねていて、仕様の策定からデザインとしてのアウトプットにになるまでが早い（言い方を変えると、ディレクタがデザインも行う）。

## Q.スモールリリースしてる？

最近は基本的に２週間に1回くらいになっている。

ユーザーのためになるべく早くバグを修正したいのと、新機能を届けたいためになるべく早くリリースしたいだけで、2週間に1回がルールというわけではない。

また、実際にAppStore上のリリースは金曜日を避けていている。金曜日にリリースをするなら何か問題があっても対応できるように入念な準備をする。

## Q. テスト自動化してる？

Modelはテスト自動化していて、リモートブランチにpushしたら[Travis CI](https://travis-ci.org/)がやってくれる。

UIテストの自動化はしてない。

アプリのユーザーサポートの方たちがQAチームとして人力でテストをしてくれる。

ユーザーサポートの方たちは元々アプリのヘビーユーザーでもあるのでユーザー目線でテストをしてくれるし、アプリの仕様は分かってくれているので助かる。


## Q.「開発環境の改善とかコミュニケーション改善で自慢したいところ」とかある？


改善したわけではないし自慢とも言えないけど、若い女性が中心のユーザーサポートメンバーとも仲良くWiiをやって気軽にコミュニケーションができる地盤があって、社内を巻き込んでレクレーションをしていく仕組みは考えられている。

ユーザーサポートの方たちは元々フリルのユーザーなのでフリルの文化をよく理解していて、ユーザーへのサポートを親身に行ってくれる上に、アプリの仕様を決める際などのユーザーインタビューの対象者にもなってくれるのが嬉しい所。

他に、Slack上にはフリルの日々の取引数やKPI情報が集約されてて流れてきたりするのが良い所。

Slackにはプルリクが溜まってると呼び出してくるbotがあったり色んなチャンネルがあって、ランチチャンネルなど飯食いたい人が誘いやすいようになっていたり、アニメチャンネルなど共通の趣味の話題が出来るようになっている。

![10608131_342040322621717_732617671_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/090ce0cb-3cd5-6f00-6c1a-dc0ff79843c4.jpeg "10608131_342040322621717_732617671_n.jpg")



## Q.現状の開発に関する不満点やさらに改善したい点などある？

開発者の作業の属人的な部分を取り除いていって、AppStoreへのアップロードも自動化したい。現状自動化していない理由の一つとして、iOSアプリの画像編集ライブラリが申請前に手作業が必要な物があるのが悩ましい(@cutmail)。

モバイルだけにとどまらずサーバーサイドのコードも触れるようになっておきたい(@ninjinkun)。


## Q.iOS8について

iOS8 Betaを入れて自分たちのアプリが正常に動作をするかは確認を進めている。

## Q. 一緒に働きたい開発者像について

@cutmail「やりたいことはまだまだたくさんある。ベンチャーなので新しく参加してくれそうな人がスペシャリストであってもその分野だけ任せたいということはなくって、すぐには力が発揮できないこともあるかもしれない。そういうこともあるし求めている求人レベルが高すぎるなんてことないはずなので、まずは気軽に応募して欲しい」。

@ninjinkun「@tmnbが入社した時はiOSアプリ開発経験者ではなく、ウェブアプリ開発者だったんだけど[日々の開発やレビュー](http://ninjinkun.hatenablog.com/entry/2014/04/24/125151)の中でどんどん成長していった。ベンチャー企業はその道のエキスパートを呼び込まないといけないと思い込んでいたが、考え直すきっかけになった」

@tmnb「[世界のninjinkun](https://github.com/ninjinkun/NJKWebViewProgress)とiOSアプリを作っているっていうのはいい経験になる。人に話すと羨ましがられますね」

![10598231_752145901515799_336551278_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/67e4af65-bfa6-1c82-3106-13a039b470a5.jpeg "10598231_752145901515799_336551278_n.jpg")




# 社内風景

## 2周年記念

Fril 2周年記念のケーキの置物。食べられるのか気になってましたが、これは食べられないようです。

![10593516_753584911364979_1296148878_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/4196e9ad-c2d7-3a13-adba-4c5927b577e2.jpeg "10593516_753584911364979_1296148878_n.jpg")


## ホワイトボードじゃなくて黒板だった

ファブリック社は壁が黒板になっていました、ホワイトボードはよくあるけど黒板とは珍しいんじゃないでしょうかね！？

![10584560_890670287627971_2098205823_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/68951251-46d9-5acf-a12a-dfbf4aef3153.jpeg "10584560_890670287627971_2098205823_n.jpg")

↓うまいなー。じぇじぇじぇのおじさんかー

![10598490_1448519672089542_1274238364_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/46d87bda-17b5-a793-517e-4d1e320125ea.jpeg "10598490_1448519672089542_1274238364_n.jpg")

↓これも上手！

![10598230_621524697963967_2013572405_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/2f934ea9-528b-5ff0-a566-6340aea06716.jpeg "10598230_621524697963967_2013572405_n.jpg")

↑すきなたべもの　おすし（意味深）

雰囲気的に「好きなもの書いていいよ」という感じだったので
↓誰が書いたかはわからないけど上手ではないクマの下辺りにランダムに適当な数字を、941っと...

![10616806_539962786136559_627011568_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/c79eec10-b2f9-09b9-544f-6555e873a18a.jpeg "10616806_539962786136559_627011568_n.jpg")

書こうとしたらなぜか941は駄目だーって止められたので942にしました。不思議。


# さいごに。オレはこう思ったっす

モバイルアプリ開発の三人と話している中で、ユーザーのために出来る事を誠実に考えているというのがすごく伝わってきました。世の中で良いと言われているようなことは当然やっていて自分たちのやり方に自慢をするようなところはないけれど、開発への取り組みには自信を持っているという雰囲気がとても印象に残りました。


また、話の中で何度も出てきたのですが、ユーザーサポートの方たちが元はフリルアプリの愛用者なので親身にユーザーサポートをしてくれるしQAテストもしっかりしてくれる、というのもすごく興味深い話しです。これをiOSオジサンたちに分かりやすく例えると、放課後ゲーセンに一人で入り浸っていると店員のお爺さんに店番を頼まれてなんとなくバイトになった、みたいなことです。

その文化を分かっている人たちが運営に回って新しく文化の成長をサポートしていくというのはとても自然で面白いよね、と感じました！


Fablic社は[Wantedlyで求人を出していてiOSアプリ開発者を募集しているようです](https://www.wantedly.com/projects/5934)。文化が合いそうな人や、自分は使ってないけど知り合いの女性がフリルを使っているという男性の開発者も話を聴きに行くと良いかもしれません。

彼らがどんな思いで自分たちの知恵や知識を使ってユーザーの生活に役立てようとしているかが伝わってきて、いい刺激にもなりました。お盆の休み明けの涼しくなったぐらいから頑張りたいっす！


# 読者プレゼント！！

![10584520_261650857366556_1701310983_n.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/c81d39e0-f075-480d-c319-253518fec419.jpeg "10584520_261650857366556_1701310983_n.jpg")

ファブリック社からフリルステッカーを頂戴しました！このネタ記事をストックして@yimajoに会ったときに「ステッカー欲しいぞい」と言って下さい。数に限りは有りますが、9月一杯まではステッカーをサイフに入れて持ち歩きます！「え、ステッカー？何？」って聞き返されたらそれは私ではないということですのでご承知おきください！！


...さーて、次はどこへ行っちゃおうかなー！

# 関連のインタビュー

- [新インタビューシリーズ - Stargzr（スターゲイザー）](https://stargzr.net/interviews/)
- [旧「iOSアプリ開発の現場で訊いてみた」タグの付けられたシリーズ](http://qiita.com/tags/iOS%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%AE%E7%8F%BE%E5%A0%B4%E3%81%A7%E8%A8%8A%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F)