HarvestedFrameworkとFoundationFramework
仕事で資料を作る際に確かこんな言葉があったと思って探していたのですがやはり"ぶりきじゃ"に翻訳がありました。翻訳された皆様に感謝。
FoundationFramework
HarvestedFramework
諸説ありますが私はフレームワークを開発する場合はまず最初にFoundationFrameworkで設計してその後、最初のモックというかプロトタイプを作成する段階でHarvestedFrameworkに転化する方法を採ります。最初からHarvestedFrameworkの方向で作れれば無駄も出ないし良いものが出来るのですが最初はHarvestするものは全く無いのが普通なのと大抵は一人か二人しかフレームワーク開発には従事していないケースが多いからです。ならばHarvestできるまで何も作らなければ良いじゃない? いやいやそう都合良くは行かないのです。工数を確保したからにはまずは開発者の主観で組み立てていくしか無い場合が殆どなのです。私の場合だと最初は本当に粒度の低い、ライブラリィのようなものから用意して次は経験上判っている「恐らくこれは必要だろう」と思われるものの作り込みを行います。
XPの"YAGNI"で言うと予測実装は悪ですがそのシステムと採用するアーキテクチャがよく解っている状況であればその予測は十中八九は外れないので"YAGNI違反"には該当しません。
それにしてもファウラーという人は凄いです。彼の業績を称える言葉は我々の業界にはあまりにも溢れており私がここで書いたからといってどうなることでもないのですがそれでも是非書いておきたいです。彼の最も素晴らしいのはメタファやアナロジーも含めた暗黙知を形式知にする能力に長けている所ではないでしょうか。(何を今さら..と思った方すんません)
最近、やっとPofEAAの訳本を詳しく読み始めることができたのですが彼(ら)の形式知を紡ぎ出す能力は半端じゃあないと思います。PofEAAにしろそれぞれのパターンの中身の多くは我々が実際に仕事で経験している事なのですがそれを形式知にまで高めているのに膝を打つのと同時に頭が下がるのです。