IOP(Inside-Out Principle) 2.0
»
多くの方からコメントを頂いて、再考してみる。(emeitchさん、chris dingさん、ひがさん、takadsignさん、satoshi さんありがとうございました!)
まず、
Meyer のIOPは、クラシックOOの意味で正しい。
モデルTというか、一次近似というか、設計とはなんぞや、の意味である理想化された問題状況において、クラシックに正しいのだ。ここでの理想とは、
- ユーザは要求を把握している。
- 要求は設計活動が終わるまではとりあえず変更されない。(その後変更はあるが)
ということだ。まずはこの前提に立って、あるべき設計方法とは、という解決原則を提示しているのが、IOPだといえる。
さて、1,2が疑わしいとなると、事態は「さらに」複雑になる。そうなった場合、2つのアイディアが現在世の中では提示されている。
- Extreme Programming等のアジャイル開発(アプリケーションのスライスを開発し、肉付けする)
- UCD(中心をシステムやモデルにおかず、ユーザにおく)
それぞれを図にするとこんな感じになる。(音楽をメタファに使うと、IOPをクラシックと位置づけ、現在旬であるものを、ポップスと捉えて重視する、というスタンスで解説してみた)
SpecialPR