私はほぼ完全といってもいいくらい一人で開発/サポート/テストをしているのですが、席の周りの人は10人程度で一つのプロジェクトをやっています(もうちょっと増える予定みたい)。
で、彼らはなにやらJavaの地平に踏み込むみたいなのですが、テスト駆動開発が盛り上がっているようです。例によって、日経などのサイトからみてそれが紹介されて...ということになっています。「生産性五倍!」とかそういうセールストークに(上の方が)惹かれている模様。
やはり知らないと「テスト毎回そんなに細かい単位でやってて生産性がそんなに上がるの?」とか懐疑的な会話が後ろで交わされていました。私も詳しい訳じゃないけど、そういうテストは手動でやるんじゃないよ...ということをちょっと説明。
マネージャが「そしたらテスト用のデータ作るの大変じゃない」とかいってくれたので、おもわずずっこけ。評価前にデータ作るのは今までの開発でもやってるじゃない...君たちテストデータ作って評価してないのか(^^;。
リファクタリングも何がリファクタリングの対象になるのか、ツールを使って補助するというのもあるでしょうけど、やはりちゃんと「あ、ここはこうすればいいんだな」ということが人間にわからないといけないのではないかなと思いますが..どうでしょう?世の中はその辺も自動的に行うということを指向しているんでしょうか。VS .NET 2005なんかはそうみたいですけど...。
とりあえずまずは川俣さんの「テスト駆動開発」はプログラマのストレスを軽減するか?を読んでみよう!この手の記事って日経より@ITの方がいいですね。