変化に強くするためLayersにするのは理解できるが,実際に役に立った案件ってどんだけあるの?

ソフトウェア・アーキテクチャの変遷について話してたときに,沸いた疑問。
MVCでもBCEでもPACでもいいや,とりあえずLayersにしておいて将来の変更に備えたとしよう。で,実際に「将来の変更」があった案件ってどんだけあるんでしょうね,と。


残念なことに,あたしの数少ない経験では1件もない。orz


手前ミソで申し訳ないが,あまり評判のよろしくない自社の勤怠管理システムは,まがりなりにもLayers構造になっていて,いわゆる「変化に強い構造」になっているワケだが,未だに大きな改修をすることなく今も稼働している。
いくら安定稼働してるとはいえ10年近く前のアーキテクチャなんで,いい加減実行環境が古すぎて,ちょいと迷惑なレガシーシステムになってる。Javaアプレットなんだけど,未だにJRE1.2ベースなのだ。


せっかく画面とロジックを分離した意匠なんだから,画面くらい最新のJREに対応したっていいじゃんかと思うのだが,そうはいかないらしい。改修しない理由は想像に任せるしかないんだが,たぶん予算の問題とリスク回避の2点がポイントなんだろうなぁと思う。


つまり,画面のみとはいえ通常の保守費用だけじゃまかない切れないのと,わざわざ危険を冒してまで改修する気にならないからなんだろうなと。だってね,プロダクトがEOLを迎えたからといって,いきなり動かなくなるワケじゃないし。
そう思うと「なんで,(Layersみたいな)めんどくさい構造にすんの?」という疑問も分からないでもない。


あえて補足すると,あたしが知っている唯一の事例がそうだからといって,世の中全部がそうと言い切る気はない。でも,同じようなこと考えている人も少なくないんだろうなぁと思う。なにより再構築費をアテにしている人たちもいるだろうし。


言うまでもないが,技術的にまっとうな事がすべからく良いこととは限らんのだと,知った風なことを言ってお茶を濁す。:-P