XP(Extreme Programming)のプラクティス|科目A-1(応用情報技術者) 令和7年 春期午前試験 問48

出典:令和7年春期 午前 問48 分野:ソフトウェア開発管理技術 / 開発プロセス・ 手法
XP(Extreme Programming)のプラクティスの一つであるものはどれか。
  • ア:構造化プログラミング
  • イ:コンポーネント指向プログラミング
  • ウ:ビジュアルプログラミング
  • エ:ペアプログラミング
応用情報技術者
解説

エクストリームプログラミング(XP)は、アジャイル開発手法の1つです。

特徴は、最初から完璧なものを作ろうとするのではなく、早い段階で動くプログラムを作り、短いサイクルでテストやリリースを繰り返しながら改善していく点です。

XPでは、「変化する顧客の要求に素早く対応すること」と「開発のリスクを小さくすること」を重視します。

カテゴリ プラクティス
共同のプラクティス 反復、共通の言語、オープンな作業空間、回顧
開発のプラクティス テスト駆動開発、ペアプログラミング、リファクタリング、ソースコードの共同所有、継続的インテグレーション、YAGNI
管理者のプラクティス 責任の受入れ、援護、四半期毎の見直し、ミラー、最適なペース
顧客のプラクティス ストーリーの作成、リリース計画、受入れテスト、短期リリース

この中でも、試験でよく問われる代表的なものがペアプログラミングです。

ペアプログラミングは、2人1組でプログラムを作る方法です。1人が実際にコードを書き、もう1人がその内容を確認しながら助言します。役割は固定ではなく、途中で交代しながら進めます。

ペアプログラミングを行うと、コードを書きながら常にレビューできるため、ミスに早く気づきやすくなります。また、1つのコードを2人で理解するため、特定の人しか分からない状態を防ぎやすくなります。

そのほか、細かい問題をその場で相談しながら解決できる、集中力を保ちやすい、知識共有が進むといった効果もあります。

つまりXPは、「短いサイクルで作って試し、顧客の要求に合わせて改善する開発手法」です。その中のペアプログラミングは、「2人でコードを書きながら、同時にレビューと知識共有を行う方法」と考えると分かりやすいです。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:構造化プログラミング
⇒構造化プログラミングは、順次・選択・反復の基本構造を用いて、プログラムを分かりやすく記述する考え方です。XP固有のプラクティスではありません。
イ:コンポーネント指向プログラミング
⇒コンポーネント指向プログラミングは、再利用可能なソフトウェア部品を組み合わせてシステムを構築する考え方です。XPの代表的なプラクティスではありません。
ウ:ビジュアルプログラミング
⇒ビジュアルプログラミングは、図形やブロックなどを組み合わせて処理を記述する手法です。XPのプラクティスには該当しません。
TSUNAGARU-ADVICE

まず押さえたいこと

XPでは、2人の開発者が1台のコンピュータを使い、1人がコードを書き、もう1人が内容を確認しながら進めるペアプログラミングが代表的なプラクティスです。役割を交代しながら作業することで、品質向上や知識共有を図ります。

迷ったときの判断軸

XPのプラクティスには、ペアプログラミング・テスト駆動開発・継続的インテグレーション・リファクタリング・小規模リリースなどがあります。構造化、コンポーネント指向、ビジュアルはプログラミング手法や開発スタイルであり、XP固有のプラクティスではありません。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、XPを単なる高速開発ではなく、短い反復と継続的な改善によって変化へ対応するアジャイル開発手法として理解しましょう。スクラムとの違いや、各プラクティスの目的を整理すると有効です。