ソフトウェア開発手法のひとつである「エクストリームプログラミング」は、変更前提の開発手法ともいわれ、変化への柔軟な対応が得意な開発方法です。
ここでは、エクストリームプログラミングの概要やメリットについて解説します。大きな特徴として挙げられる「5つの価値」と「4つのプラクティス」の解説や、活用する際の重要なポイントについてもご紹介します。
エクストリームプログラミングとは
エクストリームプログラミングは、アジャイル開発の一つです。
エクストリームプログラミングの大きな特徴は、全体の作業を細かく区切り、開発プロジェクトが変更されることを前提に進める手法です。つまり、変化への柔軟な対応力が持ち味の開発手法といえます。
素早いリリースを必要とする小規模な開発のため、10人程度の少人数でのチームを組む場合に最適な手法といわれています。
アジャイル開発について詳しく知りたい方は、こちらの記事をご覧ください。
アジャイル開発とは?特徴やウォーターフォールとの違いなど徹底解説
変更への柔軟な対応力をもつ開発手法といえば、「スプリント」を思い浮かべる方もいるでしょう。こちらではほかの開発手法との違いについてもご紹介していますので、ぜひご覧ください。
スプリントとは?アジャイル開発やスクラムとの関係性、メリットを解説
エクストリームプログラミングのメリット
前述の通り、エクストリームプログラミングは、プロジェクトの変更を前提としている開発手法です。そのため、従来のウォーターフォール型の開発よりも変化に柔軟に対応できるというメリットがあります。
要件定義からテストまでを繰り返す過程で、ユーザーとのやり取りも多く行われます。そのため、ユーザーの要望に柔軟に対応することが可能です。また、ペアプログラミング(1台のPCを2人で利用してプログラミングする手法)やテストファースト(テストプログラムを先に作成して、本プログラムを作成する手法)などを行うことで、プログラミングの効率を高められ、問題の早期発見と解決にもつながります。必要な機能を最優先で実装し、必要であれば機能を追加していくスタイルなので、完成までの工程が素早く行えることも、エクストリームプログラミングならではの魅力です。少人数でチームを組む場合に適している開発手法でもあります。
エクストリームプログラミングと同じく、チームで取り組む開発手法に「スクラム」があります。詳しく知りたい方は、こちらをご覧ください。
アジャイル開発とスクラム開発の違いとは?それぞれの開発手法について特徴やメリット、その関係性について解説
エクストリームプログラミングの5つの価値とは
エクストリームプログラミングにおいて、重視されている「5つの価値」があります。それぞれの価値についてご紹介します。
・コミュニケーション
プロジェクトが失敗してしまう原因として、コミュニケーション不足が挙げられます。エクストリームプログラミングでは、文章でのやりとりよりも、ミーティングなどを通じて直接話し合うことを重要視しています。
・シンプル
エクストリームプログラミングは柔軟性と素早さが求められるため、必要な機能を実装することが優先されます。本当に必要なものだけ追加し、シンプルな設計にします。
・フィードバック
顧客の意見を取り込み、ソフトウェアを改善していくためのフィードバックも欠かせません。フィードバックを繰り返し行うことで、開発の精度を高められます。
・勇気
エクストリームプログラミングは特性上、始めから綿密な計画を立てずに開発を行うため、要件が変更されることが通常です。そのため、仕様変更などの変化を受け入れ、積極的に行動する勇気も大切です。
・尊重
ほかのメンバーを尊重することは、生産性やお互いのモチベーションの向上につながるでしょう。年齢や今までの経験といった要素に左右されず、相手を尊重し合いながら接することは、チームでプロジェクト開発を行う際に重要な価値なのです。
エクストリームプログラミング 19のプラクティス
実際にエクストリームプログラミングを活用するためには、前述の5つの価値を19のプラクティスとして活用していく必要があります。プラクティスは4つのカテゴリに分類され、プログラミングの効率化を計る際に有効です。
・共同プラクティス
共同プラクティスは、エクストリームプログラミングにかかわる全てのメンバーを対象としています。
- 「反復」
- 「開けた作業空間」
- 「共通の用語」
- 「回顧」
から成り立ちます。
・開発プラクティス
開発プラクティスは、開発チームが対象です。
- 「ペアプログラミング」
- 「テスト駆動開発」
- 「リファクタリング」
- 「ソースコードの共同所有」
- 「YAGNI」
- 「継続的インテグレーション」
で構成されています。
・管理者プラクティス
管理者プラクティスは、プロジェクトを管理するメンバーが対象です。
- 「責任の受け入れ」
- 「援護」
- 「ミラー」
- 「四半期毎の見直し」
- 「最適なペースの仕事」
が含まれます。
・顧客プラクティス
顧客プラクティスは、システムの受け入れ側であるユーザー(顧客)が対象です。ここでは、
- 「ストーリーの作成」
- 「リリース計画」
- 「短期リリース」
- 「受け入れテスト」
が実施されています。
まとめ
エクストリームプログラミングとは、アジャイル開発の一つでプロジェクトの変更を前提とした開発手法です。柔軟性に特化しており、5つの価値や4つのプラクティスを重視しながら、プロジェクトを進めていきます。プロジェクト開発をする際は、エクストリームプログラミングを活用し、プログラミングの効率化を実現しましょう。
なお、弊社が過去に実施した「アジャイル開発のプロジェクト管理手法」セミナー(講師:弊社会長梅田)の講演資料を公開していますので、こちらもぜひご覧ください。
- カテゴリ:
- キーワード: