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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. Google Slides KPT イメージ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  56. こんな感じ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  64. もう1つの合宿

    View full-size slide

  65. 開発合宿

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  70. 振り返ってみれば…

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide