Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SkyWayの開発現場 - いつの間にか最高のアジャイルチームになっていた件について / SkyWay Dev team - How we became the best team

iwashi
November 27, 2022

SkyWayの開発現場 - いつの間にか最高のアジャイルチームになっていた件について / SkyWay Dev team - How we became the best team

https://techplay.jp/event/699906 の登壇資料です。

iwashi

November 27, 2022
Tweet

More Decks by iwashi

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. View Slide

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

    View Slide

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

    View Slide

  14. 本題

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. Taiga カンバンはこんな感じ

    View Slide

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

    View Slide

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

    View Slide

  30. Google Slides KPT イメージ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  49. チームでのモブの様子

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  56. チームビルディング合宿

    View Slide

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

    View Slide

  58. こんな感じ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  63. ポエム

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  67. もう1つの合宿

    View Slide

  68. 開発合宿

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  73. 振り返ってみれば…

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide