【えくすとりーむぷろぐらみんぐ】

エクストリームプログラミング とは?

💡 良い習慣を「極端に」徹底するアジャイル開発手法
📌 このページのポイント
XP(エクストリームプログラミング)の主要プラクティス 短いイテレーション 1〜2週間の 開発サイクルを繰り返す ペアプログラミング 2人1組でコーディング 👤 👤 TDD(テスト駆動) テスト → コード → リファクタ Red Green Refac 継続的インテグレーション 頻繁にコードを統合 シンプル設計 必要最小限の設計 顧客との協働 常にフィードバック すべてのプラクティスを組み合わせて高品質・高速な開発を実現
XPの主要プラクティス
ひよこ ひよこ

「エクストリーム」って何が極端なの?

ペンギン先生 ペンギン先生

普通の開発でも「コードレビューしよう」「テスト書こう」と言われるよね。XPはそれを極端にやる。コードレビューが良いなら「常に二人で書こう(ペアプロ)」、テストが良いなら「先に書こう(TDD)」、リリースが良いなら「毎日やろう(CI)」。良いことを限界まで徹底するから「エクストリーム」なんだ。

ひよこ ひよこ

12のプラクティスって全部やらなきゃダメ?

ペンギン先生 ペンギン先生

全部やるのが理想だけど、現実的にはチームの状況に合わせてつまみ食いすることが多い。TDDとCIだけ取り入れるとか、ペアプロだけやるとか。ただXPのプラクティスはお互いに補強し合う設計になっているから、組み合わせるほど効果が高まる。

ひよこ ひよこ

スクラムとはどう違うの?

ペンギン先生 ペンギン先生

スクラムは「チームの進め方(ロール・会議・成果物)」を定義するフレームワーク。XPは「開発の技術的なやり方(ペアプロ・TDD・リファクタリング)」を定義するプラクティス集。だから実はスクラムとXPを組み合わせて使うチームも多いよ。

ひよこ ひよこ

ペアプロって二人で一台のPCを使うの?効率悪くない?

ペンギン先生 ペンギン先生

一見非効率に見えるけど、書いた瞬間にレビューされるからバグが入りにくく、知識がチーム内で共有される。結果的に「後で見つかるバグの修正コスト」や「属人化のリスク」が減る。リモートならVS Code Live Shareなどで画面を共有してやることも多い。

ひよこ ひよこ

XPって今でも使われてるの?古い手法じゃない?

ペンギン先生 ペンギン先生

XPという名前で丸ごと採用するチームは減ったけど、XPが生んだプラクティス(TDD・CI・ペアプロ・リファクタリング)は現代の開発にしっかり根付いている。「XPを意識せずにXPのプラクティスを使っている」チームは非常に多い。手法の名前は古くなっても、中身は今のスタンダードになっているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
エクストリームプログラミングって出てきたら「良い開発習慣を極端に徹底するアジャイル手法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Extreme Programming」 = 極端なプログラミング
💬 Kent Beckがクライスラー社のプロジェクトで実践したのが始まり。「コードレビューが良いならずっとやろう(=ペアプロ)」「テストが良いなら先に書こう(=TDD)」と良い習慣を極端に推し進めた
← 用語集にもどる