snuffkinの遊び場

IT関係、スポーツ、数学等に関することを、気が向いたときに書いてます。

流用するには、流用基準を満たすことが必要

このところ、大きなソフトを開発するときには、盛んに「流用」が叫ばれています。でも、闇雲に流用しても不幸になるだけだとも思います。下手に流用したら、不具合も一緒に流用されてしまい、四苦八苦する事だってあります。そもそも、流用できる/できないという判断をするための基準が必要なのではないでしょうか。
例えば、ザックリ書くと以下のような基準。

  1. 流用元が拡張されることを考えて開発されていること。
  2. 流用元のドキュメントが存在すること。
  3. 流用元で不具合が発生した場合のリスクをどうするのか、取り決めていること。

さすがに上の基準では曖昧なため、各項目を詳細化する必要がありますが。
この基準の中でも「1」の基準は敷居が高いと感じます。現在のIT業界は、特定システム向けの特定アプリを開発することが多いため、使い回しできない物を開発するケースが多く見受けられます。フレームワークとか、拡張性を意識して開発している人は少数派だと思います。
そのため、たとえ似たような機能のシステムでも、流用するには苦しいケースが多いです。流用できるとしても、せいぜい設計イメージだけとか、一部のライブラリだけとか。「それって流用なの?」と言いたくなるような事態になります。
ソフトを流用すること」にも流用できないケースが書いてあります。やはり、流用基準を作って判断することが必要だと思います。
逆に流用基準を満たせるような開発を行えば、流用されなかったとしても、自分たち自体のアプリのメンテナンス性が上がると思います。