開発プロセスとプログラミング言語は違います

「基幹システム」が得意なSIerこそOSSに取り組むべきだ | 日経 xTECH(クロステック)

中盤までは、SIerが「OSSで小さく関わり、大規模商談に結びつける」のを目指す価値があるという主張で、これはなかなか興味深い内容。
ただ、最後の内容が誤解されそうな内容で、ちょっと気になった。

 Rubyは開発生産性の高さで定評があり、システムの作り直しも容易とされる。この特徴を生かし、「プロトタイプを短期で開発し、顧客に提示。さらに要望を引き出して、構築を進める」という繰り返し型の開発スタイルを取ることで、「業務の変化に日々対応する」「小規模スタート」といった顧客のニーズに応える狙い。亀田氏は「Javaなどの既存言語では、顧客ニーズに応えにくい案件を、うまくRubyで拾っていきたい」と語る。

 ラピッド開発とも呼ぶこの開発手法は、仕様を巡る誤解を早い段階で解消できるし、顧客の満足度も高めやすい点がメリットとされる。亀田氏によれば、「顧客と円滑なコミュニケーションが図れ、SEのストレス要因も減る。Rubyは、SEを元気にするコンピュータ言語」だそうだ。

http://itpro.nikkeibp.co.jp/article/OPINION/20070904/281080/

プロトタイピングや反復型(繰り返し型)の開発プロセス(開発スタイル)が、「業務の変化に日々対応する」「小規模スタート」といった顧客のニーズに応えやすい、というのは分かる。Rubyがそういった開発プロセスに向いているというのも、多分そうなのだろう。
でも、Rubyというプログラミング言語を使うことと、反復型の開発プロセスを使うことは、別のことだ。Rubyを使って、昔ながらのウォーターフォール型の開発プロセスを使うこともできる。ただしその場合は、開発途中の仕様変更は手戻りの工数が大きいというウォータフォール型開発の欠点によって、「業務の変化に日々対応する」「小規模スタート」といった顧客のニーズに応えることは難しいはず。だからRubyを使ったからといって、顧客のニーズに応えられるとは限らない。
最後の「Rubyは、SEを元気にするコンピュータ言語」というのは、Rubyを使うと顧客のニーズに応えられるという誤解を生みそうな気がする。もし誤解のないように言うのであれば、「反復型開発は、SEを元気にする開発手法。Rubyはその反復型開発に向いている」と言うべきだと思う。