Slide 1

Slide 1 text

SkyWayの開発現場 いつの間にか最高のアジャイルチームに なっていた件について @Tech-on MeetUp#03 @iwashi86 2018.11.12

Slide 2

Slide 2 text

SkyWayの開発現場 いつの間にか最高のアジャイルチームに なっていた件について @Tech-on MeetUp#03 @iwashi86 2018.11.12

Slide 3

Slide 3 text

そもそも最高とは何か? ・あるアンケートでのチーム評価が由来  

Slide 4

Slide 4 text

そもそも最高とは何か? ・あるアンケートでのチーム評価が由来      ↓  仕事のストレス判定図(労働省が作成)

Slide 5

Slide 5 text

参考: https://mental.m.u-tokyo.ac.jp/jstress/hanteizu/zukanni.htm     実際にはもう 1つグラフがあるが、説明の簡略化の都合上、割愛 読み方 ・100が全国平均 ・110だとメンタルヘルス  不調リスクが10%上昇

Slide 6

Slide 6 text

参考: https://mental.m.u-tokyo.ac.jp/jstress/hanteizu/zukanni.htm では、SkyWayチームはどの辺?

Slide 7

Slide 7 text

参考: https://mental.m.u-tokyo.ac.jp/jstress/hanteizu/zukanni.htm 答え:余裕の圏外でした (43)

Slide 8

Slide 8 text

結果的にこうなった… では、何をしてきたら この結果に到達したか?

Slide 9

Slide 9 text

今日のゴール 何かしらの取り組みを 1つでも持ち帰って 試す気分になっていること

Slide 10

Slide 10 text

・岩瀬 義昌 / @iwashi86 ・NTTコム所属  WebRTCプラットフォームである  SkyWayのTech Lead ・fukabori.fmの人

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

・Web Real Time Communication ・Line通話機能とかadd-on実装できる ・開発/運用は沼

Slide 13

Slide 13 text

SkyWayはWebRTCの めんどくささを解消する マネージドプラットフォーム

Slide 14

Slide 14 text

本題

Slide 15

Slide 15 text

前提 ・開発はスクラム  ・1 week sprint  ・各種イベントは水曜日に集中

Slide 16

Slide 16 text

前提 ・開発はスクラム  ・1 week sprint  ・各種イベントは水曜日に集中 ・メンバ  ・専任スクラムマスタ  ・プロダクトオーナ / プロダクトマネージャ  ・開発チーム 8人

Slide 17

Slide 17 text

前提 ・開発はスクラム  ・1 week sprint  ・各種イベントは水曜日に集中 ・メンバ  ・専任スクラムマスタ  ・プロダクトオーナ / プロダクトマネージャ  ・開発チーム 8人 ・チームメンバの志向からリモートワーク多め  ・(水曜日だけは極力集まる)

Slide 18

Slide 18 text

本日のお品書き 1. プロセス 2. 技術 3. 人・チーム

Slide 19

Slide 19 text

本日のお品書き 1. プロセス 2. 技術 3. 人・チーム

Slide 20

Slide 20 text

スクラムの実装 (スクラムガイドに無い点)

Slide 21

Slide 21 text

スプリントプラニング ・キャパシティ管理  ・各メンバの予定から使える時間を算出

Slide 22

Slide 22 text

スプリントプラニング ・キャパシティ管理  ・各メンバの予定から使える時間を算出 曜日 Aさん Bさん 水曜日 0 0 木曜日 4 2 金曜日 4 0 月曜日 3 0 火曜日 0 4 合計 11 6

Slide 23

Slide 23 text

スプリントプラニング ・見積りは Planning Poker + Reference Task

Slide 24

Slide 24 text

スプリントプラニング ・見積りは Planning Poker + Reference Task

Slide 25

Slide 25 text

プロダクト・スプリントバックログ管理 ・リモート前提なので物理的な道具は無し

Slide 26

Slide 26 text

プロダクト・スプリントバックログ管理 ・リモート前提なので物理的な道具は無し ・ツール  ・Trello、Huboardなど色々と試して   Taigaに落ち着いている

Slide 27

Slide 27 text

Taiga カンバンはこんな感じ

Slide 28

Slide 28 text

プロダクト・スプリントバックログ管理 ・Taigaのこの辺が好み  ・Story -> Task の階層構造がわかりやすい  ・Sprint毎に専用URLを切り出せるので   Sprintのゴール/タスクに集中しやすい

Slide 29

Slide 29 text

スプリントレトロスペクティブ ・リモート前提なのでGoogle Slidesを使用

Slide 30

Slide 30 text

Google Slides KPT イメージ

Slide 31

Slide 31 text

スプリントレトロスペクティブ ・リモート前提なのでGoogle Slidesを使用 ・KPTのみだとProblem/Tryが出にくくなる

Slide 32

Slide 32 text

スプリントレトロスペクティブ ・リモート前提なのでGoogle Slidesを使用 ・KPTのみだとProblem/Tryが出にくくなる    ⇒ レトロスペクティブを改善というTryが出る

Slide 33

Slide 33 text

スプリントレトロスペクティブ ・リモート前提なのでGoogle Slidesを使用 ・KPTのみだとProblem/Tryが出にくくなる    ⇒ レトロスペクティブを改善というTryが出る ・今は タイムライン + 555(Triple Nickels)改

Slide 34

Slide 34 text

手順1: タイムラインを全員で作成

Slide 35

Slide 35 text

手順2: 各個人で重要な出来事を書く

Slide 36

Slide 36 text

手順3: 他メンバがアイデア/コメント追記

Slide 37

Slide 37 text

手順4: メンバで投票が多いものを深掘り + アクション抽出

Slide 38

Slide 38 text

デイリースクラム ・もちろんオンライン

Slide 39

Slide 39 text

デイリースクラム ・もちろんオンライン、こんな感じ

Slide 40

Slide 40 text

デイリースクラム ・もちろんオンライン ・SMチームのデイリースクラムの前に全体朝会

Slide 41

Slide 41 text

デイリースクラム ・もちろんオンライン ・SMチームのデイリースクラムの前に全体朝会  ⇒ 他チーム(e.g. Developer Relations)らと    プロダクト全体のトピックを共有/相談   

Slide 42

Slide 42 text

デイリースクラム ・もちろんオンライン ・SMチームのデイリースクラムの前に全体朝会  ⇒ 他チーム(e.g. Developer Relations)らと    プロダクト全体のトピックを共有/相談       e.g. プロダクトマネージャの     ユーザヒアリング結果を開発に説明    ⇒ユーザの声を即時反映していく!

Slide 43

Slide 43 text

本日のお品書き 1. プロセス 2. 技術 3. 人・チーム

Slide 44

Slide 44 text

技術 ・XPのプラクティスを併用  ・テスト駆動開発  ・ペアプロ  ・リファクタリング  ・継続的インテグレーション など

Slide 45

Slide 45 text

技術 ・XPのプラクティスを併用  ・テスト駆動開発  ・ペアプロ  ・リファクタリング  ・継続的インテグレーション など

Slide 46

Slide 46 text

スタンドを召喚していく https://developer.ntt.com/ja/blog?page=1

Slide 47

Slide 47 text

技術 ・XPのプラクティスを併用  ・TDD  ・ペアプロ (XPじゃないけどモブプロ)  ・リファクタリング  ・継続的インテグレーション など

Slide 48

Slide 48 text

スタンド以外(及部さん)も召喚していく! https://developer.ntt.com/ja/blog/8c2deb0d-5523-4816-b666-3603e4548a20

Slide 49

Slide 49 text

チームでのモブの様子

Slide 50

Slide 50 text

技術 ・XPのプラクティスを併用  ・TDD  ・ペアプロ  ・リファクタリング  ・継続的インテグレーション など ・その他、世の中のベストプラクティスを採用  ・クラウドネイティブな設計  ・12 Factor Apps など

Slide 51

Slide 51 text

参考: SkyWayチームの技術スタック ・その時々のチームにベストなものを選ぶ

Slide 52

Slide 52 text

本日のお品書き 1. プロセス 2. 技術 3. 人・チーム

Slide 53

Slide 53 text

透明性と心理的安全性 ・スクラムの3本柱の1つは「透明性」

Slide 54

Slide 54 text

透明性と心理的安全性 ・スクラムの3本柱の1つは「透明性」 ・人と人の間の透明性を担保するには  高い心理的安全性がどうしても必要

Slide 55

Slide 55 text

透明性と心理的安全性 ・スクラムの3本柱の1つは「透明性」 ・人と人の間の透明性を担保するには  高い心理的安全性がどうしても必要 ・どうやって高めていくか?

Slide 56

Slide 56 text

チームビルディング合宿

Slide 57

Slide 57 text

チームビルディング合宿 ・普段とは違う場でメンバ個人の  モチベーションなどを共有し合う

Slide 58

Slide 58 text

こんな感じ

Slide 59

Slide 59 text

チームビルディング合宿のトピック  ・16Personalities 性格診断テスト  ・ムービングモチベーターズ   ⇒ 人となりを知る

Slide 60

Slide 60 text

チームビルディング合宿  ・16Personalities 性格診断テスト  ・ムービングモチベーターズ   ⇒ 人となりを知る  ・「半年、1年後に何がやりたいのか?なぜか?」   ⇒ その人のモチベーションを最大化

Slide 61

Slide 61 text

チームビルディング合宿  ・16Personalities 性格診断テスト  ・ムービングモチベーターズ   ⇒ 人となりを知る  ・「半年、1年後に何がやりたいのか?なぜか?」   ⇒ その人のモチベーションを最大化  ・あとはアンカンファレンスで自由に   ・今転職したいか?

Slide 62

Slide 62 text

チームビルディング合宿  ・16Personalities 性格診断テスト  ・ムービングモチベーターズ   ⇒ 人となりを知る  ・「半年、1年後に何がやりたいのか?なぜか?」   ⇒ その人のモチベーションを最大化  ・あとはアンカンファレンスで自由に   ・今転職したいか?   ⇒ 転職する人が出る!(笑) それで構わない!

Slide 63

Slide 63 text

ポエム

Slide 64

Slide 64 text

ポエムによる自己開示 – なぜ今この仕事を?

Slide 65

Slide 65 text

心理的安全性のニワタマ 心理的安全性のためには 自己開示が必要 自己開示するためには 心理的安全性が必要

Slide 66

Slide 66 text

心理的安全性のニワタマ 心理的安全性のためには 自己開示が必要 自己開示するためには 心理的安全性が必要 誰かが先陣を切る & 強制しない

Slide 67

Slide 67 text

もう1つの合宿

Slide 68

Slide 68 text

開発合宿

Slide 69

Slide 69 text

・開発だけじゃなくてPOやDevRelも参加

Slide 70

Slide 70 text

・開発だけじゃなくてPOやDevRelも参加 ・開発テーマは自由  ・C++のBoostをひたすら勉強する人  ・botを作り込んでいる人  ・リーンキャンバスを書いている人

Slide 71

Slide 71 text

これらの取組みを 組み合わせていった結果

Slide 72

Slide 72 text

参考: https://mental.m.u-tokyo.ac.jp/jstress/hanteizu/zukanni.htm 余裕の圏外でした (43)

Slide 73

Slide 73 text

振り返ってみれば…

Slide 74

Slide 74 text

なぜこんなことが出来たのか?

Slide 75

Slide 75 text

なぜこんなことが出来たのか? ・スクラムチームの身近なステークホルダー  ・つまり采配権限をもつ上司・上長

Slide 76

Slide 76 text

なぜこんなことが出来たのか? ・スクラムチームの身近なステークホルダー  ・つまり采配権限をもつ上司・上長 ・この人の理解度がとても重要  ・権利と責任をセットでくれる人  ・こういう人を擁護者/支援者になってもらう

Slide 77

Slide 77 text

なぜこんなことが出来たのか? ・スクラムチームの身近なステークホルダー  ・つまり采配権限をもつ上司・上長 ・この人の理解度がとても重要  ・権利と責任をセットでくれる人  ・こういう人を擁護者/支援者になってもらう どうしても難しい場合は?    -> fukabori.fm ep10で

Slide 78

Slide 78 text

まとめ 1. プロセス 2. 技術 3. 人・チーム おしまい!