みの雑多ブログ

勉強したことをアウトプットしたり、しなかったり

VSCodeのLiveShareを使ってペアプログラミングをしてみた

今回は、実践編。。
仕事でやった内容なので、詳細な構築内容は残せないがどんなメンバでどんな風にやってみて、どういった課題が見えたか。。をメモ。

バージョン

メンバ

  • エンジニア歴10年以上大ベテラン
  • エンジニア歴5年の中堅(ワタシ)

ワタシたちのペアプロルール

実施時間

午前2時間、午後2時間(あいだお昼休憩をはさむ)
(最初から最後まで、ペアプロで実装したいが試験的な試みのため…お察しください)

目標

サーバサイドの実装を完了させる。

スイッチサイクル

zoomが無料版で40分で切れてしまうため、40分実装→20分休憩のサイクルでスイッチする。

そのほか

ちょっと亜流だが、課題が見つかったら各々が課題解決にコード見たり、原因調査をする。
普通はナビゲータがドライバーに指示しながら二人で同じもの見ながら解決していくものだと思う。。
が、二人とも年数があり仕様理解もある程度あった、かつ、リモートでLiveShare使って二人ともPC触ってコード見れる状態だった、ということで各々調査ができる環境だったので、、そんな感じで

やってみた感想

構築時間の短縮

初めてのペアプロだったが、爆速で実装ができ実際は3時間で終了した。
もっとかかると見積もっていたが、ここの見積もりがそもそも甘かったかもしれないね。。と大ベテランからご指摘もらう!
そういう見積周りのFBもらえるのも、あまりないので嬉しい。
でも、結果的に見積よりも二人分の工数を足しても超えることはなく、個人的によきと思う。

事前準備の不足

LiveShareの使い方がわからず、各々が調査するときに画面が共有されて困ることが多々あった。
多分、共有の解除か相手の追従解除ができるっぽいけど、そのあたりの事前確認ができていなかった。

亜流?ペアプロ

メンバのスキルによって、ナビゲータがべったりドライバーに指示するスタイルとある程度自由にやるスタイルで分けてやるのはありだなと思った。
序盤は、ペアプロってこういうもんだってものにとらわれていたので、何か問題発生した際のナビ役の大ベテランの無言の圧に「ワタシには無理だ」と思う瞬間もあった。
が、最後の方にはそのスタイルにも慣れて、結果的に新しい発見があった。(各々で調査した方が効率がいい、とか、そういうスタイルもありってこと)

人を選ぶ

(自分がすごいってわけじゃないけど)他のエンジニアのペアでうまくできる絵が思い浮かばない。
今時エンジニアはコミュニケーション能力が高いけど、少なくともグループ内の他のエンジニアのカップリングは難しそうと思った。

  • 大ベテランの無言の圧に、新人は気圧されそう、お互い無言で大ベテランがドライバーのターンだけ構築が進みそう。。
  • 仕様理解が追い付いていないと、大ベテランについていけなさそう、ここ見ろよ、っていうの一からいうの?ってなりそう。。
  • 実力ない人同士だと、一ミリも進まなさそう、お互いどうしよっかってなりそう。。

こういう取り組みに前向きなチームは、こんなことアリエナイデショって思うんだろうな、、
が、結構こういう課題を抱えているチームもあると思う。
ということで、大ベテランの重い腰を動かせたのは個人的に◎

課題

大きく二つ。

ペアプロができる体制にする

主に会議があると、まとまった時間が誰かと共有できないことが課題。
ペアプロ前提で、空き時間とかは揃えないと、ペアになった人が会議ばっかりだと進まなさそう。

誰でもできるルールブックづくり

人を選ぶというところでも思ったが、誰がやってもできるルールやお品書きの用意をして一旦枠に嵌めてみんなにやってもらうことが大切そう。