毒か薬か、どちらかになる(OOと開発効率について)2.0w(前回の仕切り直し。)

この場合、恐らく「部品化」「再利用性」というキーワードが一番適当でしょう。


部品化も再利用性も、要件定義や分析や外部設計で決定した固有の機能、仕様を踏まえて、事前に共通で使う部品を準備しようとするアプローチですが、これが既存の開発方法のように「外部設計〜固有の機能の詳細設計〜実装」という流れよりやや工程数の多い「外部設計〜アプリケーション基盤(または共通部品)の設計〜固有の機能の詳細設計〜アプリケーション基盤の実装〜固有の機能の実装」となります。
当然、前者より保守性も再利用性も効率も高くなりますが、アプリケーション基盤というお客様の要件と直接関係しないシステムを開発しなくてはならない、というコストも発生します。

この際、アプリケーション基盤をその時開発するシステム以外にも使えるような、言ってみれば社内標準となりうるものとして設計しようとすると、かなり大変です。相当の設計技能も必要ですし、それ以前にどうようのアプリケーション・アーキテクチャを使いまわせる複数案件が視野に入っている必要があります。

なので、それなりの設計技能を持ったエンジニアの手配やアーキテクチャを使い回せるシステムの受注できるという、よほど強い確信がなければ、はたしてそコストを割いてまで用意する必要があるのか、と思ってしまう人がいてもそれは仕方がないかな、と思ってしまいます。
(それでも、固有の機能のサイズが膨大であればやるべきですが)


そういった意見も踏まえて、OOのメリットと活かしデメリットを殺せるような、そんなOOの使い方が必要だよね、という事で前回に続く、という訳です。