「TheMythicalManMonth」(あなたが読んだことはありませんか?)で、ブルックスは「アーキテクチャの概念的な完全性が最も重要なこと」という趣旨の言葉を述べています。つまり、要求された機能が製品の全体的な設計の概念的な整合性を損なう場合は、要求された量に関係なく、おそらくそれを実装することを避け続ける必要があります。または、要求された機能が改訂されたアーキテクチャに適合するように、アーキテクチャを再形成する必要があります。
私が取り組んでいる製品の1つに、「非常に要望の多かった機能」が追加されました。製品の他の機能とは異なり、動作します。恐ろしいいぼです。しかし、競争がそれをするので、私たちはそれをしなければなりませんでした。しかし、私たちのアーキテクチャ(この分野の競合他社とは根本的に異なる)を忠実に保つ代わりに、競合他社の機能をばかげた詳細に落とし込みました。
私はまだ、機能が製品の残りの部分で壊れたセマンティクスでシステムに組み込まれているという事実にひどく憤慨しています。傷口に塩をこすりつけるために、私は新しい機能を「スライスされたパン以来の最高のもの」として顧客ベースに提示しなければなりませんでした-それは本当に痛いです。
そうは言っても、この機能について(私が思うに)誰も文句を言っていません。たまに使われることもあるでしょう。競合他社が私たちに対して使用できる違いは1つ少なくなります。
(注:私は、製品の通常の動作方法と一致するスタイルで実装されている機能に反対していませんでした。競合他社が使用しているスタイルで実装されていることに反対しました。他の関連機能は、壊れた実装と同様に機能するためです。彼らのシステムでは、私たちのシステムはより正気で友好的です。)
硬いです。時々市場が勝ちます。