Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

⾃⼰紹介 • なかしょ(中島進也) • 所属: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 ※本資料は私個⼈の意⾒であり、所属企業・部⾨⾒解を代表するものではありません。

Slide 3

Slide 3 text

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機能 翌⽇ 翌⽇

Slide 4

Slide 4 text

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機能 翌⽇ 翌⽇

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

コンテキストをフラットに残すため だれかが休んでも仕事が続くように 個⼈の思い込みなどをなくせる 学び合えるため アイデアをたくさん出せるため ⼀⼈で悩むことをなくせる (ともに悩むことができる。) 主体的にタスクを選ぶことで モチベーションが上がる その場でコードレビューができる 振り返りが促進される ※書いておしまいではない 集中⼒を維持できる ※⼀⼈だと気が散りがち お互いのタスクに集中する システムの改良について意⾒を出し合 う アイデアを明確にする パートナーがハマったら主導権を握り、 相⼿の失望を軽減させる お互いにチームのプラクティスの説明 責任を果たせるようにする 参考URL:https://martinfowler.com/articles/on-pair-programming.html 参考書籍: エクストリームプログラミング

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

各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

Slide 13

Slide 13 text

各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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

まとめ • サステナブルな開発のためにペアワークは必須 • 誰が休んでも開発は⽌めないチームにしよう • ペアローテーションに悩まないようにチームで基準を決めよ う • 素早い意思決定には実績のデータも重要 • データを蓄積したらチーム強化のために活⽤したい 15

Slide 16

Slide 16 text

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