• Save
大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜

on

  • 7,269 views

 

Statistics

Views

Total Views
7,269
Views on SlideShare
6,080
Embed Views
1,189

Actions

Likes
34
Downloads
0
Comments
0

12 Embeds 1,189

http://6109.hidepiy.com 547
http://unsolublesugar.com 204
http://event.shoeisha.jp 181
http://namihira.hatenablog.com 142
https://twitter.com 99
http://intra.iwest.in.infocom.co.jp 7
http://webcache.googleusercontent.com 3
http://cache.yahoofs.jp 2
http://test-event.shoeisha.jp 1
http://slide.yoshiday.net 1
https://kcw.kddi.ne.jp 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

大規模スマートフォンサービス開発の世界 〜無料通話アプリcommの現場から〜 Presentation Transcript

  • 1. ⼤大規模スマートフォンサービス開発の世界 無料通話アプリcommの現場から February  15,  2013   Ichito  Nagata   DeNA  Co.,  Ltd.   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 2. ⾃自⼰己紹介n  ⻑⾧長⽥田 ⼀一登(28)n  エンジニアn  DeNA新卒2年⽬目n  comm開発責任者 2   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 3. 3  Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 4. commn  無料通話&メッセンジャーアプリn  iOS/Android向けに2012年10⽉月23⽇日リリースn  ⾼高品質な無料通話、実名制などが特徴 4   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 5. commn  リリース初⽇日にAppStoreで無料総合1位を獲得n  次の⽇日にTVCM放映の意思決定n  2週間後に全国オンエア開始 5   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 6. commn  2ヶ⽉月強で500万超の登録ユーザーn  当初想定からの極めて⼤大きな上振れ 500万 100万 2012年10⽉月 11⽉月 12⽉月 6   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 7. ⼤大規模であるということ 7   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 8. ユーザーベースの⼤大規模化n  スマートフォンアプリ市場の成熟 n  AppStore:400億DL n  Google Play:250億DLn  B2C型Webサービスの主戦場のひとつへ 8   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 9. プロダクトの⼤大規模化n  開発⼈人員n  広告宣伝費n  etc 9   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 10. commはどのようにして⼤大規模化できたのかn  開発体制n  インフラn  テストn  QAn  集計/分析 10   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 11. 開発体制 11   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 12. 1 5 15 60 12   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 13. リリース以前の開発体制n  15⼈人で1チームのスクラムn  PO、SMが⼀一⼈人ずつ TEAM SM PO 13   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 14. 問題その1    15⼈人…?   14   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 15. ⼤大所帯すぎn  スクラムは5~6⼈人がベストn  様々なコミュニケーションロスの発⽣生n  しかしリリースまではそれで乗り切るしかなかった 15   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 16.   問題その2  POが瀕死   16   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 17. やること多すぎn  通常のPO業務n  企画・仕様決めn  UI/UXもデザインもディレクションn  法務部やCS部とも各種調整n  しかしリリースまではそれで乗り切るしかなかった 17   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 18.   問題その2  SMも瀕死   18   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 19. やること多すぎn  通常のSM業務n  開発リーダーも兼務n  ⾃自分で実装もn  バグ管理もn  しかしリリースまではそれで乗り切るしかなかった 19   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 20. リリース  そして怒涛の ⼈人員追加   20   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 21.   対応その1  SCRUM  OF  SCRUM の導⼊入   21   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 22. SCRUM  OF  SCRUM  の導⼊入n  ファンクションごとの4つのスクラムに分割 CHIEF SM SM PO PO PO PO PO TEAM TEAM TEAM TEAM 22   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 23.   対応その2  専任スクラムマスター の導⼊入   23   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 24. 専属スクラムマスターの導⼊入n  SM業務のみに専念するSM 2n  開発リーダーは開発リーダー業務に専念 24   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 25. インフラ 25   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 26. サービス規模   ×   複雑性 26   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 27. サービス規模n  企画当初から1千万規模のユーザー想定n  開発当初からその規模を⾒見見越したアーキテクチャ 27   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 28. 複雑性n  TCP常時接続n  ⾮非同期処理n  無料通話n  etcn  ⼀一般的なWebアプリケーションよりも複雑 28   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 29. ScalabilityAvailabilityPerformance 29   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 30. Topic:  Messagingn  疎結合でシンプルなコンポーネントに分割n  基本全てのコンポーネントを多重化 Job   Queue Online   Worker 30   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 31. Topic:  Data  Storen  MySQLを使い倒す n  Master/Slave/Backup構成 n  Shardingが前提 n  箇所箇所でHandlerSocketを利⽤用 n  DNSもMyDNS、Job queueもQ4Mn  ⼀一部のIOが激しい箇所でRedisも導⼊入(作業中) 31   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 32. Topic:  DNSn  名前解決であらゆる向き先を分散 n  DB n  KVS n  メールサーバー n  etcn  MyDNSの負荷が⾺馬⿅鹿鹿にならないn  Consistent hashingでDNSをローカルキャッシュ 32   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 33. Topic:  Voice  Talkn  ⽇日⽶米間だと転送遅延が最低でも150msec程度発⽣生n  海外ユーザーの⾳音声通話にはEC2を使⽤用 n  ユーザーの最近傍のリージョンを⾃自動的に選択 n  作りがシンプルなのでいくらでもスケールアウトで きる 33   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 34. テスト 34   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 35. リリース前後のテスト健康状態 サーバー クライアント 単体テスト 結合テスト 35   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 36. 問題その1    サーバーの結合テストが   書きづらい   36   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 37. サーバーの結合テストが書き⾟辛いn  ⾮非同期テストn  常時接続、ジョブキューの再現n  デーモンに依存する処理n  最近テストライブラリを⽤用意したが リリース前はロクに無かった 37   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 38.   問題その2  クライアントの結合テストが   ⼤大変   38   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 39. クライアントの結合テストが⼤大変n  テスターが頑張って⼿手作業 n  QA⼯工数の圧迫 n  気軽にリグレッションを回せないn  かといって⾃自動化も⼤大変 n  環境構築の時点ですでに⼤大変 n  Test Doubleも全部書かなきゃ 39   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 40. 上がらないカバレッジ    QA⼯工数の継続的増加   40   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 41. リリース後のテスト⽅方針 サーバー クライアント 単体テスト がんばる 結合テスト Integrated  UI  AutomaIon  Test 41   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 42. Integrated  UI  AutomaRon  Testn  Calabash/Cucumberを⽤用いたUI⾃自動化テストn  専⽤用サーバー環境を準備n  サーバーの最新のコードとも繋ぎこんで⼀一緒にテスト 42   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 43. Integrated  UI  AutomaRon  Test 43   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 44. Integrated  UI  AutomaRon  Test 動画 44   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 45. 運⽤用n  Jenkins n  ミッドナイト・ヘッドレステスト n  Failするとメールでお叱りn  専任テストエンジニア n  テストスクリプト作成 n  環境全般のメンテナンスn  現状ではリグレッション⽤用途が主 n  開発中は仕様変わるので⼿手作業で試験 n  今後はなるべく開発中から⾃自動化してゆきたい 45   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 46. 結果n  全体のカバレッジが向上中n  リグレッションQA⼯工数が明らかに減った 46   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 47. 限界n  フレームワークの限界 n  アプリをまたぐ処理 n  IMEまわり n  動きのあるものn  サーバーの完全な結合試験は無理 n  あくまで補完的な役割でしかない n  しかし無いより全然マシn  マニュアルテストやサーバー単独の結合テストも必須 47   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 48. 副産物n  スクリーンショットを網羅的に取れる n  リリース前にデザイナーが⼀一覧してチェックできる n  その他、いろいろ便利 48   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 49. QA 49   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 50. リリース前後のQAn  開発チームとQA部とが明確に分離n  数⽇日単位の⼯工数感でTesterをアサインしてもらう QA部 依頼 TEAM Tester Tester 派遣 Tester 50   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 51. 問題その1    コミュニケーション不全   51   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 52. コミュニケーション不全n  チームとテスターとの認識ずれ n  試験項⽬目 n  優先順位 n  スケジュール感n  ようわからん感 n  いま誰が何を試験しているのか n  全体としてどういう状況なのか n  不安、とにかく不安 52   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 53.   問題その2  やらされてる感   53   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 54. やらされてる感n  テスターのアサインが常に流動的n  愛着や責任感が⽣生まれないn  プロダクトを表⾯面的にしか理解できない n  探索的テスト等では致命的 54   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 55. 問題その3    バグ管理の破綻   55   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 56. バグ管理の破綻n  エンジニアが⾃自主的にバグ管理 n  常にブレ続けた管理⽅方針 n  フランクに放置されるブロッカーn  JIRAが廃墟化 n  そして誰もいなくなった JIRA イメージ図 56   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 57. コミュニケーション不全     やらされてる感     バグ管理の破綻   57   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 58. 対応その1     テスターの  チーム張り付き制の   導⼊入   58   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 59. テスターのチーム張り付き制の導⼊入n  正式にチームにJOINn  エンジニアの隣の席で相談しながら作業 TEAM Engineer Tester Engineer Tester Engineer Tester ⽣生暖かい QA部 マネジメント 59   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 60. 対応その2    専任ゲートキーパーの   参加   60   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 61. 専任ゲートキーパーの参加n  藤⽥田さん n  破綻していたJIRAを完璧にお掃除 n  JIRA管理運⽤用⽅方針をゼロから再構築 n  バグ放置してると毎朝メールが来る 藤⽥田明⼦子 (35) 61   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 62. 結果n  バグ件数の順調な減少n  ⼿手戻りの少ない機能検証n  活気を取り戻したJIRA 62   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 63. 補記:Global  QAの難しさn  電波法の問題 n  海外端末を国内のWifiに繋げない n  DeviceAnywhereでリモートデバッグn  ⾔言語の問題 n  バイリンガルテスターの採⽤用 n  翻訳や現地テスターとのやり取りをお願い 63   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 64. 集計/分析 64   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 65. ネイティブアプリ特有の問題n  クライアントでバグが起きていても気付き⾟辛いn  ユーザーのアクティビティがわからないn  各種性能指標も取れない 65   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 66. 何が起きているのか   わからない   わからない 66   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 67. 対応その1    クライアントログ収集   67   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 68. クライアントログ収集n  クライアント側でログを吐く n  各種性能指標 n  アクティビティn  端末にバッファリングして定期的にサーバーに送信 n  サーバーログと同じ形式でHadoop上に保存n  トークや通話等、個⼈人情報や通信に関わる部分は除外 68   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 69. 対応その2    アクティビティの可視化   69   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 70. アクティビティの可視化n  Interaction Stream(開発中) 70   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 71. アクティビティの可視化n  Interaction Heatmap(開発中) 71   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 72. COMMはどこへ⾏行行くのか 72   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 73. commはどこへ⾏行行くのかn  実名制、リアルアイデンティティを軸とした クローズド・コミュニケーションのプラットフォームへn  春ごろに⼤大きな改修を予定 アイデンティティ 実名 Face book ( ( 限 非 定 限 定 多 ー ー ー れ 数 知 知 対 人 人 ) 象 LINE mixi ) ニックネーム 73   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 74. 他サービスとのシナジーを⽬目指してn  ゲームプラットフォーム事業n  EC事業n  新規事業 n  ⾳音楽サービス「Groovy」 n  etc 74   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 75. ACTION 75   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 76. ⼤大規模たれ 76   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.  
  • 77. ⼤大規模たれn  今後、より⾯面⽩白くなるスマートフォンアプリ市場n  要請される規模感に応じた Architecturen  それが実現できる環境 How  about  DeNA?   How  about  comm  team? Thank  you.     Ichito  Nagata 77   Copyright  (C)  2013  DeNA  Co.,Ltd.  All  Rights  Reserved.