平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問25
テクノロジ/開発技術アジャイルソフトウェア開発などで導入されている“ペアプログラミング”の説明はどれか。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問25
- ア開発工程の初期段階に要求仕様を確認するために,プログラマと利用者がペアとなり,試作した画面や帳票を見て,相談しながらプログラムの開発を行う。
- イ効率よく開発するために,2 人のプログラマがペアとなり,メインプログラムとサブプログラムを分担して開発を行う。
- ウ短期間で開発するために,2 人のプログラマがペアとなり,作業と休憩を交代しながら長時間にわたって連続でプログラムの開発を行う。
- エ品質の向上や知識の共有を図るために,2 人のプログラマがペアとなり,その場で相談したりレビューしたりしながら,一つのプログラムの開発を行う。
正解:エ
解説
ペアプログラミングは,エクストリームプログラミング(XP)などのアジャイル開発で導入されているプラクティスの一つで,2人のプログラマがペアとなり,一方がコードを書き(ドライバ),もう一方がその場でコードをレビューしたり設計を検討したりする(ナビゲータ)役割を担いながら,一つのプログラムを共同で開発する手法です。役割は適宜交代しながら進められ,品質の向上や知識・スキルの共有を主な目的とします。
選択肢ごとの解説
- ア誤り。開発工程の初期段階にプログラマと利用者がペアとなって要求仕様を確認する手法は,プロトタイピングなどにおける利用者参加の一手法であり,ペアプログラミングの説明ではありません。
- イ誤り。2人のプログラマがメインプログラムとサブプログラムを分担して開発するのは,通常の分担開発(役割分担)であり,同じ一つのプログラムを共同で開発するペアプログラミングとは異なります。
- ウ誤り。作業と休憩を交代しながら長時間連続で開発を行うことは,ペアプログラミングの目的や方法の本質的な説明ではありません。
- エ正しい。2人のプログラマがペアとなり,その場で相談やレビューをしながら一つのプログラムを共同で開発することで,品質の向上や知識の共有を図る手法がペアプログラミングです。