• プログラミング教室、小中高生、大人、コンピュータ科学

▼AP令和3年度春期:問50 アジャイル開発などで導入されている”ペアプログラミング”の説明はどれか。

ア 開発工程の初期段階に要求仕様を確認するために、プログラマと利用者がペアとなり、試作した画面や帳票を見て、相談しながらプログラムの開発を行う。

イ 効率よく開発するために、2人のプログラマがペアとなり、メインプログラムとサブプログラムを分担してい開発を行う。

ウ 短期間で開発するために、2人のプログラマがペアとなり、交互に作業と休息を繰り返しながら長時間にわたって連続でプログラムの開発を行う。

エ 品質の向上や知識の共有を図るために、2人のプログラマがペアとなり、その場で相談したりレビューしたりしながら、一つのプログラムの開発を行う。

▼上に出てきた用語の意味
【アジャイル開発 agile software development】ソフトウェアを迅速に、また、状況の変化に柔軟に対応できるように開発する手法の総称。アジャイル agile とは、俊敏な、しなやかな、素早い、などの意味。短いプロセスを何度も反復して次第に全体を組み立てていくアプローチの手法が多い。(IT用語辞典 e-Words)

【ウォーターフォールモデル waterfall model】システム開発の手順を模式化したモデルの一つ。設計やプログラミングといった各段階を一つずつ順番に終わらせ、次の工程に進んでいく方式。最も古典的な開発モデルの一つで現代でも広く普及している。(IT用語辞典 e-Words)

【ペアプログラミング pair programming】コンピュータプログラムの作成(プログラミング)作業を常に二人一組で行う手法。一人がキーボードでコードを打ち込み、もう一人は傍らでどのようなコードにすべきか一緒に検討したり、誤りを指摘したりする。前者を「ドライバー」、後者を「ナビゲーター」または「オブザーバー」と呼ぶことがある。
ドライバーとナビゲーターの役割は固定的なものではなく、一定の時間(例えば30分から1時間)の経過や、作業の区切り(例えば単体テストを実行するタイミング)ごとに入れ替わるのがよいとされる。また、ペアを組むスタッフの組み合わせは固定せずに、できれば毎日違うメンバーの組み合わせでペアを組むのが良いとされる。(IT用語辞典 e-Words)

▼今回の問いとFEのシラバスの関連を赤の★印、既出は橙色の★印で示しました。

表の出所 FEのシラバスから筆者が作成。

▼IPのシラバスでの位置付け
中分類9:ソフトウェア開発管理技術 >26. 開発プロセス・手法 >(3) アジャイル:迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴
〔用語例〕ペアプログラミング

▼比較:FEのシラバスでの位置付け
中分類13:ソフトウェア開発管理技術 >1.開発プロセス・手法 >(1)ソフトウェア開発手法 >② アジャイル:迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴を理解する。
〔用語例〕ペアプログラミング
解答エ