ケントベック氏のこのツイートで、戦略的に最も重要な"変"なことってなんだろうと興味を惹かれて一連のツイートを読んだので、せっかくなので許可をいただき翻訳(意訳)しました。
ツイート主はAndrew Edstrom氏で、bioによるとフリーランスのエンジニアでアジャイルレトロスペクティブに関するアプリケーションを開発している方なのだそうです。
文中の “Extreme Programming Explained” はXPエクストリーム・プログラミング入門―変化を受け入れる という日本語訳にもなっているケントベック氏の書籍です。書き終わってからその書籍が手元にあることに気づきました。訳書とは少しノリが違う部分があります。ペアを交代することをペアチェンと訳しましたがローカル用語かもしれません。
ケントベックによるXPエクストリーム・プログラミング入門はペアプログラミングをしているチームのバイブルになっています。それは評判に値するものです。
ペアプログラミングのアイデアを世に広める助けになったにもかかわらず、ペアプログラミングの節はたった2ページしかありません!
何が述べられているか、恐らくあなたは驚くでしょう:
1. すべてのプロダクションコードをペアプログラミングしましょう。
なぜなら
- 職務に集中できる
- チームのこと以外に気が逸れなくなる
- あなたがイライラしたりハマったとき、あなたのペアがドライバーに代わり、イライラを減少させる
- アイデアを思いついたり明確にする
2. ”ペアプログラミングはプログラミングであると同時に二人の間の対話(かつ分析かつ設計かつテスト)であり、プログラムをよりよくすることの試みである”
その鍵は双方が能動的に改善を試みることです。
もし一方がペアプログラミング中に電話していたら…それは問題です!
3. もしあなたがあるアイデアに取り組んだりプロトタイプを一人で作るとしても、それは全く問題ないです!
ソロで行ったことの(コードではなく)考えをチームに共有しましょう。
あなたがソロで書いたどんなコードであっても、後でペアで再実装されるべきです。
4. ペアプロは疲れます。ほとんどのプログラマーは1日に5,6時間程度が限度です。
私がこれまで見てきたほとんどのXP組織はこのことを無視していて、プログラマーにミーティング以外の100%をペアでやることを期待してしまっています。
5. ペアプロ中はたくさんの水を飲みましょう。体に良いですし、頻繁な小休憩を取ることになります。
6. ペアをよく回しましょう。理想的には2時間毎に
そんなに頻繁なペアチェンを実践しているのは見たことがありませんでした。ほとんどのチームは1日か2日にペアチェンします。
いくつかのチームは1週間に一度しかペアチェンしません。ですがそれは普通はあまりうまくいきません。
7. (ここから少し変になってきます) あなたのペアのパーソナルスペースを尊重しましょう。
あまり近くに座ってはいけません。「近すぎる」がどれくらいなのかは個々人の文化的背景から異なります。
8.もしあなたがペアの人を異性として好きになってしまったら、気持ちのほとぼりが冷めるまでその人とはペアにならないようにしましょう。
もしその気持ちがお互いのものであってもその気持ちは抑えましょう。もしチームメンバーと付き合いたいと思ってしまったら、そのどちらか一方がチームを離れるべきでしょう。
9.もしペアプロによってあなたが不快になるようなら、マネージャーや人事など安全に相談できる人に相談しましょう。
以上です!
個人的には「キモいことするな。そういうペアを放置するな、デートしたり口説いたりするな」ということに半分のセクションを費やしていることに驚きました。
でも、彼の言う通り。そういうことはペアセッションを台無しにし、多くのトラブルを引き起こすでしょう。
以上翻訳