Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
XPのスタートは切った。
森川は、実プロジェクトへのXPの導入を決心するに至った経緯を思 い返していた。
システム開発の経験も5年目となる森川は、リーダーとしてグルー プをまとめる立場となり、以前のようにコーディングをする機会も なくなっていた。
グループをまとめるといっても、マネージメント技術を指導される こともなく、年数が達したからなんとなくという理由で、リーダー となるのだが。。
もともとプログラミングが好きだった森川は寂しさを感じる一方、 先輩のやっていたことを見よう見まねで、プロジェクトを進めるこ とにギャップを感じていた。
職場でのプロジェクト管理は洗練されることなく、過去より続く習 慣によって進められていて、プロジェクトは毎回「火を噴く」状態 となっていた。そして、誰も疑問を持つことなく「そういうもの」 として受け入れてしまっているのだ。 最後には能力のある技術者に頼ることになる。
これでは、残業付けの日々が永遠に続くだけではないか。そんな危 機感が森川の頭をよぎる。
従来のプロジェクトの進め方は、工程を納期から逆算し、設計では 担当者以外の者には分からない形だけのドキュメントを作り、なん となく実装して、人海戦術によるテスト&デバッグの日々が続くと いうものだ。
設計や実装がまずいがために、仕様変更にも柔軟に耐えられず、バ グがなかなか収束しない。最後には、少しでも変更が加わると動か なくなるような、かろうじて動いているソフトウェアがリリースさ れる。いや、リリースできれば、まだよいのだ。
そんな疑問を感じていた中、森川はある技術誌で「XP」という開発 手法を知る。
繰り返し型の開発で、短期リリースという小刻みにリリースするこ とにより、フィードバックを反映していく。そして、動作を保証す る自動テストにより、いつでもコードを変更でき、バグを作らず、 整理されたコードを維持するテスト駆動開発。
それは、今まで森川が見てきた開発とはまったく違うものに見えた。
とくにテスト駆動開発は魅力的だった。外部に見える動作を自動テ ストで固めてしまえば、内部の設計や実装のまずさを封じ込んでし まえる。 そして、以前から最初に設計を頭で考えて、ドキュメントを作ると いう従来の設計作業に疑問を抱き、サンプルプログラムを作りなが ら、設計を行っていた森川にとって、まさに今まで自分が行ってき たような作業がプロセス化されていたのである。
これだ!と直感した。
しかし、本当に使えるか分からない手法を、いきなり実プロジェク トに適用するのは危険である。森川は忙しい作業の合間に JUnit を使って、テスト駆動開発の手法を検証することにした。
そして、いよいよ実プロジェクトでテスト駆動開発を始めた。メン バの内村の反応もよさそうだ。
「今までのプロジェクト管理から変わることができる!」
そんな手ごたえを感じていた。
There is no comment.