第13回 和田卓人――TDD伝道師を生んだ読書会と「心の師匠」
岑康貴(@IT自分戦略研究所)
2009/9/18
エンジニアにとって仲間とはどういう存在なのだろうか。極端なことをいえば、自分1人で作業が完結できてしまうエンジニアにとって、仲間とのコミュニケーションにはどんな意味があるのか。エンジニア同士のネットワークを通じて、エンジニアにとっての仲間とは何かを探る。 |
プログラムと同時に自動テストを書きながら開発を行う「テスト駆動開発(Test-Driven Development、TDD)」をご存じだろうか。アジャイル開発の第一人者、ケント・ベック氏が提唱するこの開発手法は近年、日本でも広く知られるようになってきた。日本におけるTDD認知拡大において、あるエンジニアの活動が大きく貢献していることは否定しようがない。
和田卓人――タワーズ・クエスト 取締役社長にして「TDD伝道師」である彼が、「広がれ エンジニアの輪」第13回の主役である。前回の庄司嘉織氏が「自分のTDD二大師匠の1人」と紹介してくれた和田氏に、これまでのキャリアとTDDとの出合い、そしてそこに大きく影響するコミュニティ活動の歴史について聞いた。
■大学時代の「初めての読書会」体験
和田氏は現在、タワーズ・クエストの2代目社長である。初代は和田氏の父親だ。和田氏は大学時代からアルバイトで父の仕事を手伝っていたという。
エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
時代は、UMLが出始め、オブジェクト指向が全盛期を迎えたころ。大学生の和田氏はマーチン・ファウラー氏の著作『アナリシスパターン』に出合った。同時期、難解なことで有名なこの書籍を読もう、という読書会がオージス総研のWebサイト「オブジェクトの広場」で企画される。「参加してみよう」――これが、和田氏の読書会初体験となった。
2000年に開催されたこの「アナリシスパターン読書会」には、錚々(そうそう)たるメンバーが参加していた。『アナリシスパターン』の翻訳を担当した友野晶夫氏と児玉公信氏、オブジェクト指向開発の泰斗である藤野晃延氏や平澤章氏……。和田氏にとって、彼らは「雲の上の存在」だったという。当時の勉強会に参加していた同年配の若者としては太田健一郎氏、山内亨和氏もいた。そんな彼らと同じ空間を共有したことは、後の和田氏に大きな影響を与えた。
「強烈な刺激を受けました。こんなにもすごくて、面白い人たちがこの世界にはいるのか、と。いま振り返っても、学生時代にこうして外に出ていって、すごい人たちと出会えて良かったと思います」
タワーズ・クエスト 取締役社長 和田卓人氏 |
和田氏は「幼少のころからプログラミングが好き」というタイプだったわけではないそうだ。「早いうちからプログラミング大好き、という人のインタビューを見ると悔しくて」と笑う。プログラミングを面白いと思うようになったのは、大学時代、父の仕事を手伝うようになってからだったという。だが、プログラミングに目覚めた和田氏は、間髪置かずに勉強会の世界に身を投じた。アナリシスパターン読書会への定期的な参加はもちろん、そのほかのコミュニティや勉強会にも顔を出すようになった。
「一度(プログラミングを)好きになってからは、貪欲でした。いろいろな勉強会に顔を出して……。でもその後、仕事をするようになって、コミュニティ活動がいったん切れるんです」
ひたすらに仕事をした。受託開発メインだったのが、段々と大きなプロジェクトに呼ばれ、中心人物として働くようになっていった。あまりの多忙さに、「物理的に(勉強会などに)行くことが不可能になった」という。2004年ごろまで、こうした状況が続いた。
■2つの大きな出合い
大きなプロジェクトをいろいろ経験したという和田氏。その中でも最大規模のシステム開発プロジェクトは、数百人ものエンジニアが投入された巨大プロジェクトだった。
1人で自由な時間を確保できるのは、行き帰りの時間のみ。和田氏はこの時期、ひたすら本を読んでいたという。
「食事をするように本を読んでいました。そのときの仕事に直接必要なものだけを読んでいた、というわけではありません。……そういえば、当時なんであんなに読み続けていたのか、あんまり意識したことはなかったですね。本当に、ただひたすら技術書を読み続けていました」
そうしてこのとき、和田氏はケント・ベック氏の『テスト駆動開発入門』と運命の出合いを果たす。
和田氏所有の『テスト駆動開発入門』 大量の書き込みがなされ、何度も読み返されているのが分かる |
「実は出版される前に、ケント・ベック本人がアジャイル関係のMLに流してくれて、それを読んだんです。その後もちろん出版されたものも買いました。このことを教えてくれたのが石井勝さんだったんです」
和田氏は取材中、石井氏のことを「心の師匠」と呼んだ。2005年のJR福知山線脱線事故で亡くなった、日本におけるテスト駆動開発の第一人者である。
■完ぺき主義の呪いを解いたTDD
「TDDとの出合いはすごい衝撃でした。それまでわたしに掛けられていた『完ぺき主義の呪い』を解いてくれたんです」
コードには2つの軸がある。きれいなコードか汚いコードか。そして、動くコードが動かないコードか、である。「きたない×動かない」がスタートで、「きれい×動く」がゴールだ。このとき、「きれいな設計を行って、それを動くコードにする」のが完ぺき主義である。だが、設計の「きれいさ」は定量化できない。終わりがないのだ。和田氏に掛けられていた「呪い」とは、このことを指す。
TDDはまったく逆のアプローチを取る。「たとえ最初は汚くてもいいから動くコードを書く、という小さな一歩を踏み出し、テストを動かしながらそのコードをすぐにきれいにする(リファクタリング)。このサイクルをぐるぐると高速で回す」のである。テストを先に書き、「動くコード」を保ちながらきれいな設計を目指す。このパラダイムシフトは、和田氏にとって衝撃の体験だった。
和田氏は巨大プロジェクトでの開発に自動テストやTDDを取り入れ始める。最初は1人だったが、少しずつチームメンバーにやり方を教え、広めていった。
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。