ITパスポート試験のマネジメント系分野で登場するXP。英語ではExtreme Programming(エクストリームプログラミング)と呼びますが、名前を聞いただけでは何だか難しそうだと感じてしまうかもしれませんね。
IT用語は日本語に直訳するとかえって分かりにくくなることが多いものです。XPの本質は、変化が激しい現代において効率よく、高品質なソフトウェアを作ることを追求したアジャイル開発手法の代表格です。
この記事では、IT知識ゼロからでもXPの仕組みや試験での出題ポイントが腹落ちするように、実例を交えて解説していきます。読み終える頃には、代表的なプラクティス(習慣)がしっかり記憶に残っているはずです。合格に向けて、まずは用語のイメージを掴むところから一緒に進めていきましょう。
XP(エクストリームプログラミング)とは?一言でいうと?
XPを一言で表現すると、良いソフトウェアを作るための当たり前で良い習慣を、極端(エクストリーム)にやり抜く手法です。
1990年代の後半にケント・ベック氏らによって提唱されました。従来の、最初にすべての設計を完璧に固めるウォーターフォール開発とは対照的に、XPはアジャイル開発という、短期間のサイクルを繰り返しながら開発を進めるグループに属します。
アジャイル(Agile)とは機敏な、すばやいという意味。つまり、顧客の要望が変わっても柔軟に対応できるよう、開発の現場でこれをやれば上手くいくと言われる習慣を徹底的に(=エクストリームに)実践するのがXPの特徴です。

実務で役立つ!XPの5つの重要プラクティス
ITパスポート試験において、XP(エクストリームプログラミング)で最もよく問われるのが具体的なプラクティス(実践項目)です。試験では、これらの用語の意味をしっかり区別できるかが得点を左右します。
特に重要な5つを見ていきましょう。
1. ペアプログラミング
二人一組で一台のパソコンに向かってプログラミングを行うことです。
一人が実際にコードを書くドライバー、もう一人がそのコードを客観的にチェックしたり先を考えたりするナビゲーターの役割を担います。
二人がかりでやったら効率が落ちるのではと思うかもしれませんが、その逆です。その場でミスを見つけられるため修正コストが下がり、知識の共有も進むため、結果として高品質なシステムを早く作ることができます。三人寄れば文殊の知恵の二人版、と考えるとイメージしやすいですね。
2. テスト駆動開発(TDD)
通常、プログラミングはコードを書いてから、正しく動くかテストするという順番ですが、XPでは逆です。まずテストコードを作り、そのテストをパスするようにプログラムを書くという手法を徹底します。
これをテスト駆動開発(Test-Driven Development)と呼びます。最初に何ができるべきかというゴールを明確にすることで、迷いなく開発を進められ、バグの混入を最小限に抑えられます。
3. リファクタリング
プログラムを動かしているうちに、中のコードが複雑になったり、整理整頓が必要になったりすることがあります。リファクタリングとは、プログラムの動作(機能)は変えずに、内部のソースコードを読みやすく、綺麗に整理することを指します。
部屋の掃除に例えると分かりやすいでしょう。生活の質(機能)は変わりませんが、整理整頓しておくことで、将来新しい家具(新機能)を入れたいときに、作業が格段に楽になります。持続可能な開発には欠かせない習慣です。
4. 小さなリリース
完成まで数ヶ月待ってもらうのではなく、数週間程度の短いスパンで、実際に動くソフトウェアをこまめにリリース(公開)することです。
早くリリースすることで、顧客からここはもっとこうしてほしいというフィードバックを早期に得られます。間違いが小さいうちに軌道修正できるため、大きな失敗を防ぐことができます。
5. 顧客の常駐
開発チームのすぐそばに顧客(または利用者の代表)が常にいる状態にすることです。
開発中にここはどういう動きにするのが正解だろうと迷ったとき、メールや電話で返信を待つのは時間のロスです。その場ですぐに質問して回答をもらえる環境を作ることで、コミュニケーションの待ち時間をゼロにし、開発スピードを高めます。
なぜXPが注目されるのか?(具体例)
XPの考え方は、現代の非常にスピード感のあるビジネスにマッチしています。
たとえば、新しい料理のレシピを開発するとしましょう。
- 従来のやり方(ウォーターフォール): 完璧なレシピを紙に書き、試作を一切せず、最後にいきなり1,000人分作って出す。もし味が不評だったら、すべてが台無しです。
- XP的なやり方(アジャイル): まず一口分だけ作って、すぐにお客さんに「味見」してもらう(小さなリリース)。お客さんの感想を聞いて、その場ですぐに調味料を調整する(顧客の常駐・柔軟な対応)。これを繰り返すことで、最終的に確実にお客さんが喜ぶ料理を完成させます。
不透明な今の時代、最初から100点の正解を出すのは困難です。だからこそ、XPのようにこまめに確認し、柔軟に修正していくスタイルが支持されているのです。
ITパスポート試験ではこう出る!出題ポイント
ITパスポート試験において、XPに関する問題が出たときに確実に点数を取るためのポイントを整理します。
以下のキーワードが選択肢や問題文に含まれていないかチェックしてください。
- アジャイル開発手法のひとつである: XPはアジャイルの仲間です。
- 変化への対応を重視する: 計画をガチガチに固めるのではなく、柔軟性を大切にします。
- 具体的なプラクティスの名前:
- ペアプログラミング: 二人で一台、ミスの削減。
- リファクタリング: 動きを変えず中身を綺麗にする。
- テスト駆動開発: 書く前にテストを作る。
- 継続的インテグレーション: コードを頻繁に統合して自動テストする。
- 開発スピードと品質の両立: 習慣を徹底することで、速く正確に作ることを目指します。
試験ではペアプログラミングの説明として適切なものはどれかといった、プラクティスの中身を問うパターンが多いので、上記のセットでしっかり覚えておきましょう。
過去問に挑戦!
それでは、実際の試験でどのように出題されるか見てみましょう。自分の力で解けるかチャレンジです。
過去問 1(令和4年度 問38)
【問題】
アジャイル開発のプラクティスのひとつであり、一組のプログラマが、1台のコンピュータを使い、2人で共同してプログラムを開発する手法はどれか。ア. テスト駆動開発
イ. ペアプログラミング
ウ. リファクタリング
エ. 継続的インテグレーション
【解説】
- 正解はイです。
- 2人で共同して、1台のコンピュータを使い、という記述から、ペアプログラミングであることが分かります。
- アのテスト駆動開発はコードの前にテストを作る、ウのリファクタリングは動作を変えず中身を整えることなので、文脈に合いません。
過去問 2(関連テーマ:XPの価値)
【問題】
エクストリームプログラミング(XP)における「リファクタリング」の説明として、適切なものはどれか。ア. 外部から見た動作を変えずに、プログラムの内部構造を改善すること
イ. 二人のプログラマがペアになり、一つのプログラムを共同で開発すること
ウ. プログラムを記述する前に、そのプログラムのテストケースを作成すること
エ. 利用者の要求が変化しても、柔軟に設計変更を行えるようにすること
【解説】
- 正解はアです。
- リファクタリングのキーワードは動作を変えずに、内部構造を改善、です。
- イはペアプログラミング、ウはテスト駆動開発の説明です。エはアジャイル開発全般やXP全体の考え方には合致していますが、リファクタリングの定義としては不適切です。
最後のアドバイス
本記事では、ITパスポートの重要用語であるXP(エクストリームプログラミング)について解説しました。
最後に重要なポイントをおさらいしましょう。
- XPはアジャイル開発手法の代表格で、良い習慣を極端に追求するもの。
- ペアプログラミング、テスト駆動開発(TDD)、リファクタリングなどのプラクティスが試験の要。
- 変化の激しいビジネス環境において、柔軟かつスピーディーに開発を進めるために生まれた。
ITパスポートの学習では、英字3文字の用語がたくさん出てきて混乱しがちですが、それぞれの具体的なイメージをセットで覚えるのが合格への近道です。
XP=当たり前の習慣を徹底する熱血な開発チームといったイメージを持って、自信を持って試験に臨んでください。一歩ずつ着実に進んでいけば、合格は見えてきます。応援しています。
