• Like
Abc2013 autumn fujiwara
Upcoming SlideShare
Loading in...5
×

Abc2013 autumn fujiwara

  • 595 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
595
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
7
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 「Ameba」サービスの舞台裏
 Android編 株式会社サイバーエージェント チーフネイティブエンジニア 藤原 聖
  • 2. 自己紹介 藤原 聖 ふじわらさとる 株式会社サイバーエージェント アメーバ事業本部 サービス部門 チーフネイティブエンジニア ・コミュニティ ・ブログ ・プラットフォーム
  • 3. 経歴 東京大学工学部電子情報工学科卒 ベンチャーでandroid/iOSの受託開発 2010年3月よりandroid開発 ABC2011Winter@東京大学 よりABC参加 2011年9月サイバーエージェント入社
  • 4. アジェンダ • Amebaのサービス開発の舞台裏 • スピード&クオリティアップのための取り 組み • まとめ • 質疑応答
  • 5. アジェンダ • Amebaのサービス開発の舞台裏 • スピード&クオリティアップのための取り 組み • まとめ • 質疑応答
  • 6. 「Ameba」のスマホ向 けサービスについて
  • 7. Amebaスマホサービス Amebaでは ・ゲーム ・コミュニティ を中心に 様々なスマホアプリを 内製で開発しています
  • 8. 年間100タイトル およそ その数なんと「年間100タイトル」
  • 9. チームの体制について
  • 10. チームの体制(コミュニティ系サービスの場合) プロデューサー(責任者) 1名 ディレクター/プランナー 0名∼2名 デザイナー 1∼2名 フロントサイドエンジニア 2名∼3名 サーバーサイドエンジニア 2名∼3名 ネイティブエンジニア 0名∼2名
  • 11. ネイティブエンジニアの体制について • コミュニティ • メインとなるPJに所属するが、それ以外に も複数のPJを兼任して担当 • ゲーム • ゲームプラットフォーム室に所属して、全て のゲームを集中して担当 • ネイティブスタジオ(Unity/cocos2d) • プラットフォーム • ネイティブエンジニアが専任で担当
  • 12. Ameba内における Android
  • 13. Androidファースト?!
  • 14. Androidファースト iOS先行の開発からandroid先行の開発へ 盛り上がる社内のAndroid熱 しかし、一週間後
  • 15. ドコモからiPhone発売
  • 16. ドコモからiPhone発売 しかし、androidを強化し なくてはならない
  • 17. 余談ですが AppleStoreに13時間並んで iPhone5S(docomo)買いました ゴールドは買えず、シルバーに 10/24発売のXperiaZ1を狙っています
  • 18. Amebaの
 Android開発での課題
  • 19. 課題 • スピードをもっと高めたい • 短期間で多くのサービスを開発する必要 がある • ネイティブエンジニアの不足 • 人の異動が多い • クオリティをもっと高めたい
  • 20. 前半まとめ
  • 21. Amebaのスマートフォ ン向けサービスの開発の 舞台裏は
  • 22. 多くのアプリを少人数で 開発
 スピード&クオリティ アップが課題
  • 23. アジェンダ • Amebaのサービス開発の舞台裏 • スピード&クオリティアップのための取り 組み • まとめ • 質疑応答
  • 24. スピード&クオリティ • スピードをあげるための取り組み • 開発を効率化させるライブラリ • 開発環境 • クオリティをあげるための取り組み • テスト • チェック体制 • デザイン
  • 25. スピード&クオリティ • スピードをあげるための取り組み • 開発を効率化させるライブラリ • 開発環境 • クオリティをあげるための取り組み • テスト • チェック体制 • デザイン
  • 26. 開発効率化のための
 ライブラリ
  • 27. NBUBase 通信とキャッシュ機能 Volleyに近い 採用アプリ
  • 28. NBUGap PhoneGapがベース JavaScriptベースでandroid/iOSアプリが作 れる 採用アプリ
  • 29. Amebaフレームワーク(仮) 通信機能とDB 採用アプリ
  • 30. AmebaプラットフォームSDK Amebaのスマートフォンプラットフォーム用 認証機能(シングルサインオン) API通信 採用アプリ ほぼ全て
  • 31. GPUImage for android カメラ系アプリのために開発 GitHubにて公開 https://github.com/CyberAgent/androidgpuimage 採用アプリ
  • 32. 開発効率化のための
 ライブラリ
  • 33. 使われないと意味がない
 通信/DB/キャッシュは やっぱ使う
 画像は少し難しい
  • 34. 開発効率化のための
 開発環境
  • 35. AppZone JenkinsでビルドしたapkをPOST apkをデバイスからダウンロード 非エンジニアでも最新のアプリを 入手
  • 36. BugSense/Crashlytics BugSenseを全プロジェクトに導入 一部でcrashlyticsも使用 非エンジニアも閲覧/分析
  • 37. GitHub Enterprize 2013年4月に本格導入 git flow + pull request 開発効率が「3倍エージェント」
  • 38. Antビルド android update project Jenkinsでビルドする 開発/ステージング/本番環境の切り替えに使う AppZoneとの組み合わせでより強力に
  • 39. 開発効率化のための
 開発環境
  • 40. GitHub最高
 非エンジニアも参加でき る工夫
  • 41. スピード&クオリティ • スピードをあげるための取り組み • 開発を効率化させるライブラリ • 開発環境 • クオリティをあげるための取り組み • テスト • チェック体制 • デザイン
  • 42. クオリティをあげるため の取り組み
  • 43. テスト
  • 44. テスト テスト体制:5段階チェック (第1の砦)健全化・監視確認 CSグループ (第2の砦)アプリ機能診断 SMAq (QAグループ) (第3の砦)脆弱性診断 セキュリティG (第4の砦)レギュレーション診断 テクニカルサポート (第5の砦)アプリリリース判定 総合プロデュース室 1 2 3 4 5 リリース
  • 45. 検証司令塔 問い合わせ一本化 CSグループ プ ロ ジ ェ ク ト SMAq 一本化 セキュリティG テクサポ 検証 司令塔 総合P室
  • 46. チェック体制
  • 47. K点チェック アプリリリース判定 PJを横断的に見る総合プロデュース室 チーフクリエイティブディレクター チーフエンジニア がアプリのクオリティをチェック
  • 48. ダカイゼンすすむボード(信号) リリース直後は赤信号。 継続率が一定の数値を超えたら黄信号。 更に一定の数値を超えたら青信号。
  • 49. レスポンス選手権 各サービスの主要Webページのレスポンスを 自動で計測(ReSpeedA) 隔週ごとにランキング形式で全員に告知
  • 50. デザイン
  • 51. デザイナーロワイヤル 既にリリースされているサービスに対して、 数名のデザイナーが改善案を出す 審査員が採点し、そのポイントを競う 傍聴席がある
  • 52. 類似サービス委員会 類似サービスを集めて議論 ノウハウ共有&レビュー 掲示板/日記/写真 など
  • 53. アジェンダ • Amebaのサービス開発の舞台裏 • スピード&クオリティアップのための取り 組み • まとめ • 質疑応答
  • 54. まとめ
  • 55. Amebaはチームで
 スピード&クオリティ アップを目指す
  • 56. ご清聴ありがとうござい ました
  • 57. アジェンダ • Amebaのサービス開発の舞台裏 • スピード&クオリティアップのための取り 組み • まとめ • 質疑応答