MENU

ペアプロライブコーディングイベントに参加したら色んな学びがあった。

はじめに

先日、こちらのイベントに参加しました。

creationline.connpass.com

ペアプロ・モブプロってその良さ・メリットはいろんな場で語られているけど、実際他の人たちがペアプロしているのをみたことってないよなあと思い、せっかくなので現地参加させていただきました。

最初の1時間程度はリファクタリングをテーマにしたペアプロのライブコーディングを観戦?し、そのあとは感想戦といった感じだったのですが、その中で様々な学びや気づきがあり、このままアウトプットしないのは勿体なさすぎたので半分冬眠しかけてたこのブログを引っ張り出してきました。

自分用メモといった体裁になってしまいますが、当日感じたことを書き出してみようと思います。

ペアプロ観戦の中で感じたこと

ペアプロ視点

  • IDEのショートカットだったりコードの書き進め方だったり、より優れた人のコーディング方法を学べるのが良い
    • 仕事で使ってるIDEだったのに、今まで知らなかった/使ったことなかった機能がいくつもありました...
    • 書きたいコードに対して、どんな順序で書き進めるのか、どのタイミングでテストするのかといった部分は書籍からは読み取れないが、ペアプロだと他人のコーディングが見えるしその場で質問できる。レベル感が一緒なら互いにキャッチアップすることもできそう

  • ペアプロの冒頭で活動のゴールを明確にするのがめっちゃいいと思った
    • 冒頭で二人で話し合いながら、受け入れ条件的な感じのチェックリストを作成していました
    • ゴールが不明瞭だとお互い考える方向性がずれてしまいがちなので、これは取り入れたいと思いました
    • 特にリファクタだと新たな課題が芋づる式に出てくるので、当初ペアプロをやろうとした目的からどんどん横道にそれて行きがち

  • イデアを持っている人が手を動かすのではなく、持っていない方がドライバーになっていたのがすごく良い
    • 私が経験してきたペアプロだと、発案者が手を動かすことが多かったなあと思った。その場合、発案者が気をつけないと相手がスピードについていけなくなってしまう(実際置いてきぼりになっていたことがあった)
    • 発案者がドライバに説明するという活動を通して、その案が妥当かどうか検証することができる。良さそうと思ったアイデアだったけど声に出してみたら破綻していることに気づいたりするし、相手方がアイデアの持つ問題に気づいたり、さらに良いアイデアを思いついてくれたりする

リファクタ視点

  • テストは一回修正を加えるたびに実行する
    • これは耳が痛かった。調子乗って一気にリファクタしたらテストが落ちて回復できなくなった過去が。。。
    • pythonであれば、 pytest-watchなどのライブラリを活用すれば自動実行されるようになる
    • テストが複数ある場合は、まず信頼できるテストを一つ確保する。そのテストを足がかりに作業を進めていく

  • コミットの粒度はなるべく小さい方が良い
    • テストと同じ理屈で、作業を進めたけどうまくいかなかったときにすぐ戻れるようにできるというメリットがあるとのこと

その他

  • 何かを作るためではなくコードを理解することを目的に行うペアプロもあり
    • コードを理解するためにリファクタしてみる。理解できた段階でそのコミットは捨てることも(そういう意味でコミットの粒度は小さい方が良い)
  • ロジックを学ぶためにテストを動かす、という活動もある

    → 新しいシステムのキャッチアップするときにちょっと手元でコード書き換えてみて〜みたいなことはやってたけど、それをペアプロでやろうという発想はなかったなという気づき...

現地感想戦で印象的だった話

レベル差がある時のペアプロについて

[悩みポイント]

  • 双方のレベルに差がある場合は、一般的にスキルがある方がかなり気を遣っていないとペアプロの効果を発揮できないことが多い
  • 経験が浅い側は「何がわからないのかわからない」という状況に陥りやすい(すごい共感)

[出てきた案]

  • ペアプロの目的(「何がわからないのか」「何を解決したいのか」)を最初に確認しあうことで、その時のペアプロの対象とする範囲(30分くらいの狭いスコープだと尚良い)について双方で合意すると良い
    • 「何がわからないのかわからない」状態、ものすごく覚えがあって一人で共感しまくってました。
    • こういうルールを設定できれば、経験が浅い側は広い樹海で彷徨うことを避けられるし、スキルがある側もどこからどこまで説明すればいいか迷わずに済みそう

最後に

  • ペアプロのライブコーディングってあまり見るチャンスがない(私が観測する範囲では)ので、この会はすごくありがたかったな
  • 感想戦で色々話す中で、そういえば昔ペアプロの記事書いたなあと思い出して、勝手に初心に還ったような気持ちになっていた note.com
  • ペア&モブプロ、作業効率とか生産性だけじゃないメリットがたくさんあるんだよなあ。。。と改めて感ずる会だった。ただ漠然とペアプロを取り入れるだけじゃなくて、その効果がより発揮できるようにキャッチアップして行きたい。