オルタナティブ・ブログ > An Agile Way >

アジャイルに行こう!

Agile2008, Robert C. Martin's keynote

»

Robert C. Martin(a.k.a Uncle Bob) が、最終日のバンケットで行った、パワフルなスピーチ。これだけでも、すごいパフォーマンスだった。正確には伝えきれないが、ちょっとだけ。

5つの元素(Quintessence)

最終日の Robert C. Martin の夕食会でのキーノートは、第つの元素(Quintesense)、と題されたトークだ。The fifth Element を探す話。彼の話を聞いたことがある人なら分かると思うが、とにかく、「人間アクション漫画」のように顔と体を動かしながら話す。内容は全部は覚えていないが、覚えている分だけ、再現してみる。

第五の元素、とは、アジャイルの4つの価値、

  • プロセスとツールよりも個人と対話に.
  • 包括的なドキュメントよりも動くソフトウェアに.
  • 契約交渉よりも顧客との協調に.
  • 計画に沿うことよりも変化に対応することに.

価値をおく、という宣言に5番目を付け加えるものだ。それは何か?この話は、彼が最近出版した本「Clean Code」の効果的な宣伝にもなっている。

医学の発展の歴史をたどると、手を洗うだけで病気の感染率がぐっと下がることを発見した医師がいる。今では当たり前のことだが、菌が存在することが分からなかった時代には、これはしばらくの間、迷信だと思われていた。今、手術前に手を洗わない医者がいたとしたら、どうだろうか?

プロフェッショナルな医者とはどんなだろう。プロフェッショナルな医者とプロフェッショナルなプログラマを対比したい。あなたは、どっちの医者に手術して欲しい?開腹してから、「うぁー、こんなんなっているよ!こまったなー、しょうがない、こうやっておくか。げげ、こっちはこんなんだし…しょうがないな、やっちゃえやっちゃえ、よし、これでしばらくいけるだろう。」なんて医者か、「あー、これはひどいですね、でも、ここをこうして、よし。あと、ここにも。。大丈夫。ここはこうして、大丈夫。」こんな冷静な医者だろうか。あなたがプログラミングをしていて、コードによって、この両方のタイプのリアクションがあるだろう。ぜひ、あなたにはプロフェッショナルなプログラマになって欲しいものだ。

きれいなコードとは何か?

みんなの中に、今でも emacs を使っている人はいるか?キータイプを記録して、それを再現することができる。これを使って、自分のキータイプを観察するとよい。「ここに宣言を書いて、ずーーっと下がって、ここを読み、また上がってきて書き加え、半分下がって一文書き変え、その半分を消し、また書き足し、また上がって…」というような動きをしてる。書いている時間より、読んでいる時間が長いんだ。いいコードは、読みやすいコードだ。Ward Cunninghamに「いいコードとは何か?」って聴いたら、「期待したコードだよ」(That's what you expect.)と言った。は?なんだって?「期待したコード?」

訳がわからなかった。かれは、ミステリアスな発言で有名だ、ぼくは狐につままれたが、しばらくしてわかったよ。読みやすいコードを読んでいるときは、あなたはこんな感じだろう。「さてこの関数は何をやっているのか、見てみよう。あーなるほど、そうだよね、そのはずだ。」「で、こっちはどうなっているかな?そうか、そうだよね。」という具合に、「期待したとおり」のはずだ。驚きの少ないコードがよいコードなんだ。

きれいなコードを書こう。それがプロフェッショナルだ。手を洗おう。それはもう迷信ではない。きれいなコードはプロフェッショナルにとって、とても大切なんだ。

そして、私の今日のキメ言葉は、これだ。「手を洗ってきれいなコードを書こう、プロフェショナルならば。」言い訳は簡単だ。「急いでいるから、だれだれがこういうから。」でも、その言い訳をしているのはあなただ。あなたが手を洗わないのだ。「手を洗おう、プロフェッショナルならば、きれいなコードを書こう。」

4つの価値は知っているだろう。私はここに、第五の価値を足したいそれは、

  • craftmanship over crap.
    (ゴミコードよりも、職人魂に価値を。)

大喝采。。。。。

Comment(0)