ソフトウェア企業が特定の業界で汎用的に使用できるシステムとして開発し、販売するパッケージソフト。スクラッチ型開発よりも、導入時の予算を抑えることができるため、世の中にはパッケージシステムを導入している企業も多いです。

しかしパッケージシステムも導入して終わりではなく、場合によってはメンテナンスやSE対応が必要になるため、ソフトウェア企業に保守契約をお願いする場合があります。今回はパッケージシステムを保守する上でSEが経験する大変なことについて、ご説明していきましょう。

パッケージにもバグがないわけではない

まず驚かれるかもしれませんが、パッケージにもバグが無いわけではありません。「そんなの不良品じゃないか」と思われるかもしれませんが、まさしくその通り。システムは実態として目で見ることできない商品のため、販売時に欠陥があることを見抜けないまま販売してしまうこともあります。

「どの程度バグがあるか」についてはパッケージを製作したソフト会社や、導入してからどれだけ安定稼動しているかによっても変わってきますので、一概には言えません。しかしパッケージとして販売するなら、バグがあれば対応しなければなりません。

パッケージソフトのバグ対応については、以下の2パターンに分かれます。

  • 個別パッケージに対してバグ対応を行う(応急処置)
  • パッケージ本体に対してバグ対応を行う(根本解決)

バグはシステムの不良ですので、本来であればパッケージ本体に対してバグ対応を行い、根本的に解決しなければなりません。しかしパッケージソフトの場合、お客様が全ての機能を使うとは限りませんので、とあるお客様からバグの報告はあるが、別のお客様からは報告がない事もあります。そのため本体に手を入れる前の応急処置として、バグ報告のあったお客様の環境に個別対応することもあります。

優先順位をどうするかはバグの深刻度によって対応を切り替えます。もしすぐにでも対応が必要なら個別対応をしますし、深刻度が低いのであればパッケージ本体のバグ対応まで待っていただきます。

パッケージ本体の修正を待っていただくなら代替案は必須

個別のバグ修正を行わずに、パッケージ本体の修正対応をお待ちいただくにしても「待ってください」の一言ではお客様は納得してくれません。必ず代替案を提示するようにしましょう。

例えばSE対応をはさんで運用でリカバリーしていく提案だったり、バグによって動かせなくなってしまった処理のかわりに簡単なツールを作成して対応するなど。

バグが発生した際には、どのような対応が最良なのか、柔軟にコミュニケーションを取りながら対応策を協議していきましょう。

追加要望は個別カスタマイズをする

これは導入当初にも言えることですが、導入後の保守段階であっても、パッケージの標準機能だけでは物足らず、カスタマイズが必要になることもあります。特に帳票周りは企業独自の様式もあり、カスタマイズが発生する可能性の多い箇所。

もちろんカスタマイズは個別対応になります。担当SEは標準の設計書をもとに、どうすればお客様のカスタマイズ要望を満たすことができるかどうか、考えなければなりません。そのためパッケージソフトの中身についても熟知しておく必要があります。SEが中身を知らなければ、カスタマイズはもとより、バグ対応なども対応するのが難しいものです。

個別カスタマイズは保守というよりも開発と呼ぶほうが正しいかもしれませんが、こうしたこともパッケージを導入した後にSEが行うべき作業の一つとなります。

システムのバージョンアップ対応

パッケージソフトの種類にもよりますが、売り切りの商品ではない限り、一定の間隔でバージョンアップ対応が行われます。バージョンアップの内容として含まれるのはバグ対応や新規機能追加などでしょう。

このバージョンアップ対応、個別カスタマイズの入っていないお客様であれば、たいした作業ではありません。しかし個別カスタマイズの入っているお客様の場合、地味に面倒な作業となることを覚えておいてください。

パッケージソフトのバージョンアップ作業は、既存のモジュールからの差分となる、新規や修正となったモジュールを既存システムに当てていくことが一般的。もし何も考えずにバージョンアップ分の差分モジュールを適用させてしまえば、今までカスタマイズしていた部分は標準モジュールで上書きされてしまいます。

だから個別カスタマイズが入っているお客様のバージョンアップ対応は以下のような手順が必要になります。

  • 適用する標準モジュールが、個別カスタマイズされているモジュールと被っているか確認
  • もし被っていたら、標準モジュールにも個別カスタマイズを適用させる
  • 又は個別カスタマイズモジュールに対して、標準のバージョンアップ内容を取り込む
  • バージョンアップ実行後は、個別カスタマイズが適用されているか確認(デグレードチェック)

標準パッケージであれば問答無用にバージョンアップとして配信されるモジュールを適用すればよいのですが、個別カスタマイズが入っていると非常に面倒な作業となるのです。

 

おわりに

パッケージは既に完成されているシステムだから保守も楽ちんだろうと思いきや、パッケージならではの面倒な作業もあるのです。

特にバージョンアップ対応については、バージョンアップされる度に行わないといけませんし、ミスをすれば事故につながってしまいます。パッケージ保守の対応も、決して気を抜くことはできない仕事なのです。

 



【X(旧twitter)でも情報発信中】

Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!

"X" @TECH_KEYSYS