Coda

論文メモ Explaining Pair Programming Session Dynamics from Knowledge Gaps

July 17, 2020

ペアプログラミングによる知識移転の効果を知るために、9社の社員からなる26組のペアプログラミングを、グラウンデッド・セオリーで調査した。 従来は、熟練度合いで開発者を分けて、ペアプログラミングを分析・評価することが多い。 今回の調査では、システムの要件・仕様のようなシステム固有の知識と、言語、デザインパターン、開発ツールなどの開発全般の知識の2軸で、開発者と知識を分ける重要性を定性的に示した。 一方がシステム固有の知識に欠け、他方が開発全般の知識に欠けるときに、最も知識の伝達が活発だった。

先行研究で録画されたペアプログラミングの動画と、著者らによって新たに撮影された14件の動画を調査対象としていた。 動画の長さは1件あたり平均1.5時間で、全てのセッションにおいて、開発者は自社のシステムを開発した。 開発対象やペアの相手を自由に選ぶことができた。

知識をシステム固有性の有無すると、知識移転においては、システム固有の知識のほうが重要視されることが明らかになった。 ほぼ全てのセッションにおいて、開発に必要なシステム固有の知識を共有、獲得することが開発全般の知識の伝達よりも優先された。 一方で、開発全般の知識については、ペアの間に知識の差があっても、伝達が生じないこともあった。

どちらの開発者も開発全般の知識は共に十分にあるが一方がシステム固有の知識に欠けるペアの場合、質問される前に詳しい方が相手に説明し、その後知識を欠く方が質問するケースが顕著だった。 しかし、説明をうまくできていないと、質問の量が多くなり、質問をとおして獲得される知識の量が増える。 あるセッションでは、質問を重ねても結果を知識を伝達できず、最終的にはソースコードや成果物から知識を獲得する場面がみられた。