「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
フレームワーク全般を指す用語と思われる。
詳細 †
オレオレ・フレームワークの考察 †
- 「オレオレ・フレームワーク」という用語は、
- 厳密には、フレームワークの要件を満たしていないライブラリやテンプレートにも適用される。
- 基本的に、disりのコンテキストで利用されるので、プロダクトに何らかの問題があることを示している。
- 基本的にシェアが取れているプロダクトに対して、
「オレオレ・フレームワーク」と言う言葉は使用しないため、
「オレオレ・フレームワーク」であるか?否か?の必要条件として
「シェアが取れていない」と言う条件がありそう(ただし十分条件ではない)。
- 「シェアが取れていない」プロダクトには以下の様なプロダクトがある。
車輪の再開発 †
純粋に既にシェアを取っているプロダクトの「車輪の再開発」をするようなケースは、
ユーザにとってのメリットも少なく、「オレオレ・フレームワーク」とdisられることになる。
低品質なプロダクト †
- 「シェアが取れていない」、「オレオレ・フレームワーク」は、
品質に問題があることが多く、「オレオレ・フレームワーク」とdisられる。
- 特にUX等の品質が低くてみんなをイライラさせるプロダクト。
- 殻に閉じ篭って品質が上がらないプロダクト(将来性が無いので習得したくない)。
ニッチ プロダクト †
- ニッチとは「隙間」を意味する「特定のニーズ」や「小規模の市場」のこと。
- 「特定のニーズ」や「小規模の市場」なので、そもそもシェアが取れない。
フレームワークが開発される経緯 †
車輪の再開発 †
- ランタイム・フレームワークと同一のレイヤを開発するケース
- .NET系は純正品の完成度が高く、コレの開発をヤルことは殆どなかったが、
- 黎明期のJavaでは、フレームワークが乱立した時代があった模様。
- シェアとの関係
- シェアを取るつもりだったが、結果的にシェアをとれなかったプロダクト
- そもそも、シェアを取るつもりでやっていないプロダクト
※ 前者は単なる残念。
後者は単なる趣味なら問題ないけど、チーム開発になるとキツイ。
低品質なプロダクト †
- 殻に閉じ篭って品質が上がらないクローズドなプロダクト
ニッチ プロダクト †
- 既存品の上位スタックを追加開発するケース
- 上位スタックを独自スタックで置換するケース
等が考えられる。
オレオレ・フレームワークの十分条件 †
「シェアが取れていない」に、以下の2つの条件を組み合わせると、十分条件となりそう。
車輪の再開発 †
結果として、シェアの取れていない(若しくは初めからシェアを取るつもりのない)、車輪の再開発プロダクト
低品質なプロダクト †
結果として、品質が上がらず、シェアの取れていない(若しくは初めからシェアを取るつもりのない)任意のプロダクト
ニッチ プロダクトには品質向上が必要 †
- ニッチ プロダクトについては、シェアを取れていないが、
→ オレオレ・フレームワークの必要条件とはならなそう。
- 自分のドメインの特定のニーズには必要になる。
例えば...
- チーム開発には必要なレイヤになる。
- 大規模化した時に、維持・保守を可能にする。
- 以下のトレードオフのバランスをとることが重要になる。
- 何もせず、特定のニーズに問題を抱えたものにする。
- 設備投資を行い
- 特定のニーズを満たす。
- 構築した設備の維持・保守の課題の発生と解決。
「オレオレ・フレームワーク」という用語にビビって何もしないエンジニア、
生産性低いから、先ずは最低限、テンプレートぐらいは作って公開するとイイと思う。
参考 †
OSSコンソーシアム †
開発基盤部会 Blog †