たまには自分のことを書いてみようかと思います。 僕は、 学校を出てからの 10年くらいを、 機械の設計屋さんとして飯を喰ってきました。 その後、 肩書きをプログラマーに変えてから 15年。 ここ数年になってようやく分かってきたのは、 機械もプログラムも新しいモノを創り出すそのやり方は同じようなものだ、 ということ。 機械、 たとえば自動車を作るとしましょう。 最初に新しい自動車のスペック (要件) を決めます。 自動車メーカーで量産車を開発する場合、 この時点でそのスペックのテストケースも決まっています。 たとえばスペック一覧に 「最高速度は 200km/h」 としか書かれていなくても、 それはたとえば 「1名乗車・光電管式速度計測装置搭載・燃料はタンクの××%・スペアタイヤ標準工具等搭載・谷田部の周回コースで同一周回中の直線2箇所での計測値の平均を取る…」 といった詳細なテスト方法を前提
![[コラム] 僕が TDD に魅かれるワケ - TDD.NET](https://cdn-ak-scissors.b.st-hatena.com/image/square/c50b1ca0898c13b4c2b9eaaf8b9adc0e9348ce3f/height=288;version=1;width=512/http%3A%2F%2Fbluewatersoft.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)