誰がソースを書くのか

最初に、超適当なことを書くということを言っておきます。酔ってるからか眠いからか、機嫌が悪いからかは分かりませんが。
ウォーターフォールモデルによる開発であれプロトタイプモデルによる開発であれ、開発にはいわゆる上流工程というのがあるわけです。すなわち、それは基本設計やそれに順ずる部分です。
それに対して、下流工程もあります。つまりは実際にソースを書く仕事です。で、この下流工程と言うのは非常に単純な作業であって、汚いソースでよければ誰でも書けると言うところがあります。したがって、仕様書をきちんと書いて賃金の安い国に仕事を丸投げしてしまおう、という話はずいぶん昔からあります。ちょっと前までは中国や韓国、現在ではインドなんかがその対象となっている国です。ですが、韓国なんかは随分賃金が上がってしまったし、そろそろインドもそうなってくると言った感じでしょうか。
で、それは本当に良い方法なのだろうか、ということを考えてみました。つまり、日本があるソフトウェアを開発するとして、その仕様書は日本人が書き、実際の実装は海外に任せると言うスタイルは、本当に良いものなのだろうか、と。答えはNoでしかないと考えます。
つまり、もしきちんと仕様書が書けると言うのであれば、その仕様書から実際のプログラムを生成するプログラムだって書けるべきなのです。それが書けないと言うことは、仕様書に不備があると言うことに他なりません。
この考え方を進めたものがフレームワークになるわけです。Webなんかの場合にはまさしく分かりやすいことになっています。あるページのデザインがあり、そこにはこんな感じのフォームがあり、どういう条件でこの文言を表示させ・・・・。まさしく仕様書の通りにプログラムを書けば出来上がります。
つまり、フレームワークを使って何かを作るということは、仕様書を書くと言うこととほぼ同義なのです。フレームワークを作ると言うこと自体は、仕様書のフォームを決定すると言うことになります。
そうであれば、もしもきちんとした形で海外に発注することが出来るのであれば、もはや海外のコーダーなどは必要ないわけです。そんなのはライブラリがやってくれます。これがビジネスモデル上、あるいは社会的な問題として良いかどうかは全く別問題とすれば、海外に仕事を投げると言うそんな余計な手間は必要ないはずなのです。
必要ないはずなのになぜ海外に頼るのか、といえば今までの開発体制を変えたくないから、ということなのでしょうが、このまま進んでいってもどっかで足止めを食らうんじゃないかなあと思ってしまった今日この頃。
まあ、すでに何度も言われていることではあるんですけどね。