1. HOME
  2. ブログ
  3. システム開発
  4. システム改修はどうやって行うか?改修のタイミングや流れを解説

ブログ

BLOG

システム開発

システム改修はどうやって行うか?改修のタイミングや流れを解説

 システム改修を依頼する前に知っておきたい知識やポイント、システム改修の流れを具体的にまとめてみました。

 この記事では、システム改修とは何か、いつ改修を検討すべきか、改修と新規開発どちらを選ぶべきか等々、システム改修について詳しくご紹介していきます。

システム改修について

 システム改修とは、主に新しい機能を追加やデザイン変更などを行い現行システムよりも使いやすくすることを目的とする、既存システムの改修のことをいいます。

 システム改修には、新しい機能を追加するケースと、既存機能を修正するケースの2パターンがあります。新しくシステムを開発・導入する場合と違って、システム改修は使い慣れたシステムを、引き続きより良い状態にして利用できるという強みがあります。

 改修の依頼先は、システム改修には既存システムの仕様の理解が必要であるため、基本的にはシステムを作成した会社に依頼します。何らかの事情により、システム作成会社が改修できない場合には、他のシステム開発会社に依頼することになりますが、この場合後にも述べますが、現状システムの把握を行うために解析から始める必要があります。

システム改修はいつ行う?

 それでは、システム改修はいつ行うのでしょうか?以下のようなタイミングが考えられます。

 ①システムの機能に問題があるとき

 ②サーバーOSやミドルウェアのサポート終了

 ③法令改正などの外部要因

 ④業務改善や売上向上を目的にして改修する

 詳しく見ていきましょう。

①システムの機能に問題があるとき

 「システムに不具合がある」、「動きが遅い」、「使っているがどうも不便だ」といったシステム機能に問題があるとき改修を検討すべきです。動作の不十分さや不具合については、初期開発を依頼したシステム開発会社に対応をしてもらえる場合があります。契約を確認し、初期開発会社の保守の範囲で対応してもらえないか検討しましょう。

 一方、使い心地や不便さについては、ある程度利用してみて初めてわかることも多く、こちらについてはシステム開発会社に相談して、改善を求めることになるでしょう。

②サーバーOSやミドルウェアのサポート終了

 システムを構築する土台となるサーバーOS(サーバー専用に開発されたOS)やミドルウェア(処理を行うアプリケーションとOSとの間に存在するソフトウェア)は、最新のセキュリティプログラムや機能追加などのサポートが随時提供されます。サポートの期間は決まっていますが、Webサイトの利用はサポート終了後も引き続き行えます。

 ただ、サポートが終了すると、ソフトウェアやアプリケーションが動かなくなる可能性や、セキュリティが脆弱になったり、サーバーOSやミドルウェアに不具合があっても最早直してくれない、といったリスクが生じます。

 企業においては、業務システムが動かないと深刻な損害が生じる可能性があります。そのため、随時新しいバージョンにアップデートをする必要があります。新しいバージョンにしたとき、システムが上手く動かなくなってしまうような可能性がありますが、その場合に改修が必要になります。そして、保守について業者と契約している場合は、システム業者から案内や提案がありますが、保守について業者と契約がない場合、自社で管理する必要があります。しかし、この場合プログラムを変更する可能性もあって、専門的な内容となってくることもあります。自社だけの対応では難しいことから、保守を担当できる業者を探した方が良いでしょう。

③法令改正などの外部要因

 法改正に対応することは法令順守の上で必須となります。そのため、業界に関する法令が改正すること(消費税の改定、新しい元号が代表例です)がわかった段階で、すぐにシステムについて検討が必要です。具体的には、システムを改修して対応するか、それとも運用で対応できるのか判断する必要があります。

④業務改善や売上向上を目的にして改修する

 上記①~③と異なり、積極的にシステム改修をしていきたい場合です。初期段階で予算不足で見送った機能など、さらに機能を追加してシステムをより良くしたいときに、システムの2次開発を行って機能を追加していくことになります。機能追加の実現にかかるコストと、実現により成し遂げられる効果が見合うようであれば、導入すべきです。例えば、多くの手作業を自動化しミスを減少させる効果が実現して、相対的にコスト削減が可能であれば、改修を前向きに検討すべきです。

システム改修のフロー

システム改修のフローは以下のとおりです。

 ①改修目的と要件の定義

 ②仕様の検討

 ③改修による影響範囲の調査

 ④改修の実施

 ⑤テスト

 ⑥検収

 システム改修のフローは、新規システム開発と行うことはほぼ同じですが、違いもあります。システム改修特有の手順としては、部分的なプログラムの変更によって、他の機能への影響が起きないか(不具合いが起きないか)、影響があればその影響範囲などを調査する「影響範囲調査」や「影響範囲箇所のテスト」の実施が挙げられます。

 以下に詳しく見ていきます。

①改修目的と要件の定義

 システム業者と、現場における課題やニーズについてきちんと共有・理解してもらい、なぜ改修したいのかという点を明確にします。「この機能は使いにくい」「こんな機能がほしかった」「実際使ってみると不要な機能があった」などざっくばらんに業者と打ち合わせをしましょう。そのうえで、要件定義を行っていきます。

②仕様の検討

 システム業者において、要件を実現するための具体的な対応内容を作成し、提案します。発注者側においては要望が漏れなく盛り込まれているチェックしておきます。

③改修による影響範囲の調査

 次に、システム業者は、改修のシステム全体への影響について調査します。また、改修によってどれくらいの機能数や画面に影響があるのかといった影響範囲を調べます。

 プログラムの基幹部分となる既存コードの変更を行うと、そのコードをもとにする機能が多数存在するため、影響範囲は大きくなります。時には思いがけない部分に影響が及ぶこともあります。一方、新しく機能を追加する場合は、影響範囲は小さくなる傾向です。

 影響が広範囲になるケースの例としては、<従来メールアドレスと名前だけを登録していた会員登録機能に、さらに電話番号・生年月日も登録できるようにしたい>という場合を考えてみましょう。会員には電話番号、生年月日の登録ができるように新たな入力欄の作成が必要です。また、会員が登録した情報を確認できる画面も必要です。さらにシステム管理者も確認できる場面が必要となっていきます。これら以外にも多くの操作が必要とされ、その影響は大きくなります。

 OS・ミドルウェアの大規模なアップデートによる改修といった場合、システム全体のプログラムを書き換えることさえあります。

 このように影響範囲調査では、改修によってどれだけの影響が出るか、またその影響の出る部分の手当てもどれくらい必要かといったことがわかってきます。システム業者はこれらをもとに見積もりを作成します。

④改修の実施

 実際にシステムを改修を行います。

⑤ テスト

 改修を行うと、テストにかけます。このテストは、改修箇所のテストと、影響範囲の規模に応じた退行テストに分かれます。

  改修箇所のテスト

 仕様通りに動くのか改修個所を中心にテストを行います。求められる品質を満たしているかチェックします。

  影響範囲のテストと退行テスト

 事前に調査した影響範囲についてテストを行います。サーバOSのアップデートなどシステム全体に影響範囲が及ぶ場合、システム全体の退行テストを実施します。

 ここで、退行テスト(リグレッションテスト)とは、部分的なプログラム変更によって他の範囲に不具合が出ないかチェックするテストです。今までは使えていたのに改修で機能不全になるとかエラーが出てしまう機能がないのかチェックします。

 なお、システム業者は、全体テストの工数も、前もって影響範囲調査の段階で見積もりに入れておく必要があります。

⑥検収

 発注側は、業者から改修されたシステムの納品を受けたら、要求した要件や仕様がシステムに備わっているか確認します。

新規開発と改修、どちらにすべきか?

 何らかの理由でシステムを改修したいと思ったとき、システム改修を選ぶか、それとも新規開発するのか、悩まれる方もおられるかもしれません。

 そこで、新規開発・システム改修どちらにすべきか、目のつけ所をチェックします。

①どれだけ時間がかかるか

 当然ですが、システムに不満があるとき、早く不満を解消した方が良いに決まっています。そこで、改修と新規開発、どちらがより早くできるかという点が重要です。

 一般論では、新規開発の方が、既存システムの改修より時間を要します。そのため、一刻も早く何とかしたいという場合は、改修を選ぶべきです。しかし、既存システムに問題点が多すぎる場合には、一から作った方が早いこともあります。この場合、新規開発を検討すべきです。

 自社のみでは、時間の見積もりの判断は困難ですので、まずは既存システムをシステム業者に見てもらって、改修か新規開発か提案をもらいましょう。

②コストパフォーマンス

 改修、新規開発それぞれにおいて、費用対効果を比較しましょう。改修も新規開発も、その目的はシステムの不満を解消することにあります。同じ効果をもたらすのであればコストが安い方がいいですし、十分満足いく内容の効果が実現するのであれば、予算内であれば多少費用を要しても、十分効果が得られる方法を選ぶべきということになります。

③導入してからどれくらい経過したか

 導入したシステムをあとどれくらい使用する予定か、すなわちシステムを導入してどれくらい経つかという点は重要です。

 システムを導入したばかりで、少なくともあと5年はそのシステムを使いたいと思っている場合、既存システムの改修が基本です。一方、あと1年以内にシステムを廃止する予定であれば、どのみち新規開発するため、このタイミングで新規に作り直しても良いでしょう。

システム改修依頼における注意点

 システム改修を外注する場合、既存システムについてを熟知している既存システムの開発会社に依頼することがセオリーです。

 しかし、既存システム開発会社の対応に不満があって依頼したくない、既存開発会社がなくなってしまって頼みようがない、といった場合には、別の会社に依頼するほかありませんが、このとき少し問題があります。

 それは、自社ではなく他社のシステムの保守・改修を行うことには新規開発とは異なった高い技術力と多大な労力が必要です。そのため、対応している会社は多くはなく、他者のシステム保守まで引き継げる会社を探して依頼する必要があります。また、他社のシステムを改修する場合、システム解析を行って仕様を把握する必要があり、解析費用がかかります。

 既存システムの会社ではない会社に依頼する場合には、これらの点を念頭においておきましょう。

おわりに

 ここまでシステム改修についてご紹介してきました。本文でも触れましたが、システム改修においては、なぜ改修を考えるのか、改修してどのような効果を得たいのか、ということを明確におくことが大切です。これによって、改修でどれくらいコストがかかるのか、コストに見合った効果が得られるのかきちんと分析できるからです。

 システム改修のフローや、改修を依頼する際の注意点もまとめました。

 システム改修のことを知ることで、なるべくコストをかけず、満足のいくシステムへと変えていきましょう。

関連記事