エクストリームプログラミング

「ケント・ベック」という名前はよく聞いていたし、XPという単語もよく聞いていた。
書店でたまたま面陳されていて、「完全新訳」という言葉につられて読んでみた。

気になったところ

多様性

ダイバーシティと良く聞くけども、ここにも出てきた。
多様性は素晴らしいとはいうけども、チームとしての共通の価値観も必要だったりして、その辺のバランス加減がいまいちわからない。
もっと国際的なメンバーとチームを組んでみると実感するのかもしれないなあ。

ベイビーステップ

人気マンガのタイトルが出てきてびっくりした。
普通に英語にある言葉なんだなと。
小さな改善積み重ねるのも好きなんだけど、一気に変えたくなるときもあるんだよね。
山登りとかもそうなんだけど、コツコツ進んだほうが自分には合っていると自覚せねば。

いきいきとした仕事

長時間働けばそれだけ成果が出るという幻想を、日本という国は捨てられないのかもしれない。
年下でも、自ら長時間働く人達がいるし、それを奨励する雰囲気を感じることもある。
国民性なのかなと思い始めている。

ゆとり

Slackという言葉が出てきて、もしかしてここから取っているのか!?と思って、洒落ているなと思った(違うかもだけど)

設計:時間の重要性

XPでは常に設計を行うという。
一方対比的に紹介されていたのが、自分が大好きな「Code Complete」からの引用だった。
確かに、「Code Complete」は継続的な設計や開発という概念は、含まれておらず、XPの様な「まずは経験を得るべきなので、そんなに頑張っても仕方がない」というノリよりは、どちらかというと「しっかりと設計をしよう、けど完璧を目指しても効果的じゃないからほどほどに」という真面目な感じだ。
個人的には、「Code Complete」の考え方がベースにあった上での、XP的なスパイスが大切なんじゃないかなと思ったんだけど、どうなんだろう。

10分ビルド

これ何気に難しい。
けど、それぐらいの感覚でやれると良いんだろうなと思う。
テストの時間を極力短くする努力は、どうやら必要そうだ。

チームの縮小

プロジェクトが軌道に乗ってきたら、チームのメンバーの数を減らして、同じ作業が出来るようにするというのが面白かった。
抜けたメンバーでまた新しいチームを作り、スケールしていくという流れ。
チームの構成人数を増やしていくと難易度がどうしても上がるわけで、その難易度に立ち向かうよりも、小さくて効率的なチームをたくさん作っていくというのは、プログラムラミングを書く人の発想っぽくて好きだな。

まとめ

帯に「XPはソーシャルチェンジである」と書かれている。
本書でも「時を超えたプログラミングへの道」という章で、とても熱く語っているのが印象的だった。
個人の利益ではなく、ソフトウェアに携わる全ての人達へ向けた言葉が、心に響く。
あー、自分も世界を変えられるのかもしれないと、勇気をもらえた。

内容的には、アジャイル関連の本や、リーン開発とか、そういうものと被っているところが多いので、そんなに新しい知見は得られなかったが、エンジニアに向けられたエンジニアが書いた本というのが、意味があるのかもしれない。
なんだか読んでいて嬉しくなる本。
この感覚はアジャイルサムライと似ているかな。

ともかくケント・ベック好きになりました。