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. ⾃⼰紹介 • なかしょ(中島進也) • 所属: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 ※本資料は私個⼈の意⾒であり、所属企業・部⾨⾒解を代表するものではありません。
  2. 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機能 翌⽇ 翌⽇
  3. 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機能 翌⽇ 翌⽇
  4. ペアワークをする理由 8 コンテキストを フラットに残す ため だれかが休んで も仕事が続くよ うに 客観的な⽬で個 ⼈の思い込みな

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

    振り返りが促進される ※書いておしまいではない 集中⼒を維持できる ※⼀⼈だと気が散りがち お互いのタスクに集中する システムの改良について意⾒を出し合 う アイデアを明確にする パートナーがハマったら主導権を握り、 相⼿の失望を軽減させる お互いにチームのプラクティスの説明 責任を果たせるようにする 参考URL:https://martinfowler.com/articles/on-pair-programming.html 参考書籍: エクストリームプログラミング
  6. ペアローテーションに求める基準 10 機械的なロー テーション (回り⽅がある 程度決まってい る) コンテキストが ある⼈が1⼈+ コンテキストが

    ない⼈をアサイ ンする コンテキストが ない⼈がトラッ クの機能触れて コンテキストを 増やせるように トラック(コン テキスト)に触 れてない⼈を少 なくする ソロを許容する 場合、誰がソロ になるか ⼈数により、開 発の優先順位で 動かすトラック を決める 前⽇、前々⽇な ど過去のペアの 記録 メンバー間のコ ンテキスト度合 いなどの把握 ペアの能⼒値が ⼀定か →アウトプット の品質
  7. 各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
  8. 各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