ペアプログラミングの説明|情報処理安全確保支援士 平成28年 春期午前Ⅱ試験 問23
出典:平成28年春期 午前Ⅱ 問23
分野:ソフトウェア開発管理技術 / 開発プロセス・ 手法
アジャイルソフトウェア開発などで導入されている"ペアプログラミング"の説明はどれか。
- ア:開発工程の初期段階に要求仕様を確認するために,プログラマと利用者がペアとなり,試作した画面や帳票を見て,相談しながらプログラムの開発を行う。
- イ:効率よく開発するために,2人のプログラマがペアとなり,メインプログラムとサブプログラムを分担して開発を行う。
- ウ:短期間で開発するために,2人のプログラマがペアとなり,作業と休憩を交代しながら長時間にわたって連続でプログラムの開発を行う。
- エ:品質の向上や知識の共有を図るために,2人のプログラマがペアとなり,その場で相談したりレビューしたりしながら,一つのプログラムの開発を行う。
TSUNAGARU-ADVICE
まず押さえたいこと
ペアプログラミングは、2人のプログラマが1台のコンピュータで一つのプログラムを共同で開発する手法です。実装しながらその場で相談・確認・レビューを行うことで、品質向上・知識共有・ミスの早期発見を狙います。
迷ったときの判断軸
利用者と試作品を確認するのはプロトタイピングに近い考え方で、プログラムをメインとサブに分担することや、交代で長時間作業することがペアプログラミングの本質ではありません。2人で一つのコードを同時に見ながら開発・レビューすると捉えましょう。
科目Bにつなげるために
ペアプログラミングそのものは、支援士試験の科目Bで中心的に問われる可能性は高くありません。科目Aでアジャイル開発の代表的な実践手法として整理したら、科目B対策では、脅威・脆弱性・リスク・管理策・ログ分析・インシデント対応など、セキュリティ分野の重要論点を優先して深掘りしましょう。
ペアプログラミングは、2人のプログラマが1台のコンピュータを使い、相談しながら一つのプログラムを共同で開発する方法です。XP(エクストリームプログラミング)などのアジャイル開発で利用されます。
一般に、一方が実際にコードを書くドライバ、もう一方がコードを確認しながら助言やレビューを行うナビゲータの役割を担当し、必要に応じて役割を交代します。その場でレビューできるため、品質の向上やミスの早期発見、知識の共有などが期待できます。
したがって、エが適切です。
❌他選択肢が誤りの理由ア:開発工程の初期段階に要求仕様を確認するために,プログラマと利用者がペアとなり,試作した画面や帳票を見て,相談しながらプログラムの開発を行う。
⇒プロトタイピングなどに近い説明です。ペアプログラミングでは、プログラマと利用者ではなく、2人のプログラマが共同で一つのプログラムを開発します。
イ:効率よく開発するために,2人のプログラマがペアとなり,メインプログラムとサブプログラムを分担して開発を行う。
⇒ペアプログラミングでは、2人が別々のプログラムを分担するのではなく、同じプログラムに対して共同で作業します。
ウ:短期間で開発するために,2人のプログラマがペアとなり,作業と休憩を交代しながら長時間にわたって連続でプログラムの開発を行う。
⇒交代で長時間作業を続けることが目的ではありません。2人が同じプログラムを確認し合いながら開発し、品質向上や知識共有を図ることが特徴です。