お仕事ネタです。
タイトルについて軽くご説明します。
テストファーストというのは、文字通り「プログラム組む前にテストコードを書いてしまえ」ということなんですが、設計書を元に「こういう入力があったらこう出力されるべき」という条件をどんどん抽出していって実装漏れやバグを未然に防ぎましょう、という手法です。
で、JUnitというのは、簡単にいうと上記テストのためのJavaプログラム用ツール(テスティングフレームワークとか言うらしい)です。
長々と解説してしまいましたが、私はこのJUnitに苦い思い出がありまして(前にも雑記帳Ver1.0にちょっと書いたことがありますが)、一見、すばらしく理にかなっているかに見える手法ですが、適用するには色々と問題がありまして、私のプロジェクトではかなり悪評が高かったです。
で、当時この手法を先陣斬って旗振って進めてたのが私だったので、なんとなく責任を感じてしまい、それがトラウマになっていました。当時は、何がまずかったのかを考える余裕もありませんでした。ただ、「JUnit=悪」のような印象だけが残りました。
そんなこんなでしばらく記憶の彼方に追いやっていたのですが、今日、偶然「テストファーストの弊害 」なる記事が載ってるサイトを見つけまして、 「あぁ、私だけじゃなかったんだ。」と思うと同時に、何が悪くて何が良かったのかがだいぶ整理できました。
これで少しはトラウマから逃れられそうです。はい。