続 atsushifxの七転八倒

ウツ、発達障害の闘病記とIT関係のつれずれを書いていきます

[XP}遅くなります。

手を動かしてもらうまで、その有効性を理解してもらいにくいなー。やっぱりテストを書くことによって実装が遅くなるって言われるし。僕の実感やと、実装が早くなると思うけど・・・一般にどうなのかは、わからない。

まぁ、仕様が変わったときのテスト書き直しは、かなりめんどくさいですけど・・・

はっきり言って、テストファーストではコーディング自体は遅くなります。
テストコードを書く時間が増えるし、なにより適切なテストを書くために考える時間がいる。
とにかく納期厳守というプロジェクトだと受け入れさせるのは難しいでしょうね。
ただし、これは部分最適化の話。
全体最適化になると話は違ってきます。
XPのプラクティスではテストファーストだけではなく、シンプル設計とリファクタリングがセットになっています。
この3つを実践したときの効果が素晴らしい。
仕様変更や引継ぎのコストが大幅に削減されます。
だって、ポイントとなるコードは一つしかないし、そこを適切に直せば全体がちゃんと直される。
しかも、テストファーストならデグレードの心配もない。
良いことずくめなんですよ。
でも、この効果は品質向上の効果であって、短期的な納期の短縮じゃないし、テスト工程が短くなるわけじゃない。
単純なバグは減るけど、使用ミスなどといった難しいバグは残るわけですから。
テストファーストを推進する場合は、顧客満足度の向上を訴えるべきでしょうね。