あじゃいるってどうなの?

世の中ではアジャイル(Agile)っていう開発スタイルがもてはやされているらしい。。。
@ITの記事を見ると、最後のほうに具体的な手法が紹介されています。
少しばかりそれらの手法について私見を書いていきます。

文字列やバイナリデータのパースなんかは単体テストがあると、
だいぶバグの発生率が違う気がします。
UIやネットワーク関係などの部分に関しては割と懐疑的。
そもそもテストできなかったり全パターン網羅できなかったりなので
やらなくて良いじゃん?ってのが本音です。

テストも結局はプログラマーが書くので漏れがないとは言い切れないってのがな んとも。
結局プログラマーがんばれ〜でしかないのかなと思わずにはいられない。
だからといって否定するつもりはないんですけどね^^;

  • テスト・ファースト

テストと実装の反復って部分はうなずけるがテストからはじめることに
どれほどの意味があるのか疑問。
テスト・ファーストってやつの中にはどうも設計と実装を一緒にやっちまおうみたいな
裏の意思が感じ取れるのは私だけ?
それこそ設計を毎回見直していたら反復する分オーバーヘッドがでかくなって
何のためのアジャイルなの?って事態になりそうな気がします。

これはまっとうなプログラマなら嫌でもやりたくなるってことで。
自動ユニットテストだとかなんだとかはリファクタリングをする際の
補助でしかないので、あろうがなかろうがどうでも良い。

  • ペア・プログラミング

実力が同程度の人とのペアプログラミングはよさそう。
極端に実力が離れたもの同士でやってしまうと、それは単にどっちがが教えてるだけになってしまいそう。

  • 常時結合

これもテスト・ファーストと一緒で、まともな設計ができてないとオーバーヘッドばかりが
大きくなってにっちもさっちもいかなくなりそう。


以上より結論
思想や目指すところは共感できるが設計がまともじゃないとぐずぐずになりそう。