Float on the flow

とあるエンジニアのブログ。「ゆったり・しっかり」がモットー。

メタプログラミングと内製回帰の組み合わせは強力

メタプログラミングで生産性が超あがるよ!という話の件。
システム開発を生活の糧としている自分にとって、よくわかる話です。


ただ、実際にメタプログラミングが強く利いてくるのは、
数億〜数十億円規模の大規模プロジェクトじゃなくて、
ユーザ企業内での内製だと思う。


SIerが入る大規模プロジェクトだと、プログラミング以外の要素が
多すぎて、メタプログラミングがもたらすメリットがあまりない。
システム開発工程の中で、ボトルネックはプログラミングではないよ、という。
(要件定義とかコミュニケーションロスが顕在化するのがプログラミング工程で
 あることが多いから、そう思っちゃうけど)


それどころか、デメリットである
「高位ロジックが、高度であればあるほど、最終的に何が起こるのかが、わからなくなってしまう」
(by id:higayasuoさん http://d.hatena.ne.jp/higayasuo/20090208/1234058491
という問題が顕在化してくる。
で、これはきっと「プロジェクトマネージャ」な人に嫌われる。
一般的なPMは、「わからないもの=リスク=避けるべきもの」と思考するから。



一方、内製ならそもそもそこまで規模は大きくない*1
しかも、要件を作りながら考えてちょっとずつ修正できる。
なんといっても、契約とかお金が絡んでないからね!


そんな条件のもとでは、プログラミングを劇的に効率化する
メタプログラミングの技術は利いてくると思うのです。


レッツメタプログラミング!レッツ内製回帰!


via http://d.hatena.ne.jp/kwatch/20090207/1233976024

*1:もちろん例外はあると思いますよ