システムはどれくらいで更新するべきなのか
あくまでも個人的な意見が反映されています。
個人開発でも、大規模な開発でも、システムを開発したら運用をしていかなければならない。
時期が来たら、システムを一新して新しく作り替えたり、時代のセキュリティに併せてシステムを構築しなおさなければならなくなるだろう。
今作っているものはどれくらい先まで見越して作っている物なのだろうか?
システムはどれくらいの期間使われる想定か?
システム開発をする中で、未来の状態も想定して開発をしなければならないことがある。
しかし、そのシステムが使われる期間も想定しておくべきだろう。
このテーマは、今までもいろいろな人が考察してきたであろうテーマであるが、自分なりにも考えてみることにする。
使用するシステムの基盤はいつまで使えるのか?
まず、考えるのは、サーバーなど物理的な資産が、いつまで使えるのかと言うところだろう。
調べるところによると、資産の減価償却は5年で終わるらしい。
正直電子機器は、10年ぐらいで買い替えが必要なラインだろう。
最近は、クラウドコンピューティングサービスが展開されているため、この辺りは考慮に入らないかもしれない。
では、OSのサポートはどだろう。
WindowsOSは大体5〜10年でOSのサポートを終える。
MacOSも公式のデータではないが、5、6年と言ったところ。
天下のWindowsやAppleが5〜10年でサポートを切って新しくしているのだ。
10年以上使ってそのシステムはセキュリティは大丈夫なのか考えるべきだろう。
そもそもプログラム言語のサポートは?
システムは何かしらのプログラム言語で開発をするが、その言語のサポートはどうだろうか。
私は.NETをメインで開発をしているが、.NETは3,4年でサポートが終わってしまう(LTSの場合)
LTSでなければ2年もサポートしていない。
そんなサポートの切れたフレームワークを使い続けて大丈夫なのかと言うことも考えることが必要である。
VBに至っては、すでにMicrosoftは新しい機能の追加はしないと謳っている。(バグの修正はある)
使い続ける限界点は
日々のメンテナンスは勿論のこと、改修するためのコストもバカにならないだろう。
500万かけて作ったシステムが、2年後使い物にならなかったらそれはそれで問題である。
最低5年は使いたいところでは無いだろうか。
そう考えると、長くとも10年周期でシステムを構築し直し、システム自体の要件とともに見直しをすべきだろう。
- 時代に合っているのか。
- 顧客の要望に応え切れているのか。
- セキュリティ的に問題はないか。
今後システムの保守をするのに人材の確保はできるのか。
この辺りに問題が発生しそうな時こそシステムの寿命なのかもしれない。
サポートも切れてる・保守する人員もいない・システムを把握している人がいない。
こうなってしまったら、システムとしては死んでいるも同然だろう。
そうならないためにも、日々のメンテナンスから必要な修正や調整を入れつつ、
新しいシステムへの移行をしやすくするための、仕組みを構築しなければならない。
特に大規模なシステムに関してはとても重要なことだろう。
10年前と、10年後を想像して。
20年後の未来は想像できないが、10年前から変わったことは知ることができる。
たった10年でも大きく世の中は変わってしまっている。
10年前と同じ物があるのか。それは、10年後も生きている事は出来ているのか。
想像してシステムと向き合っていかなければならないだろう。
まとめ
全てのシステムが、10年前後で更改する必要はないかもしれないが、
時代に合わせてシステムの中身を見直すことは必須だろう。
今自分が開発しているシステムは、いつ迄動き続けさせるのか。
動かせ続けられるのか一度整理するいい機会かもしれない。