平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問10
テクノロジ/開発技術ハードウェアの経験が豊富なプログラマ A と,経験の少ないプログラマ B がペアプログラミングの手法を利用して組込みシステムの開発を進める。ペアプログラミングによる開発の進め方として,適切なものはどれか。
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問10
- アA がデバイスドライバの開発を担当し,B がアプリケーションの開発を担当する。
- イA がプロジェクトマネージャとして,プロジェクトの調整役になる。
- ウA と B がエディタの画面を共有し,B が記述したコードに対して A が助言する。
- エハードウェアとソフトウェアの切分けをシミュレーションで検証してから,A と B とで分担して開発する。
正解:ウ
解説
ペアプログラミングは,2 人のプログラマが 1 台のコンピュータを使い,1 人(ドライバ)がコードを記述し,もう 1 人(ナビゲータ)がその内容をリアルタイムでレビューし助言する開発手法です。経験の異なる A と B がペアを組む場合も,役割を固定的に分業するのではなく,エディタの画面を共有しながら,記述されたコードに対してもう一方が助言し合うという進め方が,ペアプログラミングの本来の狙いである知識移転や品質向上につながります。
選択肢ごとの解説
- ア誤り。A がデバイスドライバ,B がアプリケーションをそれぞれ独立して担当することは,作業を分担して個別に開発する進め方であり,画面を共有しながら助言し合うペアプログラミングの進め方ではありません。
- イ誤り。A がプロジェクトマネージャとして調整役になることは,ペアプログラミングにおける開発者同士の協働作業とは異なる役割です。
- ウ正しい。A と B がエディタの画面を共有し,B が記述したコードに対して A が助言することは,ドライバとナビゲータの役割分担によるペアプログラミングの適切な進め方です。
- エ誤り。ハードウェアとソフトウェアの切分けをシミュレーションで検証してから分担して開発することは,コデザインの考え方であり,ペアプログラミングの進め方の説明ではありません。