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

読み:えくすとりーむぷろぐらみんぐ / 英語表記:eXtreme Programming

短い開発周期で動くソフトウェアを作り、利用者の意見を次の作業へ反映するアジャイル開発の手法。二人でコードに取り組むペアプログラミングや、テストを先に書いて実装と改善を繰り返すテスト駆動開発などを組み合わせ、要求の変化に対応する。

イマシルちゃんの解説

エクストリームプログラミング(XP)は、小さく作って確かめる作業を短い周期で繰り返す開発方法だよ。
まず利用者と必要な機能や作る順番を決めるんだ。
開発中は二人でコードを確認したり、先に用意したテストを通るように書いたりして、間違いを早く見つけるよ。
動くものができたら利用者に見てもらい、その意見を次に作る機能へ反映するの。
動作の確認と利用者とのやり取りをこまめに重ねるから、求めるものが途中で変わっても対応しやすいんだ。

より深い解説

どのような開発手法か

XP(eXtreme Programming)は、要求の変更を受け入れながらソフトウェアを開発するアジャイル系の手法である。短い期間で動くソフトウェアを作り、テストと利用者からの意見を次の作業に反映させる。

単に作業を急ぐ方法ではない。変更を頻繁に取り込むために、品質を保つ実践方法と短いフィードバックの周期を組み合わせる。

代表的なプラクティス

プラクティス役割
ペアプログラミング二人で同じコードに取り組み、実装中に考えや問題を確認する
テスト駆動開発テストを先に書き、必要な実装と改善を繰り返す
継続的インテグレーション変更を頻繁に統合し、自動テストなどで確かめる
リファクタリング外から見える動作を変えずに内部構造を整理する
小規模リリース小さな成果を短い間隔で利用者に届ける
シンプルな設計まだ必要でない仕組みを先回りして作り込みすぎない

開発の進め方の例

  1. 利用者が必要とする機能を、小さな要求に分ける。
  2. 優先度の高い要求を選び、必要なテストと実装を行う。
  3. 変更を頻繁に統合して、ほかの機能が壊れていないか調べる。
  4. 完成した小さな機能を見てもらい、フィードバックを次の開発に反映する。

要求の変更を最後まで保留するのではなく、各回の開発で優先順位を調整できるようにする。

ほかのプログラミングの分類との違い

用語分類の観点
XP開発の進め方とプラクティスの組合せ
構造化プログラミング分岐や反復などを整理したコードの記述方法
コンポーネント指向部品の再利用を重視する設計
ビジュアルプログラミング図形などで処理を表現する方法

XPは特定のプログラミング言語を指さない。コードの記述方法だけでなく、テスト、協働、統合、リリースまでを含む開発手法である。

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑