VNEXTの会社紹介資料
2024/01/22
SAP社が開発したERPソリューションの「SAP」ですが、数多く存在するSAP案件の中には「アドオン開発」に関する案件が多く出回っています。
SAPのアドオン開発とは、標準機能に備わっていない顧客要件に合わせた機能を個別に開発することを指します。
本記事では、SAPのアドオン開発の概要や開発の種類、アドオン開発をオフショア開発で実施する不安と対策などについて詳しく解説してきます。
目次
|SAPのアドオン開発とは?
SAPのアドオン開発とは、標準機能に備わっていない顧客要件に合わせた機能を個別に開発することです。
アドオンとは、ソフトウェアの機能を拡張させるために使用するプログラムのことを指します。
SAP ERPパッケージを導入する際、基本的にはSAPの標準機能やテンプレートに存在する機能を使用します。
アドオン開発は、SAPに備わっている機能では対応できない自社特有のやり方を組み込みたい時に行います。
具体的には、アドオン開発で以下を行うことが多いです。
― 帳票機能の拡張
― 画面表示を見やすくする
― さまざまなシステムと連携させる
― 不足している機能を開発する
「アドオン開発とカスタマイズは一緒じゃないのか?」と思う方もいらっしゃるでしょう。次は、カスタマイズとの違いについて解説します。
|カスタマイズとの違い
まず、アドオン開発は「新機能の追加」のために行われます。
競合他社と比較して機能が不足している場合や競合他社と差別化するために、新しい機能を追加したい時に利用されるケースが多いです。
一方で、カスタマイズは「変更」のために行われます。
たとえば、「管理画面のカスタマイズをする」と言われると管理画面を追加することではなく、管理画面を見やすいように変更する意味で使われます。
そのため、「この機能をカスタマイズしよう」となっても、開発を進めるわけではありません。
あくまで機能を変更するためにカスタマイズという言葉が使われます。カスタマイズとアドオンの違いを履き違えないようにしましょう。
|なぜSAPのアドオン開発が必要なのか
先述した通り、アドオン開発とは標準機能にない機能を個別に開発するものです。
SAP社のERPは基本的にアドオン開発をせずとも使用できますが、各企業には固有の業務があり、それを導入時にまるごと変更することが難しい場合があります。
また、追加の検討をしている機能は他社との差別化を図るための可能性も考えられます。
つまり、アドオン開発とは他社との差別化(自社の個性)、不足している機能を補うためのツールとして重要な役割を果たします。
ERPパッケージは、「全体最適化」実現するものとして普及してきました。
SAP社はERPの標準機能に合わせて業務プロセスを変更することが、合理的に全体最適化をできると推奨しています。
最新の『SAP S/4HANA』は、豊富なテンプレートが土台にあるため大体の業務範囲をカバーできるようになっています。
以上のことから、SAP ERP導入に関わる場合、ERPの機能に合わせて業務プロセスを変更するのか、アドオン開発をするのかの選択が肝と言えるでしょう。
|ABAPとは
SAPのアドオン開発は、主に「ABAP」というSAP独自の言語を使用してプログラムの作成を行います。
ここでは、アドオン開発の基礎知識としてアドオンプログラムの一部をご紹介します。
|ABAPプログラムの種類
ABAPと一口に言っても、処理の内容や対象の機能によって大きく3つに分けられます。
もっとも基本的な「レポートプログラム」、同様に使用頻度の高い「バッチインプット」、そして画面を作成していく「Dynpro」です。
それぞれについて詳しく見ていきましょう。
|レポートプログラム
レポートプログラムは、アドオン開発時に最もよく使用する基本的なプログラムです。
「データを出力して、一覧表示するプログラムのこと」と覚えておきましょう。
また、出力するだけでなく、ファイルのアップロードやダウンロードなどでも使用することができ、その用途はさまざまです。
|バッチインプット
バッチインプットとは、SAPシステム内でデータ転送を行う方法の一つで、大量のデータをまとめて一度に更新したいというような場合に有効です。
いわゆる、「バッチ処理」を実現するためのプログラムのことを指します。
バッチ処理というのは、簡単に説明すると「まとめて処理すること」です。
たとえば、毎日夜間にその日の売上データを集計してレポートを作成するなどがあります。
システムで操作を行ったタイミングでデータに反映される「リアルタイム処理」と違い、結果が出るまでにタイムラグが発生してしまうというデメリットはあります。
一方、リアルタイム処理では時間が掛かってしまうような大量の件数を処理することが可能な点が、メリットとして挙げられます。
|Dynpro(ディンプロ)
Dynproは「Dynamic programming(動的プログラミング)」の略称です。
「対話型の画面の動きに関するプログラム」と覚えておきましょう。
対話型というのは、ユーザの入力に応じて画面が遷移していくような画面制御のことを指します。
レポートプログラムとは異なり、複雑な顧客要件に対応するために、複雑な画面の作成、入力画面の項目、レイアウトなどを細かく設定できます。
他のプログラムに比べて、開発数はそこまで多くありませんが、Dynproの難易度は高く、扱える人材は非常に需要があります。
|アドオン開発の種類
アドオン開発には、さまざまな種類があります。
次は、アドオン開発の種類について解説していきます。
|帳票関連
帳票関連はアドオン開発の中でも一番多いもので、以下のような用途に利用されることが多いです。
― 社外クライアント向けの見積書や請求書・財務報告書などの作成
― 社内業務管理用に必要なものの作成
帳票関連は色々な種類があり、種類数は数百にも及びます。アドオン開発はそれだけ多岐に渡ることがわかります。
|画面関係
アドオン開発の種類は、画面関係もあります。
業務管理上、様々なシーンで管理画面を触ることが多いと思いますが、その際の管理画面を見やすくしたりするために使われます。
画面関係のアドオン開発は負担が軽く、気軽に行うことができますが、数が多くなってしまいがちですので徐々に開発を進めていくのが基本です。
|接続インターフェース
ERPを導入しても、他のシステムを丸ごと統合したということにはなりません、
そのため、接続インターフェースを一気にまとめる必要があります。
他システムとの連携のために、接続インターフェースのアドオン開発は欠かせません。
|ロジック関連
ロジック関連は、他社にはない自社だけの独自システムを開発するために使われます。
標準でインストールされている機能では対応できないことが多く、ロジック関連のアドオン開発の必要性はあると言えるでしょう。
アドオン開発の中でも、ロジック関連はもっとも負担が大きいものになります。
|アドオン開発の課題
アドオン開発は、SAPシステムを自社の個性にしたり、他社との差別化ができるなど有効ですが、その反面課題もあります。
アドオン開発の課題として、以下の3つが挙げられます。
|開発コストが増える
アドオン開発をすると、ABAPを扱えるSAPエンジニアにかかる人材コストやプロジェクトの期間が伸びることで発生するコストが増えていきます。
SAP ERP製品はグローバルスタンダートの標準機能が備わっているため、できる限り業務をSAPに合わせることが推奨されています。
|バグが発生しやすい
SAPに関わるバグの内ほとんどが、アドオン開発によるものと言われています。
アドオン開発したものはSAP社の管轄外になるため、運用中の足かせになってしまう可能性があります。
また、扱える人材が限られ、情報システム担当の方などの負担も増えてしまいます。
|運用の複雑化
アドオン開発を行うことで、システムの運用が複雑になる可能性があります。
たとえば、自社で運用しているシステムに対して、アドオン開発を行い、別のシステムを導入したとします。
お互いのシステムが干渉し合うことはないにしても、システム同士の整合性が100%であることはありません。
つまり、元々あったシステムの運用方法が、アドオン開発により適用できなくなる可能性が高いのです。
運用コストも上がってしまい、運用担当者には再度運用の方法について検討してもらう必要があります。
|アドオン開発をオフショア開発で行う理由
アドオン開発は、自社内で行うか外部に委託するかどちらかになります。
外部に委託する際、「オフショア開発」で行うという手段があります。
オフショア開発とは、システムなどの開発業務を人件費の安いベトナムなどの国に委託をすることです。
オフショア開発には、「コスト削減」と「リソースの確保」の2大メリットがあります。
日本より人件費が安いため、開発コストの半数以上を占める人件費を抑えるだけでなく、日本もしくはそれ以上のスキルを持った優秀なエンジニアを確保できます。
このメリットを踏まえて、SAPのアドオン開発をオフショア開発で行う理由は以下が挙げられます。
|SAP人材の確保
日本のIT人材不足は年々深刻化しています。2030年には、IT人材が79万人不足するという予測が出ており、中でもSAP人材は1万人以上不足するといわれています。
オフショア開発であれば、SAP人材を確保することが可能です。
オフショア開発の委託先には、中国・インド・ベトナム・フィリピンなど多岐に渡りますが、近年、日本企業がオフショア開発先として約半数も選んでいる国が「ベトナム」です。
ベトナムは、国を挙げてIT人材を育成しており、エンジニアの数も年々増え続け、数多くのオフショア開発を受け入れてきた結果、エンジニアのスキルも向上しています。
SAPの案件も多く経験しているため、SAPに関するリソースも十分にあります。
|開発コストの削減
アドオン開発の課題である「開発コストが増える」ことに関しても、オフショア開発であれば日本で行うより約1/3のコストでの開発を実現できます。
システム開発にかかるコストは、人件費に拠るところが大きいです。
開発に関わる人数が多いいほど、また、開発期間が長くなるほど開発コストは増えていきます。
そのため、日本より人件費の安いオフショア開発でアドオン開発を行うことで、コストを抑えつつ、高品質な開発ができるといえるでしょう。
弊社VNEXTでは、独立した品質管理部署により、ベトナム人エンジニアが開発したシステムを日本人エンジニアがチェックするため、日本と変わらない品質を保証しています。
|オフショア開発で実施する不安点
実際に、開発業務を海外に委託するオフショア開発には不安点もあります。
以下では、主に懸念される不安点を2つご紹介します。
|考慮不足・知識不足によるバグ
小さめのタスクは順調にこなせるが、大きめの改修は「考慮不足」や「知識不足」によりバグが発生してしまったというケースがあります。
原因の1つとして、開発経験が浅く、2〜3年と経験不足なところがあったためです。
SAPのアドオン開発には、前述の「ABAPプログラムの種類」でもご紹介した通り、さまざまな種類があるため、開発経験が豊富なSAPエンジニアを選ぶことが重要です。
|コミュニケーションコストがかかる
オフショア開発の難関ともいえるのが「言語の壁」です。
言語が違うということは、文化や認識も異なるということです。
日本では当たり前、行間を読むといった習慣は海外にはなく、基本的に仕様書に書かれたことしかやらないと思った方がいいでしょう。
たとえば、業務帳票をレイアウトしてPDFを作成する場面において、設計書で項目を並べているが、日本人なら表を並べるなどの細やかな視点があるが、海外ではズレがあり、指摘することがあったというケースがありました。
この場合、日本側から指摘をしますが、指摘した時はできるが、その後はまた同じことを繰り返してしまい、この部分のやりとりに工数が割かれてしまいます。
このようなことを防ぐためにも、お互いの文化・認識を把握し、共通のフォーマットを使う、やってほしいことは全て要件に書くなどの工夫が必要です。
|オフショア開発で実施する際の対策
SAPのアドオン開発をオフショア開発で実施する際の対策として、以下の2点を押さえておきましょう。
|経験豊富なSAP人材がいる会社を選ぶ
SAPのアドオン開発実績があることは大前提で、開発に関わるSAP人材のスキルと経験を見極めることが重要です。
ABAPであれば4年以上の経験、SAPのコンサルタントであれば最低3年以上の経験がある人材がいるオフショア開発会社を選びましょう。
また、言葉の壁や文化の壁を越えて委託先と現地スタッフの架け橋をしてくれる役割を担っている「ブリッジSE」にもSAPに関する経験が必要です。
ブリッジSEは、コミュニケーションの支援だけでなく、技術スキルもなくてはなりません。
エンジニアが直面する技術的な問題を理解し、解決策を提供する必要があるためです。
オフショア開発には、コミュニケーターやブリッジSEが必須となるため、エンジニアだけでなくこの人材スキルも必ずチェックしましょう。
|コミュニケーション体制が構築されている
前述のように、オフショア開発には「言葉の壁」があります。
お互いにしっかりとコミュニケーションをとることが、オフショア開発を成功させる鍵となります。
そのため、プロジェクトチームに日本とオフショア先のコミュニケーション支援をするブリッジSEが開発チームにアサインされているかを確認しましょう。
日本語や日本文化の教育に力を入れて、日常的にコミュニケーションがとりやすい環境が構築されている、オフショア開発会社に委託することをおすすめします。
|サポートの充実度
システムは開発後にリリースして終わりではありません。
トラブルが起こらないように原因を排除したり(運用)、不具合が発生した時の対処(保守)は欠かせません。
開発会社によっては、リリース後の「運用・保守」を一貫してサポートしていない場合があります。
その場合は、運用・保守を別会社に依頼をすることになりますが、開発に携わった会社に任せた方が、自社システムに対する理解が深く、安心感があるため、同じ開発会社に依頼をすることをおすすめします。
リリース後のサポート体制がどのようになっているのかをしっかり確認しておきましょう。
多くのオフショア開発会社から自社に合った会社を選ぶことは、骨の折れる作業です。
下記の「オフショア開発チェックシート」では、オフショア開発を選定する際のチェックシートが付いていますので、ぜひ活用してみてください!(無料でダウンロードできます)
|まとめ
SAPのアドオン開発は、標準機能で実現できない機能に対処する際に使用されます。
アドオン開発を行う目的は、主に下記の2点となります。
― 他社との差別化
― 不足している機能を補う
一方で、アドオン開発には「開発コストがかかる」「バグが発生しやすい」「運用の複雑化」といった課題もあります。
アドオン開発は日々の業務を改善してくれる可能性がある開発手法ではありますが、導入方法によっては社内システムを崩壊させる可能性もあります。
アドオン開発を行う際には、信頼できるベンダーを選定することをおすすめします。
弊社VNEXTでは、これまで多くのSAP開発・導入支援をはじめ、アドオン開発の実績もあります。
SAPの認定パートナーでもあり、SAPラボチームも構築しております。
開発体制では、ABAPを4〜8年経験しているPMや技術リーダー、SAPエンジニア、SAPブリッジSE、SAPコミュニケーターもアサインしています。
SAPコンサルタントから上流工程、開発〜運用・保守まで一気通貫でサポートしているため、安心してアドオン開発をお任せください!
>>SAP開発・導入支援サービスの詳細はこちら
以前実施した「SAPのアドオン開発(ABAP)をオフショア開発で実施する不安と対策」をテーマとしたセミナーの資料を、下記バナーより無料ダウンロードできますので、こちらも併せてご参考にしてください。