1.エンドユーザ開発とは
エンドユーザ開発(EUD:End User Development)とは、情報システムを利用して業務を行う社員(=エンドユーザ)が業務に必要なアプリケーションを自ら開発・運用することです。
かつて、Lotus Notes(ノーツ)というデータベースを容易に開発・実行するソフトウェア製品が大流行し、ノーツを用いたEUDによって、掲示板、文書管理データベースなど非常に多くのアプリケーションが生み出されました。その後も、ノーツと同様にEUDを促進する機能を持った数多くのグループウェア製品が誕生しています。また、Microsoft社の表計算ソフトExcelで作成する表にはマクロというプログラムを簡単に作成し追加することができるため、EUDによく用いられます。
2.エンドユーザ開発のメリット
EUDには次のようなメリットがあります。
1)アプリケーションの要件定義からプログラミング・テスト、利用までを同じユーザが行うため、業務要件を誤解することなく、アプリケーションの設計・ソースコードへスムーズに反映できます。画面やテーブルに項目を追加するといった、アプリケーションを開発中の要件や設計の変更も対応しやすくなります。
2)グループウェア製品やExcel等のEUD基盤ソフトのベース機能を用いると追加機能のみプログラミングすることでアプリケーションを割と容易に開発できるため、ユーザが日頃の業務をしながら直営で開発と保守を行えます。つまり、追加費用が不要です。
そこで、一般の情報システム開発を統制するIT部門が開発要員や予算等のリソースを割り当てられずに蓄積するニーズ、すなわち情報システム開発のバックログの一部を解消することができます。
3.エンドユーザ開発のデメリット
一方、EUDには次のようなデメリットがあります。
1)追加費用が不要でも、実際にはユーザの直営人件費の一部が費やされており、厳密に言えば投資です。EUDではアプリケーション1つ1つの投資額は小さいですが、同種のアプリケーションが社内に複数存在し、総計すると大きな多重投資を引き起こすことがあります。
2)画面のレイアウトなどが標準化されないため、アプリケーション毎に操作方法が異なり、複数のアプリケーションを使用するときに操作習得の手間が発生します。
3)EUDでは通常、アプリケーションの設計書等のドキュメントを作成しません。
そのためアプリケーションの開発・保守が属人化し、開発したユーザが異動するとアプリケーションの改良、バグの修正などの保守が困難となります。ノーツ等の基盤ソフトウェアをバージョンアップする際、完全な上位互換性が提供されないためアプリケーションの改修が必要となりますが、それも困難です。
4)EUDで開発するアプリケーションに情報セキュリティの脆弱性対策が適切に施されず、ウイルス感染や情報漏えいを引き起こすことがあり得ます。また、レアケースですが、財務諸表に係る計算を行うEUDアプリケーションがJ-SOXのIT統制対象となる場合、適切に管理できない問題もあります。
4.今後のエンドユーザ開発
メリットが活きる適用シーンに絞りつつ、デメリットに対処しながらEUDをうまく使いましょう。
適用シーンとして、例えば、業務パッケージソフトウェアを導入するとき、なるべくカスタマイズを抑えることが必要です。そのため、パッケージからデータをExcelに出力し、業務に合わせた加工処理をExcel上のEUDで開発することが有効です。
IT部門がEUDの調整役(ブローカー)の役割を備えることで、同種のEUDアプリケーションが社内に複数存在するデメリットを抑えることが考えられます。
また、アプリケーションの雛型や部品(画面、基本機能)を持つ基盤ソフトやPaaSを採用することによって、操作性をある程度統一し、ユーザによるアプリケーションの保守・改修の手間を緩和することが可能です。それでも、属人性が残る場合には、基本的に開発者の配置転換時にEUDアプリを廃棄し、業務上不可欠となっているものは、IT部門にて再開発するという運用も考えられます。
近頃、大規模な情報システムの開発においてITベンダに開発を丸投げせず、業務要件を正しくプログラムまで伝えてビジネスや業務における情報システムの効果の最大化を図る、ユーザ主体の情報システム開発や開発の内製化が提唱されています。このユーザ主体開発はEUDと強い関連があるため、今後の動向を注目したいと思います。
[参考]
システムイニシアティブ研究会 http://system-initiative.com/HTML/index.html
————————————————————————
■執筆者プロフィール
岩本 元(いわもと はじめ)
ITコーディネータ、技術士(情報工学部門、総合技術監理部門)
&情報処理技術者(ITストラテジスト、システムアーキテクト、プロジェクトマネージャ、システム監査他)
企業におけるBPR・IT教育・情報セキュリティ対策・ネットワーク構築のご支援