ペアプロで宗教論争!?

久しぶりの更新でこんな内容でなんですが、twitterではちょっと書きづらいのでここで吐き出します。読んでる人はあまりいないと思うので、自分に対するメモ書きの意味も含めて…

最近、開発上のいろいろな問題点について考えたり、いろいろな本を読んだりしているうちに、「品質を作り込む」ことを実現するためには、ペアプロ+TDDの組み合わせはかなり有効ではないかという思いが強くなってきました。現状、品質の作り込みができていないことで発生する問題も多いと感じているので、できれば実行してみたいとも思っています。実業務で行ったことがないので、感触をつかむ目的も込めてTDD Boot Campにも申し込みました。

ところが、このペアプロ。現場の開発者にはひどく評判が悪いんです。実際にやってみて意味ないからイヤ、というよりは、生理的に拒否感を感じている感じ。

開発者って、自分の世界を守りたいというか、極端に言えば人と話さなくてもいいからプログラマやってる、って人も多いと思うんです。なので、一日中他人と一緒に仕事をするというペアプロは、虫唾が走るほどイヤなことなんだと思うんです。他のいろいろなプラクティスは、論理的に説明して理解してもらえれば、導入はできると思います。でも、ペアプロはそれが通用しないと感じます。

マズローの欲求のピラミッド的に言うと、ペアプロに対して「生理的」な嫌悪感を、つまり感情の最下層に対する拒否感を抱いています。なので、いくら論理的なメリットを説いたとしても、仮にメリットを認めてもらうことに成功したとしても、「それはそれでわかるけどけどやっぱりイヤ」という話になると思います。

自分自身をふりかえってみても、ペア作業はやっぱりストレスが溜まると思うし、ひどく疲れるし、人見知りな人にはこの上なくつらいプラクティスだってのはよくわかります(自分自身がそそうですから)。ペアプロをやらずに、開発者の嫌悪感を抱かせずに、同等(以上)の効果が見込めるプラクティスがあるなら、すぐさまそこに飛びつきます。ソフトウェア開発では、「品質を作り込む」ことはとても重要なことなので、できればそれを実現したい。

たぶん、いろいろなところでこんな問題は起きているのではないかと推測します。
ペアプロほど嫌悪感を抱かせずに、品質の作り込みを実現できるプラクティスってないもんですかねぇ…