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

よりよいペアローテーションを求めて

なかしょ
September 30, 2023

 よりよいペアローテーションを求めて

XP祭り2023のLTで発表した資料です。
https://xpjug.connpass.com/event/292794/

なかしょ

September 30, 2023
Tweet

More Decks by なかしょ

Other Decks in Technology

Transcript

  1. よりよいペアローテーション
    を求めて
    2023/09/30
    XP祭り2023
    NTTテクノクロス株式会社 中島進也

    View Slide

  2. ⾃⼰紹介
    • なかしょ(中島進也)
    • 所属:NTTテクノクロス株式会社
    デジタルトランスフォーメーション事業部
    • 業務:MaaS関連のスマートフォンアプリ開発担当
    • 趣味:
    ØIT関連の勉強会(主にモバイル系 or アジャイル系)
    Ø技術コミュニティの運営スタッフ
    üeXtreme Programming Japan User Group(XPJUG) 2019〜
    üTDD BootCamp Online (TDDBC) 2020〜
    üJapan Xamarin User Group(JXUG)2016〜
    üJapan PlayFab User Group(JPFUG)2020〜
    2
    ※本資料は私個⼈の意⾒であり、所属企業・部⾨⾒解を代表するものではありません。

    View Slide

  3. Track1
    毎⽇ペアワーク、毎⽇ペアローテーション
    3
    Track1 Track2 Track3 Track4 Track5
    Android
    A機能
    APIサーバ
    A機能 Track1
    チームA チームB
    APIサーバ
    B機能
    iOS
    B機能
    APIサーバ
    C機能
    Android
    A機能
    iOS
    A機能
    Android
    B機能
    iOS
    C機能
    Android
    C機能
    翌⽇ 翌⽇

    View Slide

  4. Track1
    誰かが休むと...
    4
    Track1 Track2 Track3 Track4 Track5
    Android
    A機能
    APIサーバ
    A機能 Track1
    チームA チームB
    APIサーバ
    B機能
    iOS
    B機能
    APIサーバ
    C機能
    Android
    A機能
    iOS
    A機能
    Android
    B機能
    iOS
    C機能
    Android
    C機能
    翌⽇ 翌⽇

    View Slide

  5. ローテーションが乱れるとき
    • 誰かが休むのは当たり前が前提
    • 誰かが休んだ時にローテーションの規則性が乱れる
    • ペア決めにいつもより時間がかかる
    • どんなときでも正しいローテーションを早く決めたい
    5

    View Slide

  6. 6
    正しい
    ローテーションって?

    View Slide

  7. そこでワークショップ
    • ペアワークにどんな価値を求めるかはチームによって違う
    Øペアワークをする理由
    Øペアローテーションに求める基準
    • ゴール
    Ø質の良いペアを短時間で決める
    Ø再現性の⾼い基準と決め⽅を定める
    7

    View Slide

  8. ペアワークをする理由
    8
    コンテキストを
    フラットに残す
    ため
    だれかが休んで
    も仕事が続くよ
    うに
    客観的な⽬で個
    ⼈の思い込みな
    どをなくせる
    それぞれのコー
    ドの書き⽅など
    を学べ合える
    話し合うことで
    メンバー間で学
    び合える
    その⽇のチーム
    の課題をまとめ
    て、最適化する
    コミュニケー
    ションすること
    で、思い込みや
    たくさんのアイ
    デアを出せる
    1⼈で悩む時間
    がなくなる
    主体的にタスク
    を選ぶことでモ
    チベーションを
    上げる

    View Slide

  9. コンテキストをフラットに残すため
    だれかが休んでも仕事が続くように
    個⼈の思い込みなどをなくせる
    学び合えるため
    アイデアをたくさん出せるため
    ⼀⼈で悩むことをなくせる
    (ともに悩むことができる。)
    主体的にタスクを選ぶことで
    モチベーションが上がる
    その場でコードレビューができる
    振り返りが促進される
    ※書いておしまいではない
    集中⼒を維持できる
    ※⼀⼈だと気が散りがち
    お互いのタスクに集中する
    システムの改良について意⾒を出し合

    アイデアを明確にする
    パートナーがハマったら主導権を握り、
    相⼿の失望を軽減させる
    お互いにチームのプラクティスの説明
    責任を果たせるようにする
    参考URL:https://martinfowler.com/articles/on-pair-programming.html
    参考書籍: エクストリームプログラミング

    View Slide

  10. ペアローテーションに求める基準
    10
    機械的なロー
    テーション
    (回り⽅がある
    程度決まってい
    る)
    コンテキストが
    ある⼈が1⼈+
    コンテキストが
    ない⼈をアサイ
    ンする
    コンテキストが
    ない⼈がトラッ
    クの機能触れて
    コンテキストを
    増やせるように
    トラック(コン
    テキスト)に触
    れてない⼈を少
    なくする
    ソロを許容する
    場合、誰がソロ
    になるか
    ⼈数により、開
    発の優先順位で
    動かすトラック
    を決める
    前⽇、前々⽇な
    ど過去のペアの
    記録
    メンバー間のコ
    ンテキスト度合
    いなどの把握
    ペアの能⼒値が
    ⼀定か
    →アウトプット
    の品質

    View Slide

  11. 決まった基準
    1. 前⽇作業していた⼈がTrackに残る
    2. 4営業⽇以上同じトラックに残らない
    3. 6営業⽇で⼀周する機械的なローテーションをおこなう
    ① ⼊っていないトラックに⼊る
    ② ペアしていない⼈と組む
    11

    View Slide

  12. 各Trackのペアを記録
    Aさん Bさん Cさん Dさん Eさん Fさん Gさん Hさん Iさん Jさん
    9⽉12⽇ 1 1 2 2 3 3 4 4 5 5
    9⽉13⽇ 1 2 1 2 3 4 4 5 5 3
    9⽉14⽇ 2 1 1 2 5 4 3 5 4 3
    9⽉15⽇ 2 1 2 1 5 4 3 3 4 4
    9⽉19⽇ 2 2 1 1 4 5 5 3 3 4
    9⽉20⽇ 1 2 1 2 4 5 3 4 3 5
    9⽉21⽇ 1 1 2 3 5 3 5
    9⽉22⽇ 1 1 2 2 3 4 4 3 4
    9⽉25⽇ 1 2 2 1 4 3 3 5 5 4
    12

    View Slide

  13. 各Trackの作業を記録
    Track1 Track2 Track3 Track4 Track5
    9⽉12⽇ Android, A機能 iOS, A機能 Android, B機能 iOS, B機能 C機能調査
    9⽉13⽇ Android, A機能 iOS, A機能 Android, B機能 iOS, B機能 APIサーバ, C機能
    9⽉14⽇ Android, A機能 iOS, A機能 Android, B機能 iOS, C機能 APIサーバ, C機能
    9⽉15⽇ Android, A機能 iOS, E機能 APIサーバ, D機能 iOS, C機能 Android, C機能
    9⽉19⽇ Android, E機能 iOS, E機能 APIサーバ, D機能 iOS, C機能 Android, C機能
    9⽉20⽇ Android, E機能 iOS, E機能 Android, D機能 iOS, C機能 Android, C機能
    9⽉21⽇ Android, E機能 iOS, E機能 Android, D機能 Android, C機能
    9⽉22⽇ Android, E機能 APIサーバ, F機能 Android, D機能 iOS, D機能 iOS, G機能
    9⽉25⽇ Android, E機能 APIサーバ, F機能 Android, D機能 iOS, D機能 iOS, G機能
    13

    View Slide

  14. 実施後
    • ペア決めの意思決定が早くなった
    • 実績を⾒てメンバ同⼠で声掛けするようになった
    Øお互いが納得感のあるペアローテーションとなった。
    • 次のステップを検討中
    Øバックログシステムから⾃動で実績表を作れないか?
    Øスキルマップとの突き合わせができないか?
    14

    View Slide

  15. まとめ
    • サステナブルな開発のためにペアワークは必須
    • 誰が休んでも開発は⽌めないチームにしよう
    • ペアローテーションに悩まないようにチームで基準を決めよ

    • 素早い意思決定には実績のデータも重要
    • データを蓄積したらチーム強化のために活⽤したい
    15

    View Slide

  16. ご清聴ありがとうございました。
    16

    View Slide