第1章 モデリングとUML
1.1 利益 = 需要 - 設計
1.1.1 利益 = 需要 - 設計
利益 = 収入 - コスト。何を売るにしても、利益を得るためには2つの条件が必要です:
(1)販売価格が高いこと;
(2)コストが低いこと。
この巧みさは、価格とコストの間に固定の計算式がないことにあり、これが革新の動力源です。
ソフトウェア業界に置いてみると、私も一つの式を考え出しました:
利益 = 需要 - 設計
ソフトウェア開発において、需要の作業は「販売促進」の問題を解決することに専念し、設計の作業は「コスト削減」の問題を解決することに専念しますが、これらは相互に代替できません。あるシステムを低コストで開発・維持できるとしても、必ずしもそれがよく売れるとは限りません。システムがよく売れる場合でも、開発と維持のコストが高すぎると、最終的な利益は低くなります。
上述の「利益」、「販売」、「コスト」は広義で、金銭だけでなく名声、権力、人的リソースなども含みます。
市場で公開販売されていない、組織内システムや自分自身のために作るシステムであっても、上記の式は適用されます。
さらに重要なのは:需要と設計の間には存在しないし、存在すべきでもない硬直的な1対1のマッピングがないことです-幸いにもそうです、そうでなければ人工知能は今やそのマッピングのルーチンを容易に学習し、ソフトウェア開発者のすべての仕事を代替できるようになっていたでしょう。現在、ソフトウェア開発者が存在する価値の一つは、彼らが持つ領域知識とソフトウェア開発の知識を基に、多くの可能なマッピング案の中から最も適切なマッピング案を選び、さらに良いマッピング案を創造することです。