ホーム > 読んだ >

XPは私たちに何をもたらすのか

書誌

author藤本聖,平鍋健児
publisherソフトバンク
year『C MAGAZINE 2002.2』p.51-67

目次

1感想
2抄録

履歴

editor唯野
2002.1.18読了
2002.1.21公開
2002.2.14修正
2014.1.27修正

このところ知名度も上がってきた XP (エクストリーム・プログラミング : eXtreme Programming)についての特集記事。関連書籍もちらほらと出てきているが、(多くの人がそうなのかもしれないけれども)私もまだ様子見という感じの手法である。そのため時期的にもちょうどよく、この入門記事はありがたかった。

感想としては以前から抱いていたのと同じで「要は新規の手法とかいうものではなく、既存のリファクタリングであるとかオブジェクト指向といった諸々の技術の集積」という印象が強い。つまり、それらを系統立てて実際の手法レベルとしてまとめたもの??ということである。

ただ、個人的にいって試験の自動化には強い関心がある。よくいわれるようにソフトウェア開発のコストのうち、その大部分はメンテナンスが占めるわけであるから、そこで更に大きな意味を持つテストの自動化は効果も大きいと思うからだ。また、それを足ががりにすることで、開発サイクルや既存の手法を見直すこと、つまり間接的な XP への接近ができればおもしろいと思う。そんなわけで私の場合は CppUnit の使い方というような辺りから接することができれば...という感じでいる。

なお、この記事では単なる手法の紹介というだけではなく、導入に対する位置付けとして「プログラマが XP で幸せになれるかどうか/プログラマに苦痛ではなく達成感を与えるための」という視点で解説がされている。この手の手法では割とこのような紹介のされ方が多いように思うが、「デスマーチプロジェクトの克服」を推し進めればこれも納得のいくアプローチだと思う。

しかし、後から気付いたことではあるのだが、個人的には実際の記事やこの要約より、文中でも紹介されている eXtreme Programmin FAQ という Web ページががよくまとまっておりおすすめである。(この記事の著者たちによるより詳しい説明がある。)

# 『リファクタリング』『デスマーチ』 に関してはそれぞれの読書ノートをどうぞ。
# もちろんここでいう XP は Windows XP (eXperience) とは関係ありません :-)

抄録

XP の特徴

  • 開発に対する変化を自然なものとして受け入れる
  • テストを重視する。これは自動化されコーディングに先立って記述する
  • 初期設計よりもリファクタリングによる再設計の重視
  • 従うべき実践項目(プラクティス)の明確な提示

XP の生い立ち

XP は Smalltalk のコミュニティから Kent Beck と Ward Cunningham によって生まれた。彼らは 1996 に C3 (Chrysler Comprehensive Compensation) というプロジェクトで Martin Fowler らと共に XP を実践し 1999 年に最初の本が出版された。

XP での価値基準

  • コミュニケーション 顧客を交えた積極的な推進
  • シンプル 今現在に求められるものだけを実装
  • フィードバック テストからコードへの、頻繁なリリースから顧客より
  • 勇気 上記から得られる変更や取捨選択に対する勇気

コアプラクティス

以下の 13 個のプラクティス(経験によって有効性の立証されたテクニック)を極限(エクストリーム)まで利用する。

  • チーム全体 顧客をチームの一員として含めることによるビジネス価値の取得
  • 計画ゲーム 顧客の提示するストーリーから 2-3 週間単位でのイテレーション計画を立て、それを継続していく
  • 顧客テスト 受け入れテストを定義して自動実行することにより、機能の実現と影響を確認する
  • 小さなリリース 2-3 週間単位でのリリースごとに動くコードを提供する。顧客に最短の時間で最大のビジネス価値を提供し、最大のフィードバックを得る
  • シンプルな設計 設計は常にシンプルなものを選択する。そのため最低限の機能だけを実装する。「いつか使うコード」はコード量を増やし、可読性とメンテナンス性を損なうということ
  • 全文を読まれる場合はログインしてください


    Up