この記事に関連するお役立ち資料

AIを活用した業務自動化 事例BOOK
無料ダウンロード
「システムの老朽化」という問題を抱える企業は少なくありません。
日々多くのサイトが目に入る中、使いやすさや機能の点で優劣をつけられることは必然といえます。
とくに、日本企業は社内にシステム部を持たず、開発や改修は基本的に外注のことが多いですから、ノウハウが蓄積しにくい側面があります。
この記事では、システム改修の流れや費用、ポイントについて解説します。


システム改修とは、文字通り現行システムをよりよいものに改善することです。
改修は悪いところをあらためて作りなおすことを意味しますが、システム開発においては必ずしも悪い部分や壊れている部分を直すという意味ではありません。
システム改修は、機能を追加したり、デザインを新しくするなど、現行システムよりも使いやすくすることを目的としています。

システム改修を行うタイミングは、下記のようにいくつか挙げられます。
既存システムに不具合がある
法改正といった外的要因がある
現状より使いやすく改善したい
システムは、開発当時は問題なかったとしても、不具合が表面化することが少なくありません。以下のような不具合が表面化している場合は、システム改修の必要性があります。
システムの動きが遅い
不具合が多く業務効率が悪い
使いにくく業務効率が悪い
動きが遅い場合や不具合は、システムを作成した会社の保守でまかなえる場合がありますので、システム会社にどこまで対応してもらえるか確認しましょう。
また、サーバーOSやミドルウェアのサポート終了に伴って改修が必要になる場合もあります。
サーバーOS
Windows Serverなど、サーバー専用に開発されたOS
ミドルウェア
PHP、Java、MySQLなど、処理を行うアプリケーションと制御をするOSとの間に存在するソフトウェア
サーバーOSやミドルウェアはシステムを構築する土台となるもので、利用者が快適に使用できるように、最新のセキュリティプログラムや機能追加といったサポートが随時提供されます。
その際、新しいバージョンにアップデートを行った際に、システムがうまく動かないなど影響が出る可能性があるため、システム改修を必要とする場合があります。
法改正といえば、消費税や軽減税率の改定、新しい元号などが代表的ですが、業界に関する法令が変わったときも対象です。
法改正に対応することは法令順守の上で必須となりますので、合わせてシステム改修や変更を余儀なくされるでしょう。
法改正することがわかった段階で、すぐにシステム開発会社と打ち合わせを開始することをおすすめします。
システムを利用していく上で、「こんな機能があったらもっと使いやすい」というニーズが発生することは非常に多いです。
その機能を追加することによってパフォーマンスが高まり、費用対効果において損はないと考えられた場合、システム改修を行う必要性がでてきます。
ただ、新たな機能を追加することは、システムの2次開発とも言えるような大きな規模の改修になることもあるため、システム会社と相談しながら慎重に検討しましょう。

システム改修をする際の基本的な流れを確認していきます。
改修目的と要件の定義
仕様検討
影響範囲調査
システム改修実施
テスト実施
検収
システム改修の導入部分は、新規システム開発と同じように要件定義から進みます。
追加修正についても同様のプロセスを使い、打ち合わせを繰り返して、その度に見積もりを出すので時間がかかります。

まず、システム開発会社と改修の目的をはっきりさせ、要件を定めます。
システムを開発し、運用を行うと、「こうしたほうが使いやすい」「こんな機能があればよい」などの課題が出るため、これらを要件にまとめていきましょう。
その要件内容を加味して、見積もりを出してもらいます。
打ち合わせやヒアリングが完了したら、具体的に要件定義を行なった上で仕様書や設計書などを作成し、改修費用やスケジュールを確定します。
この際、システムを改修することによって、どのような影響がどこまで及ぶのかを調査する影響範囲調査が行われることも多いです。
【関連記事】システム開発の要件定義書とは?項目や内容をプロがまとめてみた
システム改修における設計書の作成まで完了したら、実際に改修作業やテストを実施していきます。
システム改修のプログラミングが完了次第、改修によってその他の部分で新たな不具合が生じていないかや、改修した部分の単体や結合テスト、最終的な動作検証まで行なわなければなりません。
また、実際にシステムの納品・運用となる前には、ユーザーテストも行う必要があります。
無事に改修が完了したら、本番環境にて動作確認をおこないます。
動作検証にて不具合などが発生した場合は、その修正対応をおこなった上で納品します。
システム開発の時と同様に、改修が完了したら終わりではなく、その後もトラブルなく使用できるように保守運用を定期的に行う必要があります。
この行程が入ることで、改修したシステムを継続的に活用できると言えるでしょう。
もし社内ではシステムの保守運用を行えるリソースが割けないという場合には、外部のシステム会社に保守運用を依頼するのも1つの手段です。
【関連記事】社内システムの作り方|メリット・デメリットをまとめてみた

システム開発企業のホームページを見ても具体的な金額を提示していることは少なく、見積もりを出されても適正価格なのか不安に思う方も少なくありません。
そこには、システムを構築するのにかかる費用が独特な算出方法が関わっています。
基本的にシステム改修にかかる費用は「人件費(開発費)+諸経費」で決まります。
人件費
エンジニアやプログラマーなどの費用
諸経費
開発に費用な機材などの設備費、ソフト仕様のライセンス料など
人件費について、システム業界では、システムの開発や改修に必要な人数と、1人当たりの作業期間を掛けた「人月」という単価を用います。
例えば、プログラマー1人とシステムエンジニア1人の合計2人で2か月作業する場合、2人×2か月の「4人月」となり、1人の単価が50万円だとすると、4人月×50万円=200万円が人件費となります。
システム開発企業は、システム改修を依頼された場合、どのような規模でどのようなシステムを構築するのかがわからないと、どの程度のスキルを持つ技術者を何人投入するべきかわかりません。
そのため、具体的な費用をホームページに提示することが難しいと言えます。
【関連記事】システムの引き継ぎ方法は?必要な項目やポイントを確認

システム改修にかかる費用を抑えるポイントは、以下の5つです。
改修箇所は明確にする
依頼はまとめて行う
自社で対応する範囲を増やす
必要なデータを用意する
月額制のチームを構築する
当たり前に聞こえるかもしれませんが、解決したい課題や欲しい機能について依頼内容を明確にしておくことです。
明確な依頼内容なら、業者としても投入する技術者の人数や作業期間を予測しやすいため、より精度の高い見積もりが出しやすくなります。
逆に、不明確な要素が多いほど、システム開発が進んでいく中で大幅な修正や追加作業が発生して別料金がかかったり、余計な費用が発生するケースも少なくありません。
小規模のシステム改修でも、システムの制作工程は変わりません。
そのため、細かい改修が必要になるたびに依頼するより、ある程度まとめて依頼した方が全体としての費用は抑えられる可能性が高いです。
ちょっとした改修であっても、システム会社はその都度環境を整えて、テストデータを準備をする一連の工程を行うため、極力重複する作業工程を減らすようまとめて依頼した方が得策です。
システムを改修すると、そのマニュアルにも修正が必要になりますが、可能なら自社で修正しましょう。
新規開発ではマニュアルも含めて業者に依頼する方が負担軽減によいかもしれませんが、マニュアルの修正程度なら自社で体制を整える必要があります。
システムに変更はなくても、自社の組織やスタッフに変更があった時にはマニュアルも変更する必要があり、最初から自社で対応できる体制を整えておけばスムーズに変更できます。
一般的に、テストデータの作成は業者が行いますが、顧客側でテストデータやテストパターンを用意しておくと、その分の費用が抑えられます。
システム改修の費用は、月額制のチームを構築することで抑えられる場合があります。必要なときに絞って実装できるので無駄を省きやすくなるからです。
従来の請負契約では、見積もりと話し合いで決められた内容で実装します。軽微な仕様変更には対応できますが、大きく変更すると従来よりも工数がかかったり、その分だけ余計に費用がかかったりする可能性を捨てきれません。
また、不要なものが見積もりに入っていたとしても、依頼後で調整できないということにもなりかねないことも一つの要因です。
【関連記事】一括請負契約と準委任契約のシステム開発についてプロがまとめてみた

システム改修で費用が高額になることが多いケースを紹介します。
修正による影響が広範囲に及ぶケース
データベースの改修を伴うケース
テストに手間がかかるケース
画面の表示に修正を加えるようなケースでは、ちょっとした修正でも画面の数が多くなれば修正箇所も必然的に増えるため、費用も高くなります。
しかし、プログラムが共通化できているようなケースでは画面の数と修正量が比例しないこともあり、一概に費用も比例するとは言えません。
基本的には1個の修正でも多くの機能に影響が及ぶ場合、費用が高くなると考えておきましょう。
画面に項目を追加したり新しい情報を付加したりする場合、現存のシステム次第ですが、データベースから改修しなければならないといけないケースがあります。
その場合、データの移行や変換ツールの制作などの作業が増えて、費用がかさみます。
改修の内容次第では、テスト項目が大量になったり、複雑なパターンでテストするケースも出てきます。
そのため、工程数が多くなる分、費用も高くなります。データ量が多い場合は、依頼側でテストデータを用意するなど費用を抑える工夫も検討してみましょう。

システム改修の注意点としては、以下が挙げられます。
新規で作り直すことも検討する
デグレードテストは確認しておく
マニュアルも整備しておく
システム改修は今までのシステムをそのまま活用できますが、システム改修の規模と費用によっては新規システムを開発するほうが良い場合があります。
例を挙げると、既存システムの解析に時間とコストがかかり、改修に長い期間を要する場合です。
システム開発は会社ごとに異なるフレームワークを使用していたり、解析とシステム改修だけで想定していたコストを上回ることも少なくありません。
この場合、新規システムを開発するほうが、コストもかかる時間も少なくて済みます。システム改修を行う場合はきちんと見積りを出し、対応できるシステム開発会社と要する期間を明確にする必要があります。
【関連記事】
デグレードテストとは、プログラムに手を加えたことで、今まで正常に動いていた部分が動かなくなっていないかを確認するテストです。
システム改修におこなった処理が正常に反映されているかをテストするのはもちろんですが、同時にデグレードテストも必ずおこないます。
しかし、システム改修を外注する際、きちんと確認をせずシステム開発会社に一任しているケースも少なくありません。
システム改修前後の2つの環境を用意し、それぞれを動作させたうえで同じ結果が得られるかどうか確認できますので、適切なシステム改修をおこなっているか管理する姿勢を示すことが大切です。
システム改修の実施によって、社内のオペレーションにも変更が生じるでしょう。
しかし、マニュアルの整備をシステム会社に依存してしまうと、業者が変わる度にコストが増えるため、自社で行えるような体制を整えておくことをおすすめします。
実際、社内の体制変更などで、軽微な改修などに対応するマニュアル整備は自社で行えば、コスト削減と同時にオペレーションの徹底も期待できます。

システム改修についてよく聞かれる質問を以下にまとめました。
システム開発のメリットは?
デグレって何?
システム改修と開発の違いは?
システム開発においては、必ずしも悪い部分や壊れている部分を直すという意味ではないのです。
システム改修の大きなメリットは今までのシステムをそのまま活用できることです。
1からシステム開発をおこなうわけではなく、あくまでも改修になるので、使い慣れたシステムを引き続き使用できます。
デグレとは品質の「悪化」や「低下」を意味するデグレード (degrade)の略で、和製英語のため日本人にしか通じません。
システム業界において、デグレとはプログラムの変更や修正により、その他のプログラムに意図しない影響によって、ソフトウェアの品質が悪化することを指します。
具体的には以下のようなことが挙げられます。
過去のバージョンですでに修正済みの不具合の再発
変更・修正した箇所以外での新たな不整合・不具合の発生
更新内容の喪失
顧客の信頼を失いかねない行為ですので、入念に影響調査を実施しましょう。
システム開発は、その名の通り新しいシステムの開発です。
一方、システム改修はその開発した既存のシステムを修正、変更することを言います。
エンジニアから見れば、システム開発は既存のシステムの参考がないため、かなりの労力を必要とし、改修については比較的実施しやすいと言えるかもしれません。
ただ、両方とも行程は同じなので、費用についてはシステム会社と目的を明確にし、話し合う必要があります。
「こんな機能があったらいいのに」「この機能はなくしたい」とシステム上の困りごとはありませんか。
システム改修には消極的だった、知らなかったというあなたにシステム改修の流れを説明してきました。こちらの流れに沿って、明確な目的と要件を持ってシステム改修をすることで成果を挙げられるでしょう。
あなたの会社のシステム改修を行う際の道しるべになれば幸いです。
この記事に関連するお役立ち資料を無料ダウンロード

AIを活用した業務自動化 事例BOOK
AI技術を活用した社内業務効率化の基本から、実際の導入ステップまでをわかりやすく解説しています。
下記フォームにご記入下さい。(30秒)
テックユニットは、下記のような方におすすめできるサービスです。
お気軽にご相談ください。
・開発リソースの確保に困っている方
・企業の新規事業ご担当者様
・保守運用を移管したい方
・開発の引き継ぎを依頼したい方


おすすめの記事
関連する記事はこちら
優秀なエンジニアの見極め方がわかる!採用面接で聞くべき質問例15選
優秀なエンジニアを見極めるのは、企業にとって大きな課題です。人材不足が深刻化する中、優秀な人材を見逃すわけにはいきません。優秀なエンジニアを見極めるのが難しい採用面接でどのような質問をすべきかわからない採用後のミスマッチを避けたいなどは、多...
エンジニア面接の技術質問で優秀なエンジニアを見極める方法
多くの企業が抱える課題の1つに、優秀なエンジニアの採用があります。優秀なエンジニアを見つけるのは簡単ではありません。履歴書やポートフォリオだけでは、実際の技術力や問題解決能力、コミュニケーション力などを把握するのは難しいのが現状です。そのた...
どちらが上?AWSとAzureの性能・特徴の違いを徹底比較
「AWSとAzureの性能はどちらが上なのか知りたい」とお考えではないでしょうか。クラウドサービスは、物理的なインフラを自社で設置・管理する必要がなくなり、導入コストや運用負担を削減できます。その一方で、どのクラウドサービスを選べばいいのか...
AWSのCDN「Amazon CloudFront」とは?メリットやユースケースを紹介
CDNとはどのようなものなのかAWSのCDNであるAmazon CloudFrontにはどのような特徴があるのかAmazon CloudFrontを利用するメリットは何かAmazon CloudFrontの利用方法は?このような疑問を持って...
開発生産性とは?高める理由や注意点、フレームワークを解説
開発現場では、生産性の向上が喫緊の課題となっている開発リソースの有効活用や、スピーディーな製品リリースが求められている開発コストの削減や、人材不足への対応も重要な課題とお悩みではないでしょうか。開発現場では、常に効率化を意識しながら、限られ...
エンハンス開発とは?仕事内容や業務を円滑に進めるためのポイントを解説
「エンハンス開発って何?」「仕事内容は?」「円滑に進めるためのポイントは?」と気になりお調べですね。また、エンハンス開発の概要や新規開発との違い、またその使い方については、なかなか明確に理解できていない方も多いのではないでしょうか。そこで、...
エンジニアの外注費の相場は?見極めるポイントと費用を抑える3つのコツ
「エンジニアの確保が追いついていない」「予算の制約に悩んでいる」というお悩みはありませんか?新しいプロジェクトが増加する一方で、社内のエンジニアの採用やトレーニングが追いついていない。そのギャップを埋めるために、外注を検討している企業も少な...
増加続く…派遣エンジニアの単価相場は?推移と過剰なコストを避ける方法
「予算内で最大限の成果を得たい」「過剰なコストを避けて利益を最大化したい」とお考えではないでしょうか。近年、IT業界では人材不足が深刻化しており、企業はエンジニアの確保に苦戦しています。一方で、エンジニアの単価は上昇傾向にあり、採用コストの...
給与以上の理由でエンジニアが辞める - 10の理由と改善ポイント
「優秀なエンジニアが次々と辞めていく」という悩みはありませんか?優秀なエンジニアの確保は、企業にとって大きな課題です。実際にエンジニアの離職は意外に多く、優秀な人材の確保と定着が難しくなっています。このエンジニアが辞める理由は給与以外にも様...
AWSのCloud9とは?できることやメリット・デメリットについて解説
開発環境としてのAWSのCloud9について、その魅力とともに注意点も含めて詳しく知りたいという方も多いのではないでしょうか。AWSのCloud9は、低コストでチームで開発を行いたい、新規事業としてなるべく低予算で開発したいという場合に重宝...
業務システムとは?大別や種類、メリットとデメリットをプロが解説
企業の成長を支えるために、効率的な業務システムの導入を検討することはしばしばあります。しかし、どのように始めれば良いのか、どのシステムが最適なのか、悩むことも多いでしょう。また、業務システムの自作には多くのメリットがありますが、同時に注意す...
システム保守とは?業務内容やメリット・デメリット、費用相場まで解説
「システム保守運用の費用が高すぎるのでは?」と感じたことはありませんか?システムの安定運用は企業の業務効率やセキュリティに直結するため、適切な保守運用が欠かせません。しかし、具体的な費用相場や業務内容を知らないままでは、適切な判断が難しいは...
人気記事ランキング
おすすめ記事