SAPやOracle EBSなどのERPパッケージ製品を使ったシステム導入やシステム保守開発をしていると、カスタマイズ、アドオン、モディフィケーションという似た言葉を耳にすると思います。
今回はそれらの違いについて明確にしてきたいと思います。また、マスタ設定などにも触れ、システム導入においてどのような差があるかまとめていきます。
カスタマイズ・アドオン・モディフィケーションの違いを1つの図で表すとこのようなイメージとなります。
カスタマイズとは
カスタマイズとはコンフィギュレーション、コンフィグ設定、パラメータ設定とも呼ばれ、パッケージシステムが提供する既存の標準機能に対して機能調整をすることをいいます。
SAPでは、TrCd:sproを使って実施してきます。パッケージシステムが用意しているメニューを使って、導入企業の業務に合うように標準機能の動きを変更したり、制御したりしていきます。
例えば、受注伝票登録画面の使われる受注タイプの追加やそれに紐づく機能制御や、購買価格の単価の導出条件(品目×仕入先や、品目×仕入先×購買組織など)の追加や変更などがあります。
メリット、デメリットは次のようなことが挙げられます。
メリット:パッケージシステムのバージョンアップがあった場合も基本的には動作保証がされる
デメリット:提供されているメニューからしか機能制御ができない
スポンサーリンク
アドオンとは
アドオンとは、パッケージシステムが標準では提供していない機能をシステム開発によって新たに追加開発して導入企業専用機能を作ることをいいます。
さらに、アドオンは2つに分類することができます。
1種類目は、標準機能とは独立して全く新しい機能や画面を追加で開発することです。新しく付け加えるという意味では、Add-Onの意味でそのまま理解することができます。
上記の図のように標準機能にはない機能Dを追加することです。例えば、標準機能で複数の受注伝票を一括で作成する機能がない場合には一括登録機能を作成したり、導入企業特有の業務に特化した処理を行いための専用画面を新規開発したりなどがあります。
2種類目は、標準機能の一部に”穴”が空いており、その”穴”に処理を新たに記述することです。
SAPでいうところのExitやBAdIです。少しイメージしづらいと思いますが、パッケージシステムが既存の標準機能のうち、ここになら処理を追加して標準機能の動きを変えても良いよと言って準備している箇所に対して、処理を追加することです。
上の図のように標準機能のうちの一部に処理が書き込める箇所があるというイメージです。例えば、受注登録画面などの標準画面の画面項目を追加したい場合に受注登録画面のうち画面項目の追加が事前に許されている箇所にロジックを追加して項目を追加したり、保存ボタンを押した際に導入企業の業務要件に沿った新しいチェック処理を追加したりなどがあります。
ただし、自由といっても当然制約があります。処理が記述できる箇所は関数のようになっているため、その関数の中には自由に記述ができるのですが、関数に渡す引数や戻り値はパッケージシステムが事前に定めていることがほとんどのため、何でも自由にロジックを追加できるというわけではありません。
メリット、デメリットは次のようなことが挙げられます。
メリット:カスタマイズだけでは実施できない機能制御・処理追加が可能
デメリット:”穴”が空いていない箇所への処理追加はできない。制約があるため自由度が高い訳ではない。パッケージシステムのバージョンアップの際に追加対応が必要になる可能性が高い。
スポンサーリンク
モディフィケーションとは
モディフィケーションとは、パッケージシステムが処理を追加することを許可していない箇所のロジックを修正することです。
極端にいえば、パッケージシステムが提供する既存機能に対してどんな修正でもしてよいということなります。そのため、モディフィケーションはどのパッケージシステムでも基本的に非推奨とされています。
例えば、どうしてもカスタマイズやアドオンだけでは導入企業の特殊な業務要件を実現できないような場合に検討します。しかし、その場合であっても、業務要件そのものを見直すことの方が優先です。そして、どうしても業務要件を変更できない場合は、そもそも導入するパッケージシステムが導入企業と合っていないため、別のパッケージシステムの検討を行った方がよいです。
メリット、デメリットは次のようなことが挙げられます。
メリット:既存機能にない機能を自由に実現できる
デメリット:不具合の発生リスクが非常に高く、パッケージベンダーの保守範囲からも外れる可能性g高い。パッケージシステムのバージョンアップに対応ができない。
スポンサーリンク
マスタ設定とは
マスタ設定とは、システムが扱う取引先や品目、社員マスタのことです。
システムには大きく静的なデータを扱うマスタと動的なデータを扱うトランザクションという2つのデータベーステーブルが存在します。取引先や品目などマスタは日々の業務の中で頻繁には変わらないデータのことです。一方、トランザクションは受注や出荷、購買など日々の業務によって蓄積・変更されていくデータのことです。
マスタデータはシステムの機能の処理を変えたり、制御したりするものではなく、システムの機能によって使われるものです。導入企業ごとに取引先や品目のマスタを事前に準備して使います。また、もし取引先の変更や新商品の発表があればマスタをメンテナンスします。頻繁に変わることがあるところでは、価格もマスタの1つといってよいと思います。
パッケージシステムの考え方にも依りますが、例えばSAPでは、取引先や品目といった業務上必要となる重要な静的な情報のことをマスタといい、受注登録画面でユーザが受注理由を選択するようなリストボックス内の選択肢はカスタマイズ設定の範囲と言えます。システムに詳しい人であれば、リストボックスの選択肢も結局はシステム内のテーブル情報から取得して表示しているので、マスタと位置づけることもできなくはないでし、明確な切り分けはありませんが、業務にどれだけ関わりがあるかで考えると良いと思います。
スポンサーリンク
カスタマイズとアドオンの違いを抑えるところから
カスタマイズ、アドオン、モディフィケーション、そしてマスタ設定について解説しました。マスタ設定は同然すべてのシステム導入で必要になるとして、標準機能の動きを変えるという点で実務でよく使うのは、カスタマイズとアドオンになります。
したがって、まずはカスタマイズとアドオンの違いをしっかりと理解して、使い分けることからはじめるとよいです。パッケージ開発に携わる人の中でも時々、言葉の定義を混合している人がいますが、プロジェクトが混乱する元となりますので、しっかりと使い分けていただければと思います。
コメント