ツールと概念

ほぼグチです。申し訳ない。

例えば、NUnitの使い方を学んで一通り使えるようになったする。それでTDD(Test Driven Development:テスト駆動開発)的な開発ができるといえるのだろうか。XPの思想とかをまったく知らなくてもうまくやっていけるのだろうか。それとも使っているうちにTDD的な思想も身につくのだろうか。つまりツールが概念自体も教えてくれるのだろうかということ。
デザインパターンにしてもそうである。クリストファー・アレグザンダーが、とかもとは建築学の用語で、とかはたしかに知らなくてもいいのかもしれない。しかし、デザインパターンとは単なるノウハウ集ではなくて、このようにまとまったものに対して名前をつけることに意味があるんだよ、みたいなことは使っているうちに気づくものなのであろうか。

なぜこんなことに悩んでいるのかというと、自分の回りを見るにつけ不安になるから。極端に言えばデザインパターンという言葉すら知らない、よってその必要性など知る由もない、もちろんテストドリブンな開発などやったこともないしそのようなものがあることすら知らない。なんていうのがごろごろしているのが現実である。そのような人々を引き上げていくためにはどうすればいいんだろうかと。

こう書くと一歩間違うと他人を見下しているような書き方になってしまう。他人に対して引き上げてあげよう、という時点でそれはおごりである。

そんなの必要ない、納期に間に合い、要件を満たすことさえできればいいのである、といわれればそれまである。しかし、しかしなのである。絶えず新しい概念を吸収し、よりよい開発スタイルを身に着けることは結果的に品質の向上、納期の短縮にもつながるのではないか。だからTDDとかデザインパターンリファクタリングとか使っていこうよ、と遠吠えのように言い続けるしかないのである。