さて、前回システム開発コストは、言語で決まっているわけではない的なお話を書いたのですが、もう一つ理由があります。
現在実はシステム構築はこと実装に関してはかなり、工数が圧縮されてきました。高度なIDEの登場。HWやOSの機能のUPに伴うインタプリタ言語の汎用化。
それらの要素を考慮するに、プロジェクトにおける「実装」作業の工数自体は、かなり減少し続けています。
昔、プロジェクトのWBS上は要件定義2、設計2、実装4、テスト2・・・程度だったのが現在、要件定義2、設計2、実装2、テスト4・・・というように大幅に変わっています。
昨今の品質に対する意識の高まりや、システムの社会基盤的重要性に伴い、テストなど品質に対するコストは高められています。
反比例して、開発コスト自体は抑えられていっています。
これはオフショアなどと対抗するよな、営業的な事情だけでなく、実際に作業工数は実装だけに視点を当てれば減り続けています。
結果、システム構築コスト全体の減少に反比例して、テストの重要性は高まり続けているので、比重で見たときには、テストのような品質を担保するためのコストは上がり続けていることになります。
さて、本題に戻ってみましょう。
このとき、下がり続ける実装の比重に対して、「言語」がプロジェクト全体に与えるインパクトも下がり続けていることにお気づきになるでしょう。
現在特に重要な業務システムにおいては、上記の傾向は顕著です。
今非常に「高く」なり続けているのは「テスト」の工数です。
前回も述べたようにJavaのシステムが比較的、こういった「ミッションクリティカル」な要件で用いられることが多いために、このテストの工数などは顕著に増える傾向にあります。
そのために「高い」といわれるケースが多いのですが、言語に起因しているというよりjavaが引き合いに出されるプロジェクトの性質のために高くなっているケースのほうが多いといえます。