1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

人気のアジャイル開発手法エクストリームプログラミングとは?

Pocket

はじめに

アジャイルソフトウェア開発をご存じですか?

アジャイル開発は、ウォーターフォール型開発に代わる開発手法として考案され、現在では導入している開発現場も増えつつあります。
アジャイル開発は複数の開発手法の総称であり、現場ではさまざまな手法が採用されています。
その中でも人気があるのは「エクストリームプログラミング」です。

この記事では、アジャイル開発手法を知りたいエンジニアの方のために、エクストリームプログラミングについてお伝えしていきます。

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

エクストリームプログラミング(XP)は、アジャイル開発手法のひとつで、ケント・ベックらにより1990年代に考え出されました。
XPでは、ウォーターフォール開発のように一気に開発を進めることはせず、インクリメンタル(反復的)に少しずつ開発を進めていきます。
このため、変化に対応しやすく、プロジェクトが柔軟になります。

XPの特徴は「5つの価値」と「19のプラクティス」が定義されていることです。

XPの5つの価値

1:コミュニケーション

アジャイル開発ではコミュニケーションを重視します。
ソフトウェア開発ではコミュニケーションが重要な要素であり、適切な情報伝達が行われなければ問題を引き起こします。

また、綿密なコミュニケーションが行われるなら、大量のドキュメントを用意することなく、口頭やチャットなどでやり取りしながら開発を進められます。
これは手間の削減につながります。

2:シンプル

時にプログラマーは後のために、その段階では必要のない作り込みをしてしまうこともあります。
後ほど本当に必要になればいいのですが、無用の長物になってしまうことも少なくありません。
XPではシンプルさを重視し、コードを必要最低限の状態で実装します。

3:フィードバック

ウォーターフォール開発では、顧客が製品を目にするのは開発終盤になってからです。

一方、XPでは動くソフトウェアを早期に顧客に提供し、フィードバックを求めます。
これは顧客に製品をよく理解してもらうためです。
まだ見たことのないものを作るのですから、見当違いの仕様になることも起きがちなので、顧客から早期のフィードバックを得て製品を改善していくのです。

4:勇気

XPでの”勇気”とは、変化を受け入れることです。
XPでは変化に柔軟に対応し、プロジェクトを成功に導く必要があります。

5:尊重

ソフトウェア開発はチーム作業です。
エンジニアも人間ですから、お互いを尊重しあって適切な人間関係を築かなければプロジェクトは成功しません。

XPの特徴的なプラクティス

テストファーストでの開発

XPでは、テストファーストで開発を進めます。

テストファーストは、テスト駆動開発でも使われる開発方法で、実装コードよりも先にテストコードを書きます。このため、確実にテストを実行でき、不具合も記憶が鮮明なうちに見つけ出すことができますから、バグの修正コストを低減できます。
また、作成したテストは後ほどリグレッション(回帰)テストとしても使えます。

ペアプログラミングの実践

ペアプログラミングは、二人のプログラマーがペアになってコーディングを進める方法です。
先のテストファーストも同時に行われるため、ひとりが先にテストを書き、もうひとりがテストをパスするように実装コードを書きます。
この一連の流れを交代で行っていきます。

こうすることで、ミスに気づきやすくなり、コードを理解しているプログラマーも二人に増えます。

ユーザーストーリーでの設計

XPでは、実装する機能をユーザーストーリーというカードにひとつずつ書き出します。
カードごとに詳細の確認や見積もり、優先順位の付けを行い、それに従って実装していきます。
カードはホワイトボードに貼り出し、未着手・着手中・完了などのステータスに区切って並べておきます。

こうすることで、プロジェクトの状態が見える化できるわけです。

まとめ

エクストリームプログラミングは、従来のウォーターフォール開発とは大きく異なります。
初めて導入する際には、その違いに戸惑うこともあるでしょう。
特に、プラクティスのひとつであるペアプログラミングは、慣れるまでにしばしの時間が必要でしょう。

まずは小さなパイロットプロジェクトに導入してみて、感触を確かめて下さい。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る