Kent Beck+角征典『エクストリームプログラミング 』完全新訳、6月26日発売
■ 長くて読む時間がない方向けのダイジェスト(tl;dr)
■ ここから本題
鹿野です。ソフトウェアを作る仕事に携わっているなら、一度はその名を聞いたことがあるに違いない「エクストリームプログラミング」。 その端緒となったのは、1999年にKent Beckが著した"Extreme Programming Explained: Embrace Change"でした。 その後、2005年になって本人が全面的に書き直した第2版が、本書『エクストリームプログラミング』の原書です。
エクストリームプログラミング(XP)とは、ざっくりいえば、ソフトウェア開発手法のひとつです。 刻々と変わる仕様や要求に対応すべく、ウォーターフォールのような厳格で重量級な開発手法に異を唱えた、アジャイル開発手法の代表ともいえる存在です。 XPでは、いわゆる開発プロセスが定められているわけではありません。 その代わり、5つの価値と24のプラクティスというものを定め、プログラマーをはじめとする関係者によるプラクティスの実践を通じて成功するソフトウェア開発を目指しています。......
......と、ありきたりなXPについての説明から書き始めてみたのですが、こんな説明では本書の魅力が半分しか伝わらないな、と思い出しました。 この本は、まぎれもなく「XPの原典」であり、それだけでも十分に読む価値があります。 もっと欠陥が少ないソフトウェアを、もっと高い投資対効果で、もっと生産的に生み出すための実践的な方策が、誰でもすぐに試せる形で、ダイレクトに紹介されています。
しかし、この『エクストリームプログラミング』完全新訳版を手にして、実際に最初の何ページかを読み始めてもらえれば、 これが単に「とあるソフトウェア開発手法のマニュアル」ではないことに気づいてもらえるはずです。
本書でケント・ベックは、まず自分たちの業務にとって重視すべき「価値」をはっきりさせよう、と言っています。 XPでは、この「価値」として、次の5つが提唱されています。
- コミュニケーション
- シンプリシティ
- フィードバック
- 勇気
- リスペクト
扱う対象がソフトウェアであるからには、できるだけ早く、かつ頻繁に「フィードバック」を得られないと致命的です。 スムーズな開発やメンテナンスの容易さにとっては、コードやプロセスを可能な限りシンプルにすること(「シンプリシティ」)も重要になります。 ソフトウェア開発云々以前に、仕事をするうえでは「コミュニケーション」も重要だし、一緒に仕事している相手との「リスペクト」する/される関係も重要です。 ルーチンワークで済まないような困難で新しい問題に対処するには、「勇気」も必要不可欠でしょう。
これら5つの価値の重要性は、程度の差こそあれ、まあだいたいみんなが同意できる話だと思います。 すべての人が、これら5つの価値を大切にするだけでも、IT業界における働き方が根本的に変化しそうですね。
とはいえ、人間、たとえば「互いに相手をリスペクトしましょう」みたいな精神論を押し付けられたところで、そうそう簡単には変われない生き物だったりします。 そこでケント・ベックは、「価値」をもう少し具体的ないくつかの「原則」へと落とし込み、それらの「原則」に照らして、ソフトウェア開発における振る舞いや習慣とすべき「プラクティス」をいくつも編み出しました。 いまやXPの代名詞ともいえる「テストファースト」や「ペアプログラミング」、「継続的インテグレーション」をはじめ、たくさんの有効そうなプラクティスが次々と本書の中で紹介されます。
しかしケント・ベックが本当にすごかったのは、そうやって彼自身が考えた結果を「おれの考えた最強のプラクティス集」として提示するだけでなく、 読者が、自分たちにとって必要なプラクティスを、自分たちで編み出す方法を、本書『エクストリームプログラミング』として出版したことでしょう。 自分たちの業務における価値を見つけ、それを原則へと落とし込み、さらに自分たちの業務に適用できるプラクティスとして定式化し、それをもって自分たちが変化していく方法が、本書にまとめられています。 つまり本書は、読者が自分たちにぴったりのプラクティスを編み出し、自分たちのやり方を改善するためのガイドブックとしても読めるわけです。 そのことで本書は、単なる歴史的な名著を超えて、自分の目の前にいまある問題への糸口になるような本当の意味での古典になっています。
本書に著されているのは、自分たちが変化するためのプラクティスを編み出すことで、もともと楽しいはずだったソフトウェア開発を実際に楽しいものへと変えていく過程です。 今よりも、いきいき働くために、自分たちを変える方法です。 プログラマーをはじめとしたソフトウェア開発に直接携わる方々はもちろん、コンピュータを使って生産的な仕事をしているすべての人に、何度でも読んでいただきたい一冊です。
というわけで2015年6月26日、いよいよ角征典氏による完全新訳で、ケント・ベックの『エクストリームプログラミング』が日本の書店によみがえります! 同日にはジュンク堂池袋店にて刊行記念イベントも開催予定。 残念ながらすでに満席なのですが(たくさんの申し込みありがとうございました!)、後日こちらのブログでイベントの報告ができると思います。
Kent Beck・Cynthia Andres 共著/角 征典 訳
ISBN:978-4-274-21762-3
定価:本体2200円+税
A5判/208頁