システムの運用・保守
システムは運用するために開発するものというくらい、運用は非常に重要な業務です。システムを維持するために保守もまた非常に重要な業務なのです。
システムは運用(Operation)するもの
システム開発が終了すると、システムの運用が始まります。運用はシステムを実際に稼動させ続けることです。システム運用の代表的な業務として、以下の3点が挙げられます。
-
ユーザ問い合わせ対応
ユーザが利用するシステムでは、システムの操作方法など、使い方に関する問い合わせが発生します。コールセンターなどのユーザ対応専門の組織を用意し、必要なオペレータを常時待機させておきます。
-
システムの監視
システムはコンピュータ上で動作します。システムが稼動する時間帯によって、システムの利用率に変動が生じ、それに伴ってコンピュータへの負荷も変動します。CPU利用率やメモリ使用量、起動プロセスなどを監視し、障害が発生する前兆を事前に察知します。
-
障害対応
何らかの原因で障害が発生したとき、システムを迅速に復旧させることが求められます。どれほど堅牢に開発されたシステムでも、障害はいつか必ず発生するといって良いでしょう。障害によって販売機会の損失や、障害の拡大につながってしまうため、システムの回復作業と恒久的な対応策を投じる必要があります。
システムの運用は、システムが稼動し続ける限り続きます。システム開発とは違って運用手順があらかじめ存在し、定期的なデータを常に記録していく作業が行われます。したがって、ルーチンワークのような作業が続くことを敬遠するエンジニアもいます。一方で、運用こそが最上流の工程であるという考え方もあります。システム開発の一環として、最終的なゴールがシステム運用であるという観点から、もっとも重要な業務の一つであるという考え方もあります。エンジニアとしてのキャリア形成を考えるとき、運用業務は確かに技術的な成長が望めるものではありません。運用テクニックは存在するものの、ものづくりを醍醐味とするエンジニアにとっては、やりがいを感じ取れる業務ではないかもしれません。しかしながら、システムの運用がシステム開発のゴールであることは間違いなく、運用を軽視したシステム開発は大きな問題を抱えることになります。
システムの保守
システムが稼動し、一定期間が経過すると、システムに対する新しい要求が発生します。開発の段階では要件定義の通りで良いのですが、実際に運用してみると、システムのある部分に対する仕様変更の要望が発生します。このような追加要求への対応が、システムの保守作業である。システムの保守は、一般的には保守契約を結んだシステム開発チームが対応します。システム開発の費用に含まれているものとして扱うと、保守要件が発生するたびに対応を強いられるため、作業スコープがあらかじめ見えていない状況を保障することはかなりのリスクが生じます。具体的な作業内容としては、改造要件の明確化を行い、あとは設計から製造、テストまでを行う流れで、システム開発の開発フェーズと同じ手順を踏みます。システム開発ほど大規模な保守作業はあまり発生せず、ほとんどは少人数で対応します。