Save 37% off PRO during our Black Friday Sale! »

モバイルゲーム運営における認知資源をより有効活用していくための取り組み/Devsumi2019 Fukuoka DELiGHTWORKS

モバイルゲーム運営における認知資源をより有効活用していくための取り組み/Devsumi2019 Fukuoka DELiGHTWORKS

29c0a6e77a1133fd010aa93e6e4651b0?s=128

Kazumasa Kuramochi

August 29, 2019
Tweet

Transcript

  1. Copyright 2019 DELiGHTWORKS. モバイルゲーム運営における 認知資源をより有効活⽤していくための取り組み ディライトワークス株式会社 技術部 倉持和匡

  2. Copyright 2019 DELiGHTWORKS. ⾃⼰紹介 2 倉持 和匡 ディライトワークス株式会社 技術部所属 2018年9⽉⼊社

    英語版『Fate/Grand Order』 エンジニアリーダー
  3. Copyright 2019 DELiGHTWORKS. 英語版『Fate/Grand Order』 3 ⽇本でのリリースから2年後の 2017年6⽉にアメリカとカナダで配信開始 2018年4⽉からはシンガポール、タイ、 フィリピン、ベトナム、オーストラリアでも配信

  4. Copyright 2019 DELiGHTWORKS. 4 本⽇のお話

  5. Copyright 2019 DELiGHTWORKS. 5 重要かつ緊急 重要だが緊急でない 重要でないが緊急 重要でなく緊急でない ⾼ 緊急度

    低 ⾼ 重 要 度 低 ⻘⾊部分の仕事の対応⼒を上げるには?
  6. Copyright 2019 DELiGHTWORKS. 6 ⽇々課題に感じていること

  7. Copyright 2019 DELiGHTWORKS. 7 サービスを運営していると ⽇々やるべきことが増えていく

  8. Copyright 2019 DELiGHTWORKS. 8 ただ出社するだけで 昨⽇まで存在していなかった 仕事が次々と⽣まれてくる..︕

  9. Copyright 2019 DELiGHTWORKS. 9 既にあるタスクは そのままに 新しいタスクが増える

  10. Copyright 2019 DELiGHTWORKS. 10 昨⽇までは 存在していなかった 仕事の具体例

  11. Copyright 2019 DELiGHTWORKS. 11 GooglePlay,AppStore からの義務化 昨⽇までは存在していなかった仕事

  12. Copyright 2019 DELiGHTWORKS. 12 ◯⽉までに新バージョンの SDKの使⽤が義務化 昨⽇までは存在していなかった仕事

  13. Copyright 2019 DELiGHTWORKS. 13 ポリシーが変更されたので ◯⽉までに対応必須 昨⽇までは存在していなかった仕事

  14. Copyright 2019 DELiGHTWORKS. 14 変更していない ストア掲載の スクリーンショットが 原因でリジェクト 昨⽇までは存在していなかった仕事

  15. Copyright 2019 DELiGHTWORKS. 15 某国から⼤量の BOTアクセスが…… 昨⽇までは存在していなかった仕事

  16. Copyright 2019 DELiGHTWORKS. 16 Gitの操作ができなくなりました…… マシンの調⼦が悪くなりました…… etc 相談対応 昨⽇までは存在していなかった仕事

  17. 本当に次々と 何でも起こる..

  18. Copyright 2019 DELiGHTWORKS. 18 想定外の仕事が 発⽣するのは 受け⼊れるしかない

  19. Copyright 2019 DELiGHTWORKS. 19 それらは⼤抵の場合 放置できず緊急度が⾼い

  20. Copyright 2019 DELiGHTWORKS. 20 普段抱えている業務に ⾼い集中⼒や注意⼒を要求する ものがあると

  21. Copyright 2019 DELiGHTWORKS. 21 予期せず⽣まれた仕事に 対処する余裕が無くなる

  22. Copyright 2019 DELiGHTWORKS. 22 ⾼い集中⼒や注意⼒を 要求する作業は 認知資源を多く消費する

  23. 認知資源

  24. ・⼼理学⽤語 ・注意や集中を要する活動をすることで消費される 脳が使えるリソースを指す概念 ・1⽇に使える総量は有限

  25. Copyright 2019 DELiGHTWORKS. 25 時間の無駄遣いは 意識されているが

  26. Copyright 2019 DELiGHTWORKS. 26 認知資源の無駄遣いは あまり意識されていないのでは︖

  27. Copyright 2019 DELiGHTWORKS. 27 認知資源を浪費している 仕事を⾒つけて改善する

  28. Copyright 2019 DELiGHTWORKS. 改善事例 〜⽬次〜 28 プルリク リマインダー メンテナンススケジュール作成ツール ダウンロードサイズ肥⼤化

    検出の⾃動化 リリースブランチ間マージの補助ツール
  29. プルリク リマインダー

  30. Copyright 2019 DELiGHTWORKS. プルリクの運⽤ 30 GitHub Enterpriseでバージョン管理 全ての修正がプルリク,レビュー対象 エンジニア全員でレビュー

  31. Copyright 2019 DELiGHTWORKS. 31 退勤までに忘れずに レビューしてもらいたいとき、 皆さんどうしてますか︖

  32. Copyright 2019 DELiGHTWORKS. 改善前のレビュー依頼⽅法 32 未解決のプルリクがあるか確認して、 まだレビューしていない⼈に チャットで呼びかけたり、、 歩き回って声がけしたり。。。

  33. Copyright 2019 DELiGHTWORKS. 33 なんとかして この作業をやらずに済ませる ⽅法は無いか..

  34. リマインダー ツールを作ろう

  35. Copyright 2019 DELiGHTWORKS. プルリク リマインダー 35

  36. Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 36 GitHubが提供する コマンドラインツール 「Hub」を使⽤ https://hub.github.com/ https://github.com/github/hub

  37. Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 37 hub prコマンドで未消化のプルリクを出⼒ >hub pr list

    -f “%pC%>(8)%i%Creset %t% l %cr %n %U %n 残りレビュアー :%rs" 未消化のプルリクの『番号』『タイトル』『作成からの経過時間』 『まだ⾒てないレビュアーは誰か』が全て出⼒
  38. Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 38 Jenkinsで毎⽇朝晩2回実⾏ Slackチャンネルにメンション付きで通知

  39. Copyright 2019 DELiGHTWORKS. 39 プルリクの リマインド作業からの解放

  40. メンテナンス スケジュール 作成ツール

  41. Copyright 2019 DELiGHTWORKS. メンテナンス作業について 41 サービスの⼀時停⽌ サーバープログラムやデータの更新 新バージョンアプリの公開 お知らせの更新 etc

  42. Copyright 2019 DELiGHTWORKS. メンテナンス作業について 42 メンテナンス作業に関わる⼈数 10⼈程度 定期メンテナンスの作業項⽬数 30〜40項⽬程度 数分〜数⼗分の単位で各作業が順番に進⾏

  43. Copyright 2019 DELiGHTWORKS. 実際のメンテナンススケジュールの⼀部(参考) 43 作業例 13:20 [Server] マスターデータを本番環境に反映する(約5分)担当〇〇

  44. Copyright 2019 DELiGHTWORKS. 44 スケジュール作成の 問題点

  45. Copyright 2019 DELiGHTWORKS. 問題点1 45 過去のスケジュールの コピーから作成 (作業記載漏れのリスク)

  46. Copyright 2019 DELiGHTWORKS. コピペスケジュールでの失敗談…(1/2) 46 メンテナンス無しで始まるイベントがあり、 過去にあった類似の予定をコピーして作成 コピー元の予定には無かった 『ファイルアップロード作業』が実は 今回は必要だった..

  47. Copyright 2019 DELiGHTWORKS. コピペスケジュールでの失敗談…(2/2) 47 事前に本番環境にアップロードしておくのを忘れ.. 必要なファイルが本番環境に上がってない.. イベント開始直後にゲームが遊べなくなり、 ランチから慌てて会社に戻って対応することに…

  48. Copyright 2019 DELiGHTWORKS. 問題点2 48 各作業の開始時間は すべて⼿計算..!

  49. Copyright 2019 DELiGHTWORKS. 問題点3 49 ⾃分の作業があることに 気づきにくい

  50. Copyright 2019 DELiGHTWORKS. 50 これらの問題を解決するため 何を⾏ったか

  51. Copyright 2019 DELiGHTWORKS. 改善策 51 Wikiへの直書きと時間の⼿計算を廃⽌ Googleスプレッドシートで予定を管理 コピペではなくテンプレート化 Google Apps

    Script(GAS)を使った ツールを作成
  52. Copyright 2019 DELiGHTWORKS. GASで実装した機能 52 各作業の開始時間の⾃動計算 メンテナンス専⽤カレンダーに予定を登録 作業担当者への招待 (リマインド機能) Wiki貼り付け⽤の全予定テキスト出⼒機能

  53. Copyright 2019 DELiGHTWORKS. スプレッドシートでの⼊⼒イメージ 53 開始時間 所要時間(分) カテゴリ 担当者 作業項目

    3日前作業 事前作業 〇〇 アセットのアップロード 自動計算 5 メンテナンス作業 〇〇 サーバー更新 自動計算 15 メンテナンス作業 〇〇 アプリ公開 1日後作業 事後作業 〇〇 メンテナンス開始日時 2019/8/29 14:15 開始時間計算ボタン 予定登録ボタン テキスト出力ボタン 予定削除ボタン
  54. Copyright 2019 DELiGHTWORKS. 全ての問題を解決︕ 54 過去のスケジュールのコピーから作成 各作業の開始時間はすべて⼿計算..! ⾃分の作業があることに気づきにくい

  55. ダウンロードサイズ肥⼤化 検出の⾃動化

  56. Copyright 2019 DELiGHTWORKS. ダウンロードサイズの肥⼤化 56 アプリがダウンロードするファイルは 開発中に増えていく CDNのネットワーク帯域が 逼迫しないよう備える必要がある

  57. Copyright 2019 DELiGHTWORKS. ダウンロードサイズの肥⼤化 57 あらかじめダウンロードサイズを⾒積もる CDNの上限緩和申請が必要な場合がある インフラチームはリリースの2週間前に 申請が必要なサイズかを把握しておきたい

  58. Copyright 2019 DELiGHTWORKS. ダウンロードサイズの計算 58 追加ダウンロードサイズの計算が必要 上限緩和申請を出す必要があるか 事前に予測することは困難

  59. Copyright 2019 DELiGHTWORKS. 改善前の問題点 59 計算ツールはあるが毎度⼿動実⾏だった ツール実⾏に必要なパラメータ 準備にひと⼿間かかる 2週間前に実⾏することを覚えて おかなければならない

  60. Copyright 2019 DELiGHTWORKS. 失敗談… 60 上限緩和申請が必要と判断される ダウンロードサイズの数倍に 膨らんでいたがアラートを上げ忘れていた そのままイベント当⽇を迎える…

  61. Copyright 2019 DELiGHTWORKS. 61 どういった改善を⾏ったか

  62. Copyright 2019 DELiGHTWORKS. どういった改善を⾏ったか 62 毎⽇Jenkinsで計算するツールを⽤意 計算結果をSlackチャンネルに通知 ⼀定サイズを超えたら インフラチームにメンション付きで通知

  63. Copyright 2019 DELiGHTWORKS. 改善を⾏った結果 63 ダウンロードサイズ計算の⼿間から 解放された︕ リリースの2週間前に実施することを 覚えておく必要がなくなった︕

  64. ブランチ間マージ補助ツール(計画中)

  65. Copyright 2019 DELiGHTWORKS. 複数ブランチでの並⾏開発 65 1~2ヶ⽉先に配信予定のイベントの 開発とQAが複数並⾏して進⾏ それぞれGitのブランチを分けて開発

  66. Copyright 2019 DELiGHTWORKS. リリースブランチ間マージについて 66 各ブランチで⾏われた修正は 次にリリース予定のブランチにも反映

  67. Copyright 2019 DELiGHTWORKS. マージの必要性と頻度の⾼さ 67 修正内容を次バージョンでも反映させる ためマージが必要 コミット差分をチェックしてマージする 頻度はほぼ毎⽇

  68. Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点1 68 コミット差分チェックから マージプルリク作成まで全て⼿動

  69. Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点2 69 ⼀部ファイルはコンフリクトする 場合があり解決が必要

  70. Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点3 70 並⾏開発している全ての ブランチ間でマージが必要

  71. Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点4 71 この煩雑なブランチ間の マージ作業は(ほぼ) 毎⽇⾏う必要がある

  72. Copyright 2019 DELiGHTWORKS. 72 どのような改善が⾏えるか

  73. Hubを使ってプルリク作成を⾃動化

  74. Copyright 2019 DELiGHTWORKS. プルリク作成の⾃動化 74 Hub でプルリク作成が可能 >hub pull-request コマンドで作成

    プルリクが0件の時=マージ可能な時、 マージプルリクを⾃動で作成する
  75. Copyright 2019 DELiGHTWORKS. 75 これできっと楽になれる

  76. Copyright 2019 DELiGHTWORKS. 最後に 76 何のために認知資源を節約するのか?

  77. Copyright 2019 DELiGHTWORKS. 77 重要かつ緊急 (予期せず発生するタスク) 重要だが緊急でない 重要でないが緊急 重要でなく緊急でない ⾼

    緊急度 低 ⾼ 重 要 度 低 予期せず発⽣するタスクに対処できる余裕を⽣み出す
  78. Copyright 2019 DELiGHTWORKS. 78 重要かつ緊急 (予期せず発生するタスク) 重要だが緊急でない (準備, 計画, 挑戦,成長)

    重要でないが緊急 重要でなく緊急でない ⾼ 緊急度 低 ⾼ 重 要 度 低 計画的な仕事、⾃⼰成⻑のための余裕を⽣み出す
  79. Copyright 2019 DELiGHTWORKS.