元ネタ。
http://blogs.wankuma.com/kox/archive/2009/06/01/173960.aspx
「うちの会社のフレームワーク」というモノを用意して、様々なプロジェクトに適用しようとするのは確かにあまりいい結果をもたらさない。要求がハッキリしない(もしくは要求がない)うちに用意された、未熟なフレームワーク程使いにくいものはない。
しかし、創ろうとしているシステム専用という意味で、ある規模の独自フレームワークを用意するのは有用だと思う。生産性を上げるというよりも、「コードを書く人によって作り方が全く違う」という事をできるだけ少なくするために使う。少しコードを読めば、他の箇所も同じように書かれているおかげで全体を理解しやすい、というのはシステムを作る上でとっても大事である。
皮肉にも、腕に自信のある技術者であればあるほど、自分のコードが最も正しいと信じているので、各々が個性のあるコードを書いてしまい、システムの統一感が全くなくなってしまう。このような場合は独自フレームワークに意味が出てくる。
逆に、まだ未熟な人は、他人のコードをよく読んでコードを書くのでそれなりに統一感がある。このような場合はフレームワークが重荷になってしまったりする。
チーム内に技術力の高い人が多ければ独自フレームワークを使い、そうでもないなら独自フレームワークを使わない、という指針は良いかもしれない。少々滑稽だが。