|
XPの理論と実践を学べる6冊
ソフトウェア開発の新たな潮流として登場したXP(エクストリーム・プログラミング)は、いまやブームの時期を過ぎ、少しずつですが現場に定着し始めた感があります。提唱者のケント・ベックは、開発現場で蓄積されたさまざまな問題点を終息させるアプローチとして、XPは登場するべくして登場したのだ、というような発言をしています。
ピアソン・エデュケーションのXPシリーズ第1弾として著名な本書は、XPの提唱者であるケント・ベックが書き下ろした、「XP事始め」に最適な1冊です。エリック・ガンマの序文によると、ケント・ベックがXPの潜在能力に気が付いたのは、テクトロニクス社のリーダーと仕事をしていたときだといいます。Smalltalkを使って複雑なエンジニアリングのアプリケーションをペア・プログラミングで開発している姿にインスピレーションを受け、ソフトウェア開発の歴史に埋もれてきた多くの実践を組み合わせながら、XPの原型を形作っていったといいます。 本書は大きく3つのセクションで構成されています。すなわち、第1セクション「問題」、第2セクション「解決策」、第3セクション「XPを実装する」。ソフトウェア開発の現場で指摘されてきた(しかし明快な解決策が得られていたというわけではない)代表的な問題群を取り上げ、XPの基本原則を当てはめながら、1つ1つ解決策を示していきます。最後のセクションでは、短いながらも実践的な議論にページを割き、読者にXP導入の端緒を示しています。 本書は、XPという開発プロセスが、いかに「人間(現場のプログラマ)」の生理や感情の動きに敏感なのかを明らかにしています。代表的な12のプラクティス(実践)だけを見ても、そのことはよく分かります。ユーモアあふれる比ゆを多用しながらも、どこか冷めた語り口は経験豊かな説教師を思わせます。ケント・ベックのパーソナリティと「人間的」なソフトウェア開発プロセスの存在が、XPブームを作り上げていった最大の要因なのかもしれません。何はともあれ、XPの入り口は本書だといえるでしょう。
本書は2002年9月の出版なので、比較的新しいXPの入門書です。XPを知る(あるいは学ぶ)通常のコースをたどった人であれば、多くがピアソン・エデュケーションのXPシリーズから入ると思いますが、これからXPを学ぼうとする人には、基礎知識を固めるためにも、本書をお薦めします。というのも、XP関連の基本書籍群が出版された段階で登場した本書は、初心者向けのXP解説書としてかなり的確な編集が施されています。巻末の参考文献を参照してもらえば分かると思いますが、XPの重要要素を余すところなく網羅しながら、それぞれのトピックを簡潔に説明しています。これは、初心者にとって非常に助かる構成です。 本書が登場した時期には、XPに加え、クリスタル、スクラム、FDD、ASDといった「軽量型」のソフトウェア開発プロセスが注目され、「アジャイル」といった言葉が開発者の間でよく聞かれました。アジャイルプロセスを理解し、実践していくための入り口としても本書は機能しています。脚注を多用し、用語解説を念入りに繰り返している点にも、読者を混乱させない配慮があります。ただし、本書で解説されるのは、XPの基本中の基本であり、深く突っ込んだ議論や実践の詳細などは省略されています。
ピアソン・エデュケーション XPシリーズの6冊目です。著者のウィリアム・C・ウェイクは20年の経験を有するベテラン・プログラマですが、彼がXPを知ったのは、1999年12月に開催されたXPの集中講座だったといいます。本書は、1人のプログラマとしてXPに接した際の疑問から誕生しました。ベテラン・プログラマが感じる素朴な疑問とはどのようなものだったのでしょうか。本書の前書きで著者は、ユーザーインターフェイスをテストファーストで開発できるのか? とするケント・ベックの“挑発”が疑問解消の旅に出るきっかけだったと記しています。 長年のプログラマ経験で生じた疑問から出発したが故に、本書の内容は著者の経験に裏打ちされた実践的な内容のエッセイとなっています。XPを採用した開発作業を行いながら、著者はXPの“機能”を1つ1つ確認する作業を同時に行っています。XPの思想に共感を示しながら、常に懐疑の視線を投げ掛け、納得をしていく姿が浮かんでくるようです。このような著者の経験がつづられた文章を読むことで、読者は自然とXPの真髄に触れることもできるでしょう。入門書とはいえませんが、XPの基礎を知り、実際の開発プロジェクトに採用しようと考えているエンジニア(あるいはチーム)にとっては、示唆に富む記述が多数あるはずです。
XPの理論的価値は理解できたとしても、実践で活用するとなると予想外の“問題”が噴出することと思います。『XPエクストリーム・プログラミングアドベンチャー』が1人のプログラマの検証作業記録とするなら、本書は日本国内のエンジニア集団による検証作業の総合記録という位置付けとなるでしょう。 なお、本書の帯には次のような言葉があります。「XPは、プログラマにだけ都合が良い単なる理想論なのか? 欧米だけで通用する絵空事なのか?
否! 私たちは実現したのだ」。入門書を読み、それでもXPに疑問を拭(ぬぐ)えない方は一読をお勧めします。
本書は実は、『eXtremeProgramming実践レポート XPプロジェクトを実現した手法と軌跡』以前に刊行されました。日本XPユーザグループによる、XPの真髄ともいえる「テストファースト」に焦点を絞った解説書です。 インクリメンタルなソフトウェア開発において、テストは際立って重要な要素です。ウォーターフォール型開発手法では最後に置かれるこの作業を繰り返すこと、そしてそもそも開発の初期段階でテスト戦略を策定することは、XPを実践するうえで非常に重要となってきます。 テスト戦略の重要性の指摘から戦略策定の道筋の解説、そしてテストを支援する代表的なテスティングフレームワークの基本的な使用方法と応用方法を、実践の開発に沿った形で詳細に解説していきます。
最後は『XPエクストリーム・プログラミング検証編』です。本書はこれまで2冊紹介してきたピアソン・エデュケーションのXPシリーズの4冊目に当たります。とはいえ、このシリーズは、ラインアップと内容を見る限り、順番に読むことを想定して作られたシリーズではなさそうなので、頑(かたく)なに順番にこだわる必要はないでしょう。 本書には、XPにかかわる33の論文が収録されています。この33通りの議論は、実にいろいろな視点からXPを考察しています。第1部は「XP、そしてフレキシブルな技法の基礎にあるもの」と題し、2つの論文を収録、第2部は「方法論とプロセス」をテーマに11の論文が議論を戦わせています。以下、第3部「フレキシブルな技法とUML」、第4部「ペア・プログラミング、テスト作業、リファクタリング」、第5部「XP開発のためのツール群」、第6部「現場からの報告」、第7部「XPのその後」と続きます。
|
[an error occurred while processing this directive] |
Java/Deveropment
Style:BookReview




