業務システムや基幹システムを導入する場合、システム保守は必ず必要になってくるため、開発前に保守をどのように行うべきか検討していくことが重要です。
本記事ではシステム保守とは何か、必要なスキルや外注する際のポイントについて解説します。システム開発を検討している方、すでに開発が終わって、保守について考えている方はぜひ最後まで読んでみてください。
システム保守とは?
システム保守とは、システムに何らかの問題が発生した場合に対処を行うことを指します。また、問題が発生しないように事前に対処する行為も保守に含まれます。
具体的には、システムログを読み取って問題箇所を検出し、ソースコードを修正してバグをなくすなどといった対応を行います。
システム保守を行う段階では、すでにシステムを使うユーザーに被害が及んでいる可能性もあるため、迅速に解決し被害を最小限に喰い止めることが重要です。
システム運用との違い
システム運用と保守は一緒くたに語られることが多いですが、厳密には異なる作業を指しています。システム運用とは、システムを安定稼働させるために行う作業を指します。
たとえば、ログを毎日監視したり、OSやミドルウェアのアップデートを行ったり、システムの定期メンテナンスを行ったりすることがメインとなります。
問題発生後の対処を指すシステム保守とは、性質が少し異なることがお分かりいただけるでしょう。なお、システム保守の担当者は運用も同時に担当する場合が多いです。
※関連記事
システムの運用保守とは?外注する際のポイントについても解説
システム保守はなぜ重要なのか?
システムの運用も保守も機会損失を防ぐために重要なことです。万が一障害などが発生すると損害が発生したり、ユーザーからの信頼を失ったりしてしまいます。
そのため、システムを開発する場合、運用・保守の体制をどうすべきかもあらかじめ考えておく必要があるでしょう。
システム保守にかかる費用について
一般的には毎年のシステム運用・保守の費用は、開発費用の15%程度が妥当であると言われています。ただし、システムの重要度などによって費用は当然異なるので注意が必要です。
予算に余裕がなく、システム運用・保守にお金をかけられない場合、必要な箇所のみ重点的に運用・保守してもらったり、オフショア開発を行い運用・保守費用をおさえている企業に外注したりする方法があります。
システム保守には2つの方法がある
システム保守を行う場合次の2つの方法があります。
-
- 社内でシステム保守を行う
- 外注する
まずは、どちらの方法を取るのかを決める必要があります。1つ1つの方法について詳しく解説していきます。
1.社内でシステム保守を行う
1つ目は社内でシステム保守を行う方法です。自社でエンジニアを採用してシステム保守を行います。
自社でシステム保守を行えるなら、この方法で問題ありません。外注コストがかからない、自社の開発担当者と容易に連携できるなどのメリットがあるからです。
2.外注する
2つ目はシステム保守を外注する方法です。
外部の開発会社や運用保守を専門に請け負っている企業に運用・保守を外注することが可能です。内部にエンジニアがいない場合なら外注した方が良い場合もあります。
外注することで自社で管理するコストがかからない、コア業務に集中できるなどのメリットがあります。
社内でシステム保守を行うときに必要なもの
社内でシステム保守を行う場合、次の3つをそろえる必要があります。
-
- システム保守担当者
- ハードウェア機器
- ソフトウェア
これら3つをそろえるのが難しいなら、システム保守を外注した方が良いでしょう。1つ1つの必要なものについて詳しく解説していきます。
1.システム保守担当者
社内でシステム保守を行うなら、まずはシステム保守を行える人材を確保する必要があります。
保守担当者には幅広いITスキルが求められます。障害やトラブルの原因がプログラム側にあるなら、既存コードを素早く読み取るためのプログラミングスキルが必要です。また、原因がインフラ側なら、ネットワークやサーバーを扱える知識も必要になります。
また、システムをクラウド化している場合はAWSなどのクラウドサービスに関する知識が必要である可能性もあります。
1からプログラムを作る必要はありませんが、既存の開発環境を理解し、問題箇所を特定、修正するためには、IT知識が必要なのです。
2.ハードウェア機器
自社でシステム保守を行うならハードウェア機器を自社で購入する必要があります。
サーバーやハードディスクなどの物理的な機器は、長年使い続けていると劣化してしまいます。システム保守ではこれらの古い機器を、障害の原因となる前に新品のものに交換しないといけません。
自社でシステム保守を行うなら、サービスに合ったハードウェア機器を選定し、購入する必要があります。
3.ソフトウェア
ハードウェアだけでなくソフトウェアも交換する必要があります。
OSやアプリケーション製品は、リリース後に不具合やセキュリティの脆弱性が発見されることもあり、アップデートが必要な場合もあります。アップデートせずにいると、サイバー攻撃やウイルス感染の被害に合う可能性があります。
システム保守を外注するメリット・デメリット
システム保守を外注するメリット・デメリットについて解説します。メリット・デメリットを知ることで、システム保守を外注すべきかどうか判断することが可能です。
メリット
システム保守を外注するメリットは、従業員がコア業務に集中できることです。
たとえば、保守担当者を新規開発担当者に回すことができれば、開発効率がアップします。すると新規事業の進捗がより加速することになり、保守の外注費用分の利益を生み出せる可能性もあります。
また、保守を外注した方が、保守業務を専門家に対応してもらえることもメリットです。保守スキルに特化したエンジニアは、セキュリティ対策などを行ってくれるため、システムの安全性を重視したい場合などにもおすすめできます。
デメリット
システム保守を外注するデメリットは、保守のノウハウが社内に蓄積されないことです。
たとえば、外注先が倒産して自分たちでシステムを保守することになった場合、ノウハウが蓄積されていないと障害発生時などに的確な対応ができず、被害を拡大させてしまう可能性はあります。
システム保守を外注する際は、完全に丸投げにはならないよう、いざというときに社内の人材だけでもある程度対応できる体制を作っておくのが理想的と言えるでしょう。
システム保守を外注した方が良いケース
続いて、システム保守を外注した方が良いケースについて解説します。次の2つのケースに該当するなら外注することをおすすめします。
-
- 人材が不足している
- 社内にノウハウがない
1つ1つのケースについて詳しく解説していきます。
1.人材が不足している
社内にエンジニアがそもそもいない、もしくは人材が足りていない状態なら、システム保守を外注する選択を取らざるを得ないでしょう。
新しいエンジニアを雇うと、採用コストもかかりますし、自社のニーズに沿った人材を雇えるにはある程度時間がかかります。運用・保守を業務委託する場合は、すぐに保守業務を行ってもらえます。
2.社内にノウハウがない
エンジニアが社内にいる場合でも、社内にシステム保守を行うためのノウハウが十分に蓄積されておらず、保守業務が上手くいっていない場合も外注する方が良いでしょう。
システム保守は障害時の被害を抑えるための重要な業務ですので、保守の精度を上げるために費用を投資することは決して間違っていることではありません。
システム保守を専門に担当する企業に外注すれば、プロフェッショナルが自社の保守を担当してくれるため、精度が上がり障害時にも被害を最小限にすることが可能です。
システム保守を外注する際のポイント
最後に、システム保守を外注する際のポイントについて解説します。システム保守を外注する場合は最低でも次の4つを意識する必要があります。
-
- 保守の対象範囲を明確に
- 運用保守費用が適正か確認
- 契約期間や自動更新の有無について確認
- 瑕疵担保責任について確認
1つ1つのポイントについて詳しく解説していきます。
1.保守の対象範囲を明確に
1つ目は保守の対象範囲を明確にすることです。
システムの保守範囲がどこまでか依頼側と開発企業側の認識が異なっており、後々トラブルになることは多くあります。
たとえば、24時間サポートという契約だったのに、年末年始は対象外だったなど。ほかにも、システムAは保守範囲だが、システムAと連携しているシステムBは対象外だった、などといったことで揉める可能性があります。
どの範囲までが保守の対象なのか、担当者にしっかり質問して認識の齟齬をなくすことが重要でしょう。
2.運用保守費用が適正か確認
2つ目は運用保守費用が適正か確認することです。
あくまで目安ですが、1年間のシステム運用・保守の費用は開発費用の15%程度が相場と言われています。これは、ネットワークの監視やハードウェアの交換など、一般的な運用・保守業務をすべて含めた場合です。
もちろん、保守範囲がどこまでなのかによっても費用は変わります。ただ、15%を大きくオーバーするなら、運用保守費用について交渉の余地があるかもしれません。
3.契約期間や自動更新の有無について確認
3つ目は契約期間や自動更新の有無について確認することです。
契約期間は長い方が良いと思いがちですが、長いと外注先を変更したくてもなかなか変更できなくなってしまうデメリットがあります。
システム運用・保守の対象範囲と同時に契約期間も確認しておきましょう。また、契約の更新は自動で行われるのか、契約処理を再度行う必要があるのかも確認しておくべきです。
4.瑕疵担保責について確認
4つ目は瑕疵担保責任(かしたんぽせきにん)について確認することです。
瑕疵担保責任とは仕事の成果物に問題となる箇所があった場合、発注側が契約解除や損害賠償請求ができる制度のことです。
システム保守を依頼する場合、請負契約ではなく準委任契約になる場合が多いです。準委任契約を結んでいる場合、開発企業は瑕疵担保責任はないため注意が必要になります。
システムのクラウド化によって保守業務が減ることも
オンプレミスのシステムをクラウド化することで、運用・保守業務が減る可能性があることも留意しておくべきでしょう。クラウド化とは、AWSやGCPなどのクラウドサービスが提供するインフラ環境でシステムを稼働させるようにすることです。
クラウド化すれば運用・保守業務の一部をサービス提供側が行ってくれます。運用・保守コスト削減を目指すなら、クラウド移行するのも選択肢の1つです。
ただし、クラウド移行にはさまざまな課題もあり、課題を理解せずにクラウド移行を始めると失敗する可能性が高くあります。クラウド移行の課題に関してはこちらの記事で詳しく解説しているので、併せてお読みいただけると幸いです。
※関連記事
クラウド移行の課題とは?具体的な解決方法について解説
最後に
この記事で説明してきた内容をまとめると以下のとおりです。
-
- 社内でシステム保守を行うときに必要なもの:システム保守担当者/ハードウェア機器/ソフトウェア
- システム保守を外注した方が良いケース:人材が不足している/社内にノウハウがない
- システム保守を外注する際のポイント:保守の対象範囲を明確に/運用保守費用が適正か確認/契約期間や自動更新の有無について確認/瑕疵担保責任について確認
システム開発を外注する際は、その企業がシステム運用・保守サービスをどの程度のクオリティで行ってくれるかも確認することが大切です。
株式会社エイチビーラボでは、ベトナムに特化したオフショア開発サービスを提供しております。システムの新規構築および既存システムの運用保守には豊富な実績があります。システム開発や運用・保守でお困りの方は、ぜひお気軽にお問い合わせください。ご相談から、開発、運用まで親身にサポートいたします。