エクストリームプログラミングとは?エクストリームプログラミング
エクストリームプログラミングとは、少人数で短い反復を繰り返す軽量な開発手法。ペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、小さなリリース、共同所有といった技術的なプラクティスの集合として定義され、コミュニケーション・シンプルさ・フィードバック・勇気・尊重を価値に置く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
要件を先に固め切ってから作る進め方は、途中で変わる要求に弱く、変更のたびに費用が跳ね上がる。そこで「変更は起こる前提」に立ち、変更に強い状態をコードとテストで維持し続けるという逆の発想で組み立てられたのがXPである。ケント・ベックが1990年代後半に提唱し、アジャイル開発の源流のひとつになった。
具体例
2人1組で1台の端末に向かい、書き手と確認役を交代しながらコードを書くのがペアプログラミングである。テーブル定義の変更のように影響範囲が読みにくい作業では、その場で第二の目が入るため、参照制約の見落としをコミット前に潰せる。
試験での引っ掛け
スクラムとの守備範囲の違いが的になる。XPが定めるのはペアプログラミング・テスト駆動開発・リファクタリングといった技術的なプラクティス、スクラムが定めるのはプロダクトオーナーやスクラムマスタという役割と、スプリントなどのイベントを持つ枠組みである。したがってスプリント・デイリースクラム・スクラムマスタをXPの用語として選ばせる選択肢は誤り。
関連用語
出た過去問
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストケースを作成する。
要点:テスト駆動開発は実装より先にテストを書く進め方
テスト駆動開発では、実装よりも先に満たすべき仕様を表すテストコードを書き、それが失敗することを確かめてから、通るように実装を進める。仕様が明確になり、リファクタリングも安全に行えるようになる点が狙いである。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
正解:プログラムコードを書く前にテストコードを書く。
要点:テスト駆動開発は実装より先にテストコードを書く
テスト駆動開発は、実装よりも先に、満たすべき振る舞いを検証するテストコードを書くことを出発点とする。最初はテストが失敗する状態から始め、それを通す最小限のコードを書き、動作を保ったまま整理するという短い周期を繰り返す。テストが仕様の記述と設計の指針を兼ねる点が本質であり、網羅率の追求そのものが目的ではない。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP)のプラクティスとして、適切なものはどれか。
正解:単体テストを終えたプログラムは、すぐに結合して、結合テストを行う。
要点:XPは単体テスト後すぐ統合する継続的インテグレーション
XPは、単体テストを終えたコードをためこまずに直ちに全体へ統合し、結合した状態で動くことを頻繁に確かめる。これが継続的インテグレーションのプラクティスで、統合時の不具合を小さいうちに見つけられる。ほかにペアプログラミング、コードの共同所有、週40時間労働などが定められている。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの4 開発技術 > 1. 開発プロセス・手法 > (1) ソフトウェア開発手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。