開発方法論の議論だと、アジャイルがいいか、ウォーターフォールがいいかという議論になってしまうため、どのプロジェクトだと、アジャイルがよくて、どのプロジェクトだとウォーターフォールがいいかの境目が見えにくくなったと思う。
たとえば、データベースがすでにあり、それに対して帳票を追加するようなプロジェクトであれば、ウォーターフォールでも、アジャイルでも大差ない。やることが明確なので。
このとき、データベースの変更があるなら、ウォーターフォールがいいだろう。アジャイルだからと、DBの更新をちょくちょくされてしまうと、アプリのほうに影響がですぎて、収集つかなくなる。帳票出力のためのDB変更であれば、帳票数にもよるが、いったん帳票出力内容から、変更DB箇所を割り出し、いっぺんに修正してから、帳票アプリ開発に入るウォーターフォールのほうが、収集しやすい。
一方、大規模開発だと、ウォーターフォールがいいかといわれれば、そうとも言い切れない。
そのような開発だと、仕様の確定が遅くなるからだ。
仕様を確定させてから、プログラム開発にかかると間に合わない。
またStrutsの場合は、画面とモデル部分を分けて開発できるので、アジャイルで画面、モデル、DBアクセス部を分けて、どんどん片っぱしから作っていってしまい、修正もガンガンかけていくほうが早いかもしれない。
このように、大規模だからとかいう規模でわりきれるものでもない。
アジャイルとウォーターフォールの境目をまじめに考えることが、今後の業界に大きなメリットを及ぼすと思うのだが・・・