モバイルゲーム運営における認知資源をより有効活用していくための取り組み/Devsumi2019 Fukuoka DELiGHTWORKS
by
Kazumasa Kuramochi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Copyright 2019 DELiGHTWORKS. モバイルゲーム運営における 認知資源をより有効活⽤していくための取り組み ディライトワークス株式会社 技術部 倉持和匡
Slide 2
Slide 2 text
Copyright 2019 DELiGHTWORKS. ⾃⼰紹介 2 倉持 和匡 ディライトワークス株式会社 技術部所属 2018年9⽉⼊社 英語版『Fate/Grand Order』 エンジニアリーダー
Slide 3
Slide 3 text
Copyright 2019 DELiGHTWORKS. 英語版『Fate/Grand Order』 3 ⽇本でのリリースから2年後の 2017年6⽉にアメリカとカナダで配信開始 2018年4⽉からはシンガポール、タイ、 フィリピン、ベトナム、オーストラリアでも配信
Slide 4
Slide 4 text
Copyright 2019 DELiGHTWORKS. 4 本⽇のお話
Slide 5
Slide 5 text
Copyright 2019 DELiGHTWORKS. 5 重要かつ緊急 重要だが緊急でない 重要でないが緊急 重要でなく緊急でない ⾼ 緊急度 低 ⾼ 重 要 度 低 ⻘⾊部分の仕事の対応⼒を上げるには?
Slide 6
Slide 6 text
Copyright 2019 DELiGHTWORKS. 6 ⽇々課題に感じていること
Slide 7
Slide 7 text
Copyright 2019 DELiGHTWORKS. 7 サービスを運営していると ⽇々やるべきことが増えていく
Slide 8
Slide 8 text
Copyright 2019 DELiGHTWORKS. 8 ただ出社するだけで 昨⽇まで存在していなかった 仕事が次々と⽣まれてくる..︕
Slide 9
Slide 9 text
Copyright 2019 DELiGHTWORKS. 9 既にあるタスクは そのままに 新しいタスクが増える
Slide 10
Slide 10 text
Copyright 2019 DELiGHTWORKS. 10 昨⽇までは 存在していなかった 仕事の具体例
Slide 11
Slide 11 text
Copyright 2019 DELiGHTWORKS. 11 GooglePlay,AppStore からの義務化 昨⽇までは存在していなかった仕事
Slide 12
Slide 12 text
Copyright 2019 DELiGHTWORKS. 12 ◯⽉までに新バージョンの SDKの使⽤が義務化 昨⽇までは存在していなかった仕事
Slide 13
Slide 13 text
Copyright 2019 DELiGHTWORKS. 13 ポリシーが変更されたので ◯⽉までに対応必須 昨⽇までは存在していなかった仕事
Slide 14
Slide 14 text
Copyright 2019 DELiGHTWORKS. 14 変更していない ストア掲載の スクリーンショットが 原因でリジェクト 昨⽇までは存在していなかった仕事
Slide 15
Slide 15 text
Copyright 2019 DELiGHTWORKS. 15 某国から⼤量の BOTアクセスが…… 昨⽇までは存在していなかった仕事
Slide 16
Slide 16 text
Copyright 2019 DELiGHTWORKS. 16 Gitの操作ができなくなりました…… マシンの調⼦が悪くなりました…… etc 相談対応 昨⽇までは存在していなかった仕事
Slide 17
Slide 17 text
本当に次々と 何でも起こる..
Slide 18
Slide 18 text
Copyright 2019 DELiGHTWORKS. 18 想定外の仕事が 発⽣するのは 受け⼊れるしかない
Slide 19
Slide 19 text
Copyright 2019 DELiGHTWORKS. 19 それらは⼤抵の場合 放置できず緊急度が⾼い
Slide 20
Slide 20 text
Copyright 2019 DELiGHTWORKS. 20 普段抱えている業務に ⾼い集中⼒や注意⼒を要求する ものがあると
Slide 21
Slide 21 text
Copyright 2019 DELiGHTWORKS. 21 予期せず⽣まれた仕事に 対処する余裕が無くなる
Slide 22
Slide 22 text
Copyright 2019 DELiGHTWORKS. 22 ⾼い集中⼒や注意⼒を 要求する作業は 認知資源を多く消費する
Slide 23
Slide 23 text
認知資源
Slide 24
Slide 24 text
・⼼理学⽤語 ・注意や集中を要する活動をすることで消費される 脳が使えるリソースを指す概念 ・1⽇に使える総量は有限
Slide 25
Slide 25 text
Copyright 2019 DELiGHTWORKS. 25 時間の無駄遣いは 意識されているが
Slide 26
Slide 26 text
Copyright 2019 DELiGHTWORKS. 26 認知資源の無駄遣いは あまり意識されていないのでは︖
Slide 27
Slide 27 text
Copyright 2019 DELiGHTWORKS. 27 認知資源を浪費している 仕事を⾒つけて改善する
Slide 28
Slide 28 text
Copyright 2019 DELiGHTWORKS. 改善事例 〜⽬次〜 28 プルリク リマインダー メンテナンススケジュール作成ツール ダウンロードサイズ肥⼤化 検出の⾃動化 リリースブランチ間マージの補助ツール
Slide 29
Slide 29 text
プルリク リマインダー
Slide 30
Slide 30 text
Copyright 2019 DELiGHTWORKS. プルリクの運⽤ 30 GitHub Enterpriseでバージョン管理 全ての修正がプルリク,レビュー対象 エンジニア全員でレビュー
Slide 31
Slide 31 text
Copyright 2019 DELiGHTWORKS. 31 退勤までに忘れずに レビューしてもらいたいとき、 皆さんどうしてますか︖
Slide 32
Slide 32 text
Copyright 2019 DELiGHTWORKS. 改善前のレビュー依頼⽅法 32 未解決のプルリクがあるか確認して、 まだレビューしていない⼈に チャットで呼びかけたり、、 歩き回って声がけしたり。。。
Slide 33
Slide 33 text
Copyright 2019 DELiGHTWORKS. 33 なんとかして この作業をやらずに済ませる ⽅法は無いか..
Slide 34
Slide 34 text
リマインダー ツールを作ろう
Slide 35
Slide 35 text
Copyright 2019 DELiGHTWORKS. プルリク リマインダー 35
Slide 36
Slide 36 text
Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 36 GitHubが提供する コマンドラインツール 「Hub」を使⽤ https://hub.github.com/ https://github.com/github/hub
Slide 37
Slide 37 text
Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 37 hub prコマンドで未消化のプルリクを出⼒ >hub pr list -f “%pC%>(8)%i%Creset %t% l %cr %n %U %n 残りレビュアー :%rs" 未消化のプルリクの『番号』『タイトル』『作成からの経過時間』 『まだ⾒てないレビュアーは誰か』が全て出⼒
Slide 38
Slide 38 text
Copyright 2019 DELiGHTWORKS. リマインダーツールの作成 38 Jenkinsで毎⽇朝晩2回実⾏ Slackチャンネルにメンション付きで通知
Slide 39
Slide 39 text
Copyright 2019 DELiGHTWORKS. 39 プルリクの リマインド作業からの解放
Slide 40
Slide 40 text
メンテナンス スケジュール 作成ツール
Slide 41
Slide 41 text
Copyright 2019 DELiGHTWORKS. メンテナンス作業について 41 サービスの⼀時停⽌ サーバープログラムやデータの更新 新バージョンアプリの公開 お知らせの更新 etc
Slide 42
Slide 42 text
Copyright 2019 DELiGHTWORKS. メンテナンス作業について 42 メンテナンス作業に関わる⼈数 10⼈程度 定期メンテナンスの作業項⽬数 30〜40項⽬程度 数分〜数⼗分の単位で各作業が順番に進⾏
Slide 43
Slide 43 text
Copyright 2019 DELiGHTWORKS. 実際のメンテナンススケジュールの⼀部(参考) 43 作業例 13:20 [Server] マスターデータを本番環境に反映する(約5分)担当〇〇
Slide 44
Slide 44 text
Copyright 2019 DELiGHTWORKS. 44 スケジュール作成の 問題点
Slide 45
Slide 45 text
Copyright 2019 DELiGHTWORKS. 問題点1 45 過去のスケジュールの コピーから作成 (作業記載漏れのリスク)
Slide 46
Slide 46 text
Copyright 2019 DELiGHTWORKS. コピペスケジュールでの失敗談…(1/2) 46 メンテナンス無しで始まるイベントがあり、 過去にあった類似の予定をコピーして作成 コピー元の予定には無かった 『ファイルアップロード作業』が実は 今回は必要だった..
Slide 47
Slide 47 text
Copyright 2019 DELiGHTWORKS. コピペスケジュールでの失敗談…(2/2) 47 事前に本番環境にアップロードしておくのを忘れ.. 必要なファイルが本番環境に上がってない.. イベント開始直後にゲームが遊べなくなり、 ランチから慌てて会社に戻って対応することに…
Slide 48
Slide 48 text
Copyright 2019 DELiGHTWORKS. 問題点2 48 各作業の開始時間は すべて⼿計算..!
Slide 49
Slide 49 text
Copyright 2019 DELiGHTWORKS. 問題点3 49 ⾃分の作業があることに 気づきにくい
Slide 50
Slide 50 text
Copyright 2019 DELiGHTWORKS. 50 これらの問題を解決するため 何を⾏ったか
Slide 51
Slide 51 text
Copyright 2019 DELiGHTWORKS. 改善策 51 Wikiへの直書きと時間の⼿計算を廃⽌ Googleスプレッドシートで予定を管理 コピペではなくテンプレート化 Google Apps Script(GAS)を使った ツールを作成
Slide 52
Slide 52 text
Copyright 2019 DELiGHTWORKS. GASで実装した機能 52 各作業の開始時間の⾃動計算 メンテナンス専⽤カレンダーに予定を登録 作業担当者への招待 (リマインド機能) Wiki貼り付け⽤の全予定テキスト出⼒機能
Slide 53
Slide 53 text
Copyright 2019 DELiGHTWORKS. スプレッドシートでの⼊⼒イメージ 53 開始時間 所要時間(分) カテゴリ 担当者 作業項目 3日前作業 事前作業 〇〇 アセットのアップロード 自動計算 5 メンテナンス作業 〇〇 サーバー更新 自動計算 15 メンテナンス作業 〇〇 アプリ公開 1日後作業 事後作業 〇〇 メンテナンス開始日時 2019/8/29 14:15 開始時間計算ボタン 予定登録ボタン テキスト出力ボタン 予定削除ボタン
Slide 54
Slide 54 text
Copyright 2019 DELiGHTWORKS. 全ての問題を解決︕ 54 過去のスケジュールのコピーから作成 各作業の開始時間はすべて⼿計算..! ⾃分の作業があることに気づきにくい
Slide 55
Slide 55 text
ダウンロードサイズ肥⼤化 検出の⾃動化
Slide 56
Slide 56 text
Copyright 2019 DELiGHTWORKS. ダウンロードサイズの肥⼤化 56 アプリがダウンロードするファイルは 開発中に増えていく CDNのネットワーク帯域が 逼迫しないよう備える必要がある
Slide 57
Slide 57 text
Copyright 2019 DELiGHTWORKS. ダウンロードサイズの肥⼤化 57 あらかじめダウンロードサイズを⾒積もる CDNの上限緩和申請が必要な場合がある インフラチームはリリースの2週間前に 申請が必要なサイズかを把握しておきたい
Slide 58
Slide 58 text
Copyright 2019 DELiGHTWORKS. ダウンロードサイズの計算 58 追加ダウンロードサイズの計算が必要 上限緩和申請を出す必要があるか 事前に予測することは困難
Slide 59
Slide 59 text
Copyright 2019 DELiGHTWORKS. 改善前の問題点 59 計算ツールはあるが毎度⼿動実⾏だった ツール実⾏に必要なパラメータ 準備にひと⼿間かかる 2週間前に実⾏することを覚えて おかなければならない
Slide 60
Slide 60 text
Copyright 2019 DELiGHTWORKS. 失敗談… 60 上限緩和申請が必要と判断される ダウンロードサイズの数倍に 膨らんでいたがアラートを上げ忘れていた そのままイベント当⽇を迎える…
Slide 61
Slide 61 text
Copyright 2019 DELiGHTWORKS. 61 どういった改善を⾏ったか
Slide 62
Slide 62 text
Copyright 2019 DELiGHTWORKS. どういった改善を⾏ったか 62 毎⽇Jenkinsで計算するツールを⽤意 計算結果をSlackチャンネルに通知 ⼀定サイズを超えたら インフラチームにメンション付きで通知
Slide 63
Slide 63 text
Copyright 2019 DELiGHTWORKS. 改善を⾏った結果 63 ダウンロードサイズ計算の⼿間から 解放された︕ リリースの2週間前に実施することを 覚えておく必要がなくなった︕
Slide 64
Slide 64 text
ブランチ間マージ補助ツール(計画中)
Slide 65
Slide 65 text
Copyright 2019 DELiGHTWORKS. 複数ブランチでの並⾏開発 65 1~2ヶ⽉先に配信予定のイベントの 開発とQAが複数並⾏して進⾏ それぞれGitのブランチを分けて開発
Slide 66
Slide 66 text
Copyright 2019 DELiGHTWORKS. リリースブランチ間マージについて 66 各ブランチで⾏われた修正は 次にリリース予定のブランチにも反映
Slide 67
Slide 67 text
Copyright 2019 DELiGHTWORKS. マージの必要性と頻度の⾼さ 67 修正内容を次バージョンでも反映させる ためマージが必要 コミット差分をチェックしてマージする 頻度はほぼ毎⽇
Slide 68
Slide 68 text
Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点1 68 コミット差分チェックから マージプルリク作成まで全て⼿動
Slide 69
Slide 69 text
Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点2 69 ⼀部ファイルはコンフリクトする 場合があり解決が必要
Slide 70
Slide 70 text
Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点3 70 並⾏開発している全ての ブランチ間でマージが必要
Slide 71
Slide 71 text
Copyright 2019 DELiGHTWORKS. ブランチ間マージ作業での問題点4 71 この煩雑なブランチ間の マージ作業は(ほぼ) 毎⽇⾏う必要がある
Slide 72
Slide 72 text
Copyright 2019 DELiGHTWORKS. 72 どのような改善が⾏えるか
Slide 73
Slide 73 text
Hubを使ってプルリク作成を⾃動化
Slide 74
Slide 74 text
Copyright 2019 DELiGHTWORKS. プルリク作成の⾃動化 74 Hub でプルリク作成が可能 >hub pull-request コマンドで作成 プルリクが0件の時=マージ可能な時、 マージプルリクを⾃動で作成する
Slide 75
Slide 75 text
Copyright 2019 DELiGHTWORKS. 75 これできっと楽になれる
Slide 76
Slide 76 text
Copyright 2019 DELiGHTWORKS. 最後に 76 何のために認知資源を節約するのか?
Slide 77
Slide 77 text
Copyright 2019 DELiGHTWORKS. 77 重要かつ緊急 (予期せず発生するタスク) 重要だが緊急でない 重要でないが緊急 重要でなく緊急でない ⾼ 緊急度 低 ⾼ 重 要 度 低 予期せず発⽣するタスクに対処できる余裕を⽣み出す
Slide 78
Slide 78 text
Copyright 2019 DELiGHTWORKS. 78 重要かつ緊急 (予期せず発生するタスク) 重要だが緊急でない (準備, 計画, 挑戦,成長) 重要でないが緊急 重要でなく緊急でない ⾼ 緊急度 低 ⾼ 重 要 度 低 計画的な仕事、⾃⼰成⻑のための余裕を⽣み出す
Slide 79
Slide 79 text
Copyright 2019 DELiGHTWORKS.