「システムの老朽化」という問題を抱える企業は少なくありません。日々多くのサイトが目に入る中、使いやすさや機能の点で優劣をつけられることは必然といえます。とくに、日本企業は社内にシステム部を持たず、開発や改修は基本的に外注のことが多いですから、ノウハウが蓄積しにくい側面があります。この記事では、システム改修の流れや費用、ポイントについて解説します。【システム改修ならテックユニット】システム改修は、月額制で外部にチームを構築できるテックユニットをご検討ください。一般的な受託開発の範疇に留まらず、クライアント様と共創型でプロジェクトを推進しています。システム改修では柔軟に仕様変更に対応する必要があり、従来型の納品ありきではうまく進められなかったり、失敗したりする可能性が意外に高いものです。テックユニットでは、開発チームを内製化されたい方にも適したサービスになりますので、お気軽にお問い合わせいただければと思います。>>月額制アジャイル開発(テックユニット)の詳細はこちらシステム改修とはシステム改修とは、文字通り現行システムをよりよいものに改善することです。改修は悪いところをあらためて作りなおすことを意味しますが、システム開発においては必ずしも悪い部分や壊れている部分を直すという意味ではありません。システム改修は、機能を追加したり、デザインを新しくするなど、現行システムよりも使いやすくすることを目的としています。システム改修を検討する目的・タイミングシステム改修を行うタイミングは、下記のようにいくつか挙げられます。既存システムに不具合がある法改正といった外的要因がある現状より使いやすく改善したい既存システムに不具合があるシステムは、開発当時は問題なかったとしても、不具合が表面化することが少なくありません。以下のような不具合が表面化している場合は、システム改修の必要性があります。システムの動きが遅い不具合が多く業務効率が悪い使いにくく業務効率が悪い動きが遅い場合や不具合は、システムを作成した会社の保守でまかなえる場合がありますので、システム会社にどこまで対応してもらえるか確認しましょう。また、サーバーOSやミドルウェアのサポート終了に伴って改修が必要になる場合もあります。サーバーOSWindows Serverなど、サーバー専用に開発されたOSミドルウェアPHP、Java、MySQLなど、処理を行うアプリケーションと制御をするOSとの間に存在するソフトウェアサーバーOSやミドルウェアはシステムを構築する土台となるもので、利用者が快適に使用できるように、最新のセキュリティプログラムや機能追加といったサポートが随時提供されます。その際、新しいバージョンにアップデートを行った際に、システムがうまく動かないなど影響が出る可能性があるため、システム改修を必要とする場合があります。法改正といった外的要因がある法改正といえば、消費税や軽減税率の改定、新しい元号などが代表的ですが、業界に関する法令が変わったときも対象です。法改正に対応することは法令順守の上で必須となりますので、合わせてシステム改修や変更を余儀なくされるでしょう。法改正することがわかった段階で、すぐにシステム開発会社と打ち合わせを開始することをおすすめします。現状より使いやすく改善したいシステムを利用していく上で、「こんな機能があったらもっと使いやすい」というニーズが発生することは非常に多いです。その機能を追加することによってパフォーマンスが高まり、費用対効果において損はないと考えられた場合、システム改修を行う必要性がでてきます。ただ、新たな機能を追加することは、システムの2次開発とも言えるような大きな規模の改修になることもあるため、システム会社と相談しながら慎重に検討しましょう。システム改修の流れ(プロセス)システム改修をする際の基本的な流れを確認していきます。改修目的と要件の定義仕様検討影響範囲調査システム改修実施テスト実施検収システム改修の導入部分は、新規システム開発と同じように要件定義から進みます。追加修正についても同様のプロセスを使い、打ち合わせを繰り返して、その度に見積もりを出すので時間がかかります。従来型である納品ありきの開発ではなく、アジャイル形式でよりスムーズにシステム改修を進めたい場合は、テックユニットをご検討ください。打ち合わせから見積もりまず、システム開発会社と改修の目的をはっきりさせ、要件を定めます。システムを開発し、運用を行うと、「こうしたほうが使いやすい」「こんな機能があればよい」などの課題が出るため、これらを要件にまとめていきましょう。その要件内容を加味して、見積もりを出してもらいます。改修の設計打ち合わせやヒアリングが完了したら、具体的に要件定義を行なった上で仕様書や設計書などを作成し、改修費用やスケジュールを確定します。この際、システムを改修することによって、どのような影響がどこまで及ぶのかを調査する影響範囲調査が行われることも多いです。【関連記事】システム開発の要件定義書とは?項目や内容をプロがまとめてみた実際に開発システム改修における設計書の作成まで完了したら、実際に改修作業やテストを実施していきます。システム改修のプログラミングが完了次第、改修によってその他の部分で新たな不具合が生じていないかや、改修した部分の単体や結合テスト、最終的な動作検証まで行なわなければなりません。また、実際にシステムの納品・運用となる前には、ユーザーテストも行う必要があります。完成および納品無事に改修が完了したら、本番環境にて動作確認をおこないます。動作検証にて不具合などが発生した場合は、その修正対応をおこなった上で納品します。保守・運用システム開発の時と同様に、改修が完了したら終わりではなく、その後もトラブルなく使用できるように保守運用を定期的に行う必要があります。この行程が入ることで、改修したシステムを継続的に活用できると言えるでしょう。もし社内ではシステムの保守運用を行えるリソースが割けないという場合には、外部のシステム会社に保守運用を依頼するのも1つの手段です。【関連記事】社内システムの作り方|メリット・デメリットをまとめてみたシステム改修に必要な費用の相場システム開発企業のホームページを見ても具体的な金額を提示していることは少なく、見積もりを出されても適正価格なのか不安に思う方も少なくありません。そこには、システムを構築するのにかかる費用が独特な算出方法が関わっています。費用に関わる「人月」基本的にシステム改修にかかる費用は「人件費(開発費)+諸経費」で決まります。人件費エンジニアやプログラマーなどの費用諸経費開発に費用な機材などの設備費、ソフト仕様のライセンス料など人件費について、システム業界では、システムの開発や改修に必要な人数と、1人当たりの作業期間を掛けた「人月」という単価を用います。例えば、プログラマー1人とシステムエンジニア1人の合計2人で2か月作業する場合、2人×2か月の「4人月」となり、1人の単価が50万円だとすると、4人月×50万円=200万円が人件費となります。システム開発企業は、システム改修を依頼された場合、どのような規模でどのようなシステムを構築するのかがわからないと、どの程度のスキルを持つ技術者を何人投入するべきかわかりません。そのため、具体的な費用をホームページに提示することが難しいと言えます。【関連記事】システムの引き継ぎ方法は?必要な項目やポイントを確認システム改修にかかる費用を抑えるポイントシステム改修にかかる費用を抑えるポイントは、以下の5つです。改修箇所は明確にする依頼はまとめて行う自社で対応する範囲を増やす必要なデータを用意する月額制のチームを構築する改修箇所は明確にする当たり前に聞こえるかもしれませんが、解決したい課題や欲しい機能について依頼内容を明確にしておくことです。明確な依頼内容なら、業者としても投入する技術者の人数や作業期間を予測しやすいため、より精度の高い見積もりが出しやすくなります。逆に、不明確な要素が多いほど、システム開発が進んでいく中で大幅な修正や追加作業が発生して別料金がかかったり、余計な費用が発生するケースも少なくありません。依頼はまとめて行う小規模のシステム改修でも、システムの制作工程は変わりません。そのため、細かい改修が必要になるたびに依頼するより、ある程度まとめて依頼した方が全体としての費用は抑えられる可能性が高いです。ちょっとした改修であっても、システム会社はその都度環境を整えて、テストデータを準備をする一連の工程を行うため、極力重複する作業工程を減らすようまとめて依頼した方が得策です。自社で対応する範囲を増やすシステムを改修すると、そのマニュアルにも修正が必要になりますが、可能なら自社で修正しましょう。新規開発ではマニュアルも含めて業者に依頼する方が負担軽減によいかもしれませんが、マニュアルの修正程度なら自社で体制を整える必要があります。システムに変更はなくても、自社の組織やスタッフに変更があった時にはマニュアルも変更する必要があり、最初から自社で対応できる体制を整えておけばスムーズに変更できます。必要なデータを用意する一般的に、テストデータの作成は業者が行いますが、顧客側でテストデータやテストパターンを用意しておくと、その分の費用が抑えられます。月額制のチームを構築するシステム改修の費用は、月額制のチームを構築することで抑えられる場合があります。必要なときに絞って実装できるので無駄を省きやすくなるからです。従来の請負契約では、見積もりと話し合いで決められた内容で実装します。軽微な仕様変更には対応できますが、大きく変更すると従来よりも工数がかかったり、その分だけ余計に費用がかかったりする可能性を捨てきれません。また、不要なものが見積もりに入っていたとしても、依頼後で調整できないということにもなりかねないことも一つの要因です。>>月額制アジャイル開発(テックユニット)の詳細はこちら【関連記事】一括請負契約と準委任契約のシステム開発についてプロがまとめてみたシステム改修の費用が高くなる事例システム改修で費用が高額になることが多いケースを紹介します。修正による影響が広範囲に及ぶケースデータベースの改修を伴うケーステストに手間がかかるケース修正範囲が広いケース画面の表示に修正を加えるようなケースでは、ちょっとした修正でも画面の数が多くなれば修正箇所も必然的に増えるため、費用も高くなります。しかし、プログラムが共通化できているようなケースでは画面の数と修正量が比例しないこともあり、一概に費用も比例するとは言えません。基本的には1個の修正でも多くの機能に影響が及ぶ場合、費用が高くなると考えておきましょう。データベースを改修するケース画面に項目を追加したり新しい情報を付加したりする場合、現存のシステム次第ですが、データベースから改修しなければならないといけないケースがあります。その場合、データの移行や変換ツールの制作などの作業が増えて、費用がかさみます。テストに工数がかかるケース改修の内容次第では、テスト項目が大量になったり、複雑なパターンでテストするケースも出てきます。そのため、工程数が多くなる分、費用も高くなります。データ量が多い場合は、依頼側でテストデータを用意するなど費用を抑える工夫も検討してみましょう。【関連記事】システム・アプリ開発を他社に引き継ぎする方法をまとめてみたシステム改修の注意点システム改修の注意点としては、以下が挙げられます。新規で作り直すことも検討するデグレードテストは確認しておくマニュアルも整備しておく新規で作り直すことも検討するシステム改修は今までのシステムをそのまま活用できますが、システム改修の規模と費用によっては新規システムを開発するほうが良い場合があります。例を挙げると、既存システムの解析に時間とコストがかかり、改修に長い期間を要する場合です。システム開発は会社ごとに異なるフレームワークを使用していたり、解析とシステム改修だけで想定していたコストを上回ることも少なくありません。この場合、新規システムを開発するほうが、コストもかかる時間も少なくて済みます。システム改修を行う場合はきちんと見積りを出し、対応できるシステム開発会社と要する期間を明確にする必要があります。【関連記事】システム開発の外注知識をプロが解説|費用相場から失敗例までSaaSの代表例をシステム開発のプロがまとめてみたデグレードテストは確認しておくデグレードテストとは、プログラムに手を加えたことで、今まで正常に動いていた部分が動かなくなっていないかを確認するテストです。システム改修におこなった処理が正常に反映されているかをテストするのはもちろんですが、同時にデグレードテストも必ずおこないます。しかし、システム改修を外注する際、きちんと確認をせずシステム開発会社に一任しているケースも少なくありません。システム改修前後の2つの環境を用意し、それぞれを動作させたうえで同じ結果が得られるかどうか確認できますので、適切なシステム改修をおこなっているか管理する姿勢を示すことが大切です。マニュアルも整備しておくシステム改修の実施によって、社内のオペレーションにも変更が生じるでしょう。しかし、マニュアルの整備をシステム会社に依存してしまうと、業者が変わる度にコストが増えるため、自社で行えるような体制を整えておくことをおすすめします。実際、社内の体制変更などで、軽微な改修などに対応するマニュアル整備は自社で行えば、コスト削減と同時にオペレーションの徹底も期待できます。システム改修に関するよくある質問システム改修についてよく聞かれる質問を以下にまとめました。システム開発のメリットは?デグレって何?システム改修と開発の違いは?システム改修のメリットは?システム開発においては、必ずしも悪い部分や壊れている部分を直すという意味ではないのです。システム改修の大きなメリットは今までのシステムをそのまま活用できることです。1からシステム開発をおこなうわけではなく、あくまでも改修になるので、使い慣れたシステムを引き続き使用できます。デグレって何?デグレとは品質の「悪化」や「低下」を意味するデグレード (degrade)の略で、和製英語のため日本人にしか通じません。システム業界において、デグレとはプログラムの変更や修正により、その他のプログラムに意図しない影響によって、ソフトウェアの品質が悪化することを指します。具体的には以下のようなことが挙げられます。過去のバージョンですでに修正済みの不具合の再発変更・修正した箇所以外での新たな不整合・不具合の発生更新内容の喪失顧客の信頼を失いかねない行為ですので、入念に影響調査を実施しましょう。システム改修と開発の違いは?システム開発は、その名の通り新しいシステムの開発です。一方、システム改修はその開発した既存のシステムを修正、変更することを言います。エンジニアから見れば、システム開発は既存のシステムの参考がないため、かなりの労力を必要とし、改修については比較的実施しやすいと言えるかもしれません。ただ、両方とも行程は同じなので、費用についてはシステム会社と目的を明確にし、話し合う必要があります。まとめ「こんな機能があったらいいのに」「この機能はなくしたい」とシステム上の困りごとはありませんか。システム改修には消極的だった、知らなかったというあなたにシステム改修の流れを説明してきました。こちらの流れに沿って、明確な目的と要件を持ってシステム改修をすることで成果を挙げられるでしょう。あなたの会社のシステム改修を行う際の道しるべになれば幸いです。