安易な流用新規は危険

ご無沙汰しております。TZN'EXです(西園寺さんふうの挨拶)。

本当に久々の更新で、しかも平日枠なんですけど、仕事でまた最近思うことがあったので、書くことにしました。

標題の件、システム開発ですでにAという機能があったとして、Aに画面がよく似た機能Bを新規で作りたいとします。
このとき、Bは画面構成がAとそっくりなのだから、Bを一から作るより、Aをコピーして手直しして作るというのはよくある話。
このような手法を「流用新規」と言うことがありますが、ググると以下のような記事が実際にヒットします。

key-sys.com

cyzennt.co.jp

ITとは毛色が違いますが、ものづくりで既存図面を流用して図面を起こすケースに関する記事もあります。
xtech.nikkei.com

類似製品の図面を引っ張り出して、流用できそうな部品はそのまま使い、使えずともできる限り部分的な変更で済ませたい

ここはまさに共通するところですね。

何が言いたいかというと、私の経験上、流用新規の開発でたいてい痛い目を見ているんですよね。

流用元がマスタメンテのような単純な機能で、Aマスタメンテを基本にBマスタメンテを作るようなケースであればそりゃAマスタメンテを流用すれば安上がりだし、品質の統一もできます。

これが基幹系の機能でいろんなデータをこねくり回して取得している場合だとどうでしょうか。

流用元の機能Aがちゃんと作られていて、可読性、拡張性にも優れていればいいのでしょうが、
そうでない場合はまず機能Aの作りを把握して、機能Bにどう当てはめるかを考えないといけないし、機能B特有の機能があればそれをどう組み込むかについても考える必要があると。
こうなると単純な流用新規では済まなくなり、結果としてコストも設計者が当初意図した通りに削減できないどころか、より多くのコストがかかるという事態にもなりかねないのです。

去年11月までいた現場では「流用新規で簡単にできる」と安易に言う人が多くてあの会社特有の文化やろかと意地悪なことを思ったけど、
今の場所でもそういう人がいたので業界共通なんでしょうか。

「流用新規で簡単にできる」と言う以上、流用元からどこをどうアレンジすればできるのかをきちんと分析した上で責任を持って発言しろと思うわけです。
え、私ですか? 

TZN'EX CHRONICLE

ええ、例えば私のホームページ、HTMLを一から作成する手間を省くため、
各コンテンツ共通で使用できる部品はコンポーネント化するなど、容易に流用新規で作れるようにしていますよ。
鉄道写真のページは223系1000番台、伊豆箱根鉄道など様々なコンテンツがありますが、どれも基本的な作りは共通。データベース代わりに読み込むJSONの指定を変えている程度です。
最終更新日の表示も更新履歴を管理するJSONを読み込んで、更新日が最も新しいものを表示することでHTMLを編集する手間を省いています。
そのあたりは自慢の一つかな。大したデザインじゃないですけど。