読書メモ

・「XP エクストリーム・プログラミング入門
 〜 ソフトウエア開発の究極の手法
Kent Beck:著
長瀬嘉秀:監訳
永田渉・飯塚麻里香:訳、 \2,100、ピアソン・エデュケーション : 2002.01.24

内容と感想:
 
"XP"といっても WindowsXP とは関係ない。eXtreme Programming を略したもの(Windows の方は、eXPerience らしい)。Kent Beck らが提唱するソフトウェア開発プロセスのこと。
 プログラミングテクニックを論ずるものではなく、方法論または哲学とも言える思想である。

 日本でも少し前から技術系の雑誌などで取り上げられたりして、耳(目?)にはしていたが、何であるかはよく把握していなかった。かく言う私も開発の仕事をしているわけで、開発手法にもある程度の知識は必要とは思っていたが、なにしろ業務進行中では目先の業務に追われて、なかなか勉強までの余裕がない。ようやくプロジェクトが一段落したので、この本を読む時間が出来た(出来ればプロジェクト開始前にこの本に出会っていればよかったのだが)。

 XPというのは開発現場が抱える問題を解決するには、従来のスタイルでは限界があるというのがそもそもの始まり。
 XPが重視するのは”変化”を受け入れ、いかに変更コストを抑えて、顧客の要求に対応していくかである(そう、要求は常に変化していく!)。変化に対応するために、従来の、要求分析、設計、開発、テスト、リリースのモデルを短いサイクル(イテレーションと呼んでいる)で繰り返すのだ。
 また、XPでプロジェクトを成功させるために、12のプラクティスがある。各プラクティスは相互に補強関係にあり、これら全てを実践することではじめて、XPの効果が現れるという。

テストの重要性:

 テストを”書く”という記述が最初は誤訳か何かかと思ったが、モジュール毎のテストのためテストプログラムのコードを”書く”ということが次第に分かるのだった。

・ユーザの役割も重要だ。XPはユーザとプログラマとの共同作業なのだ。ユーザは要求を投げっぱなしではない。XPは彼らも巻き込むのだ。

ペアプログラミング

 これもプラクティスの一つ。その効果は理解できないでもないが、実際問題、運用には抵抗がある。しかしやってみる価値はあるかも知れない。

・”コミュニケーション”の重要性は世の中ではどんな場面でも語られることだが、ソフトウエア開発現場では意外にコミュニケーションが希薄である(我々のところでも)。そういうのが下手な人が多い業界なのかも知れない。開発者同士、または開発者とユーザとのコミュニケーションもXPの重要な位置を占める。

 ある面では当たり前のことが書かれていると感じるかもしれない。どこが”eXtreme (究極)”なんだと疑問を持つかもしれない。でも現場にXPを導入するかどうかは読んでからでも遅くない。

 ソフトウエア産業を初めとしたIT産業はもてはやされてはいても、実際はハイテクといった華やかなイメージとは逆に、依然として労働集約的な産業である。日本の基幹産業である自動車製造業などから比べれば、非効率極まりない。オートメーション化が難しいからだ。泥臭い仕事なのだ。
 それでも開発手法やツールを用いてパフォーマンスを上げようという試みがなかったわけではなく、多くの人が現場で試行錯誤を繰り返しながら、漸進してきた。そしてXPが生まれた。

 本書の読後、テスト用ツールを使った効率的なテスト技法に興味が移り、今度は「eXtreme Programming テスト技法」を読み始めている。

更新日: 02/01/24