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
チームを 『組成→安定→高速→最適化』 石垣雅人 - DMM.com 2018/08/18 カイゼンジャーニー・カンファレンス に導く KAIZEN メソッド郡
Slide 2
Slide 2 text
© DMM.com 2 私 石垣雅人(いしがきまさと) ・プラットフォーム事業本部 ~2018/07 : Account(ID) , Auth , Personalinfo : Backend System ・DMM.com Labo(現:DMM.com) 2015/04~ Scrum Team : Product Owner(2017〜) @i35_267 2018/07 ~ : Customer Review, Push
Slide 3
Slide 3 text
© DMM.com 3 3 約2年間の中でチームの中で行った 本セッションでお話すること 各フェーズ(組成→安定→高速→最適化)での KAIZENの事例を紹介します。
Slide 4
Slide 4 text
© DMM.com 4 Agenda About DMM.com DMM.comについて / 組織体質について 安定から高速フェーズ : 2017年4月〜 高速から最適化フェーズ : 2017年11月〜 4 4 組成から安定フェーズ : 2016年7月~ 最後に
Slide 5
Slide 5 text
© DMM.com 手のひらと世界にいろどりを。 人類の想像をはるかにこえるスピードとス ケールで、私たちの生活は変化していま す。 DMM.comは1999年から時代のニーズに 合わせた多彩なコンテンツを、独自プラット フォームで安定的に提供しています。 5 40以上の幅広いサービスを展開 サービスについて About DMM.com
Slide 6
Slide 6 text
© DMM.com 6 6 DMM.comのサービス開発体制 SoR (B to B) System of Record SoE (B to C) Systems of Engagement Purchase ...etc Settlement Personalinfo Push ...etc Account Antifraud
Slide 7
Slide 7 text
© DMM.com 7 7 Purchase ...etc Settlement Personalinfo Push ...etc Account Antifraud DX(DeveloperExperience) DMM.comのサービス開発体制 SoR (B to B) System of Record SoE (B to C) Systems of Engagement
Slide 8
Slide 8 text
© DMM.com 8 Agenda About DMM.com DMM.comについて / 組織体質について 安定から高速フェーズ : 2017年4月〜 高速から最適化フェーズ : 2017年11月〜 8 8 組成から安定フェーズ : 2016年7月~ 最後に
Slide 9
Slide 9 text
© DMM.com 9 9 Personalinfo Account Product プロダクトをそのまま新しいチームへ引き継ぎ 組成から安定フェーズ : 2016年7月~ チーム組成
Slide 10
Slide 10 text
© DMM.com 10 10 Personalinfo Account Product プロダクトをそのまま新しいチームへ引き継ぎ 組成から安定フェーズ : 2016年7月~ 障害多発 ※数ヶ月で大規模障害2,3件。 引き継ぎ直後....
Slide 11
Slide 11 text
© DMM.com 11 11 組成から安定フェーズ : 2016年7月~ 早急に改善策を ・リリース手順書作成 ・ダブルチェック体制 ・レビュアー追加 応急処置
Slide 12
Slide 12 text
© DMM.com 12 12 組成から安定フェーズ : 2016年7月~ 早急に改善策を ・リリース手順書作成 ・ダブルチェック体制 ・レビュアー追加 応急処置 障害はなくなったか
Slide 13
Slide 13 text
© DMM.com 13 13 組成から安定フェーズ : 2016年7月~ 早急に改善策を ・リリース手順書作成 ・ダブルチェック体制 ・レビュアー追加 応急処置 多発ではないが時々ある。 障害はなくなったか
Slide 14
Slide 14 text
© DMM.com 14 14 組成から安定フェーズ : 2016年7月~ 本質的なところを見る。 障害損害額の観点から見ると障害は発生しても、 復旧が早ければ障害にならない。 = いかに早く復旧できるかがカギになる。
Slide 15
Slide 15 text
© DMM.com 15 15 組成から安定フェーズ : 2016年7月~ 『KAIZEN Method ①』 Disaster in recovery training 〜障害訓練〜
Slide 16
Slide 16 text
© DMM.com 16 16 Disaster in recovery training 『障害シナリオ』をもとに意図的にシステムに障害を起こし、対応者が いかに早く障害を復旧させるかのプロセスを学習するプログラムで す。 Production Stress COPY
Slide 17
Slide 17 text
© DMM.com 17 効果の仮説 原因追求のアプローチ改善 障害起因に対して、障害原因の箇所の「追求」から「発見」に至るまでのアプローチ方法を改善するこ とで、全体を通した復旧までの時間を短縮する 復旧までのアプローチ改善 障害原因を「発見」したら、いかにその障害を早く「復旧」させるかのアプローチの仕方を改善すること で全体を通した復旧までの時間を短縮する。 報連相の粒度・質・タイミングの改善 報告をエスカレーションする必要がある場合は、どんな報告・連絡・相談をするべきかをある程度標 準化することで全体を通した復旧までの時間を短縮する。
Slide 18
Slide 18 text
© DMM.com 18 効果の仮説 原因追求のアプローチ改善 障害起因に対して、障害原因の箇所の「追求」から「発見」に至るまでのアプローチ方法を改善するこ とで、全体を通した復旧までの時間を短縮する 復旧までのアプローチ改善 障害原因の「発見」したら、いかにその障害を早く「復旧」させるかのアプローチの仕方を改善するこ とで全体を通した復旧までの時間を短縮する。 報連相の粒度・質・タイミングの改善 報告をエスカレーションする必要がある場合は、どんな報告・連絡・相談をするべきかをある程度標 準化することで全体を通した復旧までの時間を短縮する。 実施までの流れ 実施前 実施時 実施後
Slide 19
Slide 19 text
© DMM.com 実施前 : シナリオ作成 設定ミスによるOutOfMemoryの発生。 アプリケーションの非同期処理のためにスレッドプールを利用していますが、 誤った設定値によりス レッドが過多に生成されて、 OutOfMemoryが発生します。外部API呼び出しの終了待ちが長く、スレッ ドがプールになかなか返却されない状況下で、スレッドプールの要素数が大きい場合は、ひとつのプロ セスで生成できるスレッド数の上限に達することを学んでもらいます。 ex. 19
Slide 20
Slide 20 text
© DMM.com 実施前 : 役割決め 対応者 20 障害起因者 記録者 障害おこす 復旧させる
Slide 21
Slide 21 text
© DMM.com 実施時の注意 対応プロセスを記録する 21
Slide 22
Slide 22 text
© DMM.com 実施後の注意 振り返りの実施 対応プロセスの読み合わせ KPT 22
Slide 23
Slide 23 text
© DMM.com 23 効果の仮説→検証
Slide 24
Slide 24 text
© DMM.com https://inside.dmm.com/entry/2018/08/07/disaster-in-recovery-training 24 もっと詳しい詳細については下記のブログで
Slide 25
Slide 25 text
© DMM.com 25 Agenda About DMM.com DMM.comについて / 組織体質について 安定から高速フェーズ : 2017年4月〜 高速から最適化フェーズ : 2017年11月〜 25 25 組成から安定フェーズ : 2016年7月~ 最後に
Slide 26
Slide 26 text
© DMM.com 26 安定から高速フェーズ : 2017年4月〜 インシデント管理向上により、稼働率Up 安定期へ
Slide 27
Slide 27 text
© DMM.com 27 安定から高速フェーズ : 2017年4月〜 インシデント管理向上により、稼働率Up 安定期へ 早急にチームとして安定させるため 応急処置が多く、 開発プロセスの『ムダ』が見え始めた。
Slide 28
Slide 28 text
© DMM.com 28 安定から高速フェーズ : 2017年4月〜 インシデント管理向上により、稼働率Up 安定期へ 早急に安定させるために応急処置が多く、 開発プロセスの『ムダ』が見え始めた。 『KAIZEN Method ②』 Value Stream Mapping
Slide 29
Slide 29 text
© DMM.com 29 { What is VSM… } 29 Idea Value
Slide 30
Slide 30 text
© DMM.com 30
Slide 31
Slide 31 text
© DMM.com 31 31 書き方 (Value Stream Mapping)
Slide 32
Slide 32 text
© DMM.com 32 4 STEPS プロセスのタイトル 1 2 プロセスタイム (PT ※+WT) 3 リードタイム(LT) 4 完成と正確性の割合(aka %C/A)
Slide 33
Slide 33 text
© DMM.com 33 33 顧客 顧客 GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% PT : 1h WT : 0h %C/A : 20% 12h 1h 100h 1h 開発チーム 1 1 会員登録機能作成 リリース作業 GitHub Atom GCP ブラウザ VSM (Value Stream Mapping) PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 開発チーム ディレクター 5
Slide 34
Slide 34 text
© DMM.com 34 34 STEP 0 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 35
Slide 35 text
© DMM.com 35 35 STEP 1 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 36
Slide 36 text
© DMM.com 36 36 STEP 2 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 37
Slide 37 text
© DMM.com 37 37 STEP 3 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 38
Slide 38 text
© DMM.com 38 38 STEP 3 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 39
Slide 39 text
© DMM.com 39 39 STEP 4 PT : Process Time WT : Wasting Time リードタイム (LT) プロセスのタイトル GitHub Ato GitHub Atom PT : 10h WT : 2h %C/A : 0% 12h 1h 開発チーム 1 会員登録機能作成 PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 完成と正確性の割合 (%C/A) ディレクター 5
Slide 40
Slide 40 text
© DMM.com 40 40 40 ①現状のVSM ③改善プロセス ②理想(仮説) のVSM プロセス
Slide 41
Slide 41 text
© DMM.com 41 41 41 顧客 顧客 GitHub Ato GitHub Atom LT : 12h PT : 10h WT : 2h %C/A : 0% LT : 1h PT : 1h WT : 0h %C/A : 20% 12h 1h 100h 2h 開発チーム 1 1 会員登録機能作成 リリース作業 GitHub Atom GCP ブラウザ VSM (Value Stream Mapping) LT : 1h PT : 1h WT : 0h %C/A : 70% 承認MTG 84h 開発チーム ディレクター 5 大事なのは、改善ポイント(=ムダ)を見つけること ※ どう改善するかはまた別のレイヤーの話
Slide 42
Slide 42 text
© DMM.com 42 42 改善事例
Slide 43
Slide 43 text
© DMM.com 43 43 VSMから見える共通点 グループ ステークホルダーとの調整 開発作業 リリース準備 + 作業 Featureをリリースするために必要な調整。MTGが多い コーディング作業 リリースするための申請やリリース作業 1 2 3
Slide 44
Slide 44 text
© DMM.com 44 44 ステークホルダーとの調整 開発作業 リリース準備 + 作業 VSMから見える共通点 リードタイム : 268.5h Featureをリリースするために必要な調整。MTGが多い コーディング作業 リリースするための申請やリリース作業 1 2 3 グループ
Slide 45
Slide 45 text
© DMM.com 45 45 ステークホルダーとの調整 開発作業 リリース準備 + 作業 約85% 約5% 約10% VSMから見える共通点 (228.25h) (14h) (26.25h) Featureをリリースするために必要な調整。MTGが多い コーディング作業 リリースするための申請やリリース作業 1 2 3 グループ リードタイム : 268.5h
Slide 46
Slide 46 text
© DMM.com 46 46 カテゴリー ステークホルダーとの調整 開発作業 リリース準備 + 作業 約85% 約5% 約10% 4つのVSMから見える共通点 ほぼすべてのVSMがこの比率になった。 チームの行動パターン(開発プロセス)は一緒である。 この時点で「開発効率」をあげてもムダだと判断できた。
Slide 47
Slide 47 text
© DMM.com 47 47 カテゴリー ステークホルダーとの調整 開発作業 リリース準備 + 作業 約85% 約5% 約10% VSMから見える共通点 (228.25h) (14h) (26.25h) Featureをリリースするために必要な調整。MTGが多い コーディング作業 リリースするための申請やリリース作業 1 3 2 リードタイム : 268.5h
Slide 48
Slide 48 text
© DMM.com 48 48 48 ステークホルダーとの調整 : 228.25h → リリース準備 + 作業 : 26.25h →
Slide 49
Slide 49 text
© DMM.com 49 49 49 ステークホルダーとの調整 : 228.25h →40hに短縮 リリース準備 + 作業 : 26.25h → 5mに短縮 268.5h (45日) 54.5h (9日)
Slide 50
Slide 50 text
© DMM.com 50 Agenda About DMM.com DMM.comについて / 組織体質について 安定から高速フェーズ : 2017年4月〜 高速から最適化フェーズ : 2017年11月〜 50 50 組成から安定フェーズ : 2016年7月~ 最後に
Slide 51
Slide 51 text
© DMM.com 51 高速から最適化フェーズ : 2017年11月〜 プロセスは良くなった。 システムは安定しているし高速化もできた。 (稼働率UP) (リードタイム短縮)
Slide 52
Slide 52 text
© DMM.com 52 高速から最適化フェーズ : 2017年11月〜 プロセスは良くなった。 システムは安定しているし高速化もできた。 次は、そのプロセスの流れに存在する 組織の最適化を行う。 (稼働率UP) (リードタイム短縮)
Slide 53
Slide 53 text
© DMM.com 53 53 『KAIZEN Method ③』 高速から最適化フェーズ : 2017年11月〜 ScrumTeam 組織再設計
Slide 54
Slide 54 text
© DMM.com 当時の問題点 定義にあっていないスクラム ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 POの負荷が大きい。 54
Slide 55
Slide 55 text
© DMM.com 当時の問題点 何をするか / 何をしないか 現状にあった役割定義 仕事量・質は変えない 左にあるようにこの改造で仕事が 増えたり減ったりはしません。 この改造によって今の仕事のスタイル を変えることはありません。あくまでも 現状にあった役割を定義します。 提案を通す際のポイント 55
Slide 56
Slide 56 text
© DMM.com 当時の問題点 定義にあっていないスクラム ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 POの負荷が大きい。 56
Slide 57
Slide 57 text
© DMM.com なんちゃってスクラム状態 PO, SMの人事交代(現状にあった役割を当てはめる ) ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 POの負荷が大きい。 当時の問題点 57
Slide 58
Slide 58 text
© DMM.com ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 なんちゃってスクラム状態 PO, SMの人事交代(現状にあった役割を当てはめる ) 当時の問題点 POTeam(Product Ownership Team)発足。 コミュニケションライン追加 POの負荷が大きい。 58
Slide 59
Slide 59 text
© DMM.com POの負荷が大きい。 ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 なんちゃってスクラム状態 PO, SMの人事交代(現状にあった役割を当てはめる ) 当時の問題点 POP(ProductOwnerProxy) 配置 POTeam(Product Ownership Team)発足。 コミュニケションライン追加 59
Slide 60
Slide 60 text
© DMM.com POの負荷が大きい。 ビジネスレイヤーと開発レイヤーとの 情報共有ができていなかった。 なんちゃってスクラム状態 PO, SMの人事交代(現状にあった役割を当てはめる ) 当時の問題点 POTeam発足。 コミュニケションライン追加 POP(ProductOwnerProxy) 配置 役割を細分化し、疎結合の部分をつなぐ コミュニケーションラインを増やすことで さらに開発プロセスが明確になった。 効果 60
Slide 61
Slide 61 text
© DMM.com 61 Agenda About DMM.com DMM.comについて / 組織体質について 安定から高速フェーズ : 2017年4月〜 高速から最適化フェーズ : 2017年11月〜 61 61 組成から安定フェーズ : 2016年7月~ 最後に
Slide 62
Slide 62 text
© DMM.com 『組成→安定→高速→最適化』 ScrumTeam 組織再設計 Disaster in recovery training ValueStreamMapping 『KAIZEN Method ①』 『KAIZEN Method ②』 『KAIZEN Method ③』 62
Slide 63
Slide 63 text
© DMM.com これからの立ち位置 新チーム発足 : Customer Decision Support Team 63
Slide 64
Slide 64 text
© DMM.com これからの立ち位置 https://dmm-corp.com/recruit/engineer/5366 絶賛募集中です! 64
Slide 65
Slide 65 text
© DMM.com ご清聴ありがとうございました! 65