ペアプログラミングは、ソフトウェアの品質を向上させ、チームメンバーの協力を強化するのに役立ちます。多くの利点がありますが、チームメンバーは本当に簡単にペアを組むことができるのでしょうか?
ブラジルの ThoughtWorks のコンピュータ科学者兼コンサルタント開発者である Marcos Brizeno 氏は、最近のブログで自身の考えを共有し、ペア プログラミングが難しい理由を説明しました。
Marcos 氏は、ペア プログラミングを行う際に次の課題を提案しました:
インフラストラクチャ: チームは専用のワークステーションを持ち、エディターやオペレーティング システムなどの共通のインストールを提供する必要があります。
疲労: 集中力を高めるのは簡単ではありません。特定の問題に集中し、自分の考えを共有し、他の人の意見に耳を傾けるには、多くのエネルギーが必要です。
自分: 謙虚さを保ち、議論するのではなく他の人のアイデアに耳を傾けることが重要です。
TIM Group のソフトウェア エンジニアである David Green 氏は、ペアリングは誰にでも適しているわけではないと言います。彼は最近のブログで次のような見解を共有しました:
どんなチームも最終的には異なる個性を持つ人々の混合物です。外向的な人はペアを組むことを好みますが、内向的な人はペアを組むのが難しいと感じる傾向があり、それを避けようとします。これは必ずしも教育や説得の問題ではなく、メリットは比較的不明確であり、さらに内向的な開発者にとっては、このプロセスは一人で作業するのと同じくらい楽しいものではないと感じるかもしれません。
ASCII キャラクターの作成者であるジョー・バーンズ氏は、チームがペアリングをやめた理由として盗作を挙げました。
私たちのチームワークを台無しにする最大の要因はペアリングであることに気づいたと思います。盗作されることを常に心配していることが、この結果に直結します。
マルコスは、チームでのペア プログラミングのベスト プラクティスを導き出すために、「あの人とこの人」と呼ばれる振り返り演習を紹介します。元々は振り返りイベントでしたが、このイベント情報は Paulo Caroli (ThoughtWorks のアジャイル コーチ) と Taina TC Caetano (ThoughtWorks の開発者コンサルタント) によって共同投稿されました。
壁を 2 つのセクションに分割し、「その人になってはいけません」と「その人になってください!」: 最初のセクションでは、メンバーが嫌いな行動の例を書き留めます。 2 番目のセクションには、人々が本当に好む行動の例が含まれています。
次に、壁に行き、チームにそれぞれの例について話し合ってもらいます。コミュニケーション中に、チームは特定の種類の行動についてどう思うかを話し合う必要があります。全員がこの行動が良いと考えていますか?いくつかの例の動作は明白であり、話すのは簡単かもしれませんが、他の例では詳しく議論する価値があるかもしれません。
このような会話をすることで、チームの士気を向上させる良い方法であると思います。チームのモチベーションをどう感じればいいでしょうか?より良い方法は、彼らがお互いにどのように話しているかを観察することです。多くの場合、チームが静かであるということは、人々のつながりが少なく、共有される情報も少ないことを意味します。