Upload
imamura-masayuki
View
4.315
Download
0
Embed Size (px)
DESCRIPTION
iQON エンジニアセミナー by VASILYでの資料 @kyuns
Citation preview
iQONにおける開発手法
2013/03/18
@kyuns on iQON エンジニアセミナー
自己紹介今村雅幸 / @kyuns
取締役 CTO
2006/4 - 2009/4 Yahoo! JAPANにエンジニアとして新卒入社。Yahoo! FASHIONやX BRANDなどのサービスを開発。2009/5 - VASILY創業。iOSアプリ開発や様々なWebサイト等を開発、2010年にiQONベータ版リリース。
Engineering Team
@6ratsAndroid/Backend
@WorldDownTowniOS
@arara_jpiOS
@kyuns Web/Backend
iQONにおける開発手法
iQONの規模感• 月間API コール 4億/月
• 画像リクエスト回数 4億/月
• アイテム数120万件、コーデ30万件
• お気に入りアイテムデータ1000万件
• 日本最大級のファッションSNSサービス
我々はスタートアップ
スタートアップ
• 資金も時間も有限
• “何が世の中を変えれるのか”の検証
• 正解は無い
厳しい時間的制約
効率的な開発手法
VASILY流リーン&アジャイル
Learn Build
MeasureData
Idea
Product
計測、データ収集、A/Bテスト
プロダクトの開発気づき
効率的な開発• 全てはBuild-Measure-Learnの高速化
• 効率的な開発スタイルが必要
1.労働環境2.開発環境3. 開発手法
開発スタイル1.労働環境
労働環境• 好きなMacを選べる
(Windowsは宗教上の理由によりVMWare内)
• 技術書籍代は全額会社負担
• アーロンチェア
• フリードリンク
開発スタイル2.開発環境
開発環境デプロイ/ CI
Capistrano / Jenkins
メイン言語Ruby on Rails 3 / Ruby 1.9.2
サーバー環境AWS / EC2
各種ミドルウェアMySQL,MongoDB, RedisMemcached,Varnish,CloudFront,Solr,fluentd,Hadoop,EMR... etc
監視zabbix
開発スタイル3.開発手法
効率的な開発手法
• 最適な開発サイクル
• タスク&進捗管理
• コードの共有/レビュー
• ロジックの一本化
最適な開発サイクルとは
iOSアプリには約1週間ほどかかる審査がある
最大のボトルネック
審査期間を活かす• 2週間を開発リリースサイクルに
http://tech.vasily.jp/2013/01/waiting-for-review/
常にWaiting For Reviewを目指すiOSアプリの開発手法
開発
審査バグ対応テスト
リリース
約2週間=1バージョン
1週間 1週間
タスク&進捗管理
Redmine
項目をカスタマイズして利用プラットフォーム,バージョン,デザインの有無,ラベル名変更等バージョンごとのタスクと進捗を管理
チケットの工夫チケット作成時に・現状 (問題点)
・改善案 (解決案)
・理由 (なぜやるのか)
・効果 (見るべき数値)
必ず書くように
意識の統一、ズレを無くす
HowWhat
Why
コードの共有/レビュー
github
• 社内gitlabからgithub.comに移行
• pull request / code review
• 各種branchはredmineのチケット単位
ロジックの一本化
iQON Product
iPhone
PC / Widget
SmartPhone Android
API Model
APInginx/Rails/unicorn
iPhone
Android
PC
plist
json
json
• iQON内のデータの読み書きは全てWebAPI経由で行う• ロジックを1箇所にまとめてマルチプラットフォーム対応
まとめ
開発におけるありとあらゆる部分で効率化本質的な問題にフォーカス
Build-Measure-Learnを高速に実行
VASILYでは爆速で新しいファッションメディアを
作る仲間を募集中です