特集
» 2015年10月15日 10時00分 公開

すご腕アナリスト市場予測:「革新システム」構築を加速するノンプログラミング開発の行方 (1/5)

情シスと業務部門が持つジレンマの解決に貢献するノンプログラミング開発。その特徴や普及状況、導入事例まで、その実態に迫る。

[片山治利,ガートナー ジャパン]

アナリストプロフィール

片山治利(Katayama Harutoshi):ガートナー ジャパン リサーチ部門 アプリケーション開発 リサーチディレクター


 「コーディングせずにアプリケーションが完成する」とうたうノンプログラミングツールが続々登場している。「情報システム部門に任せていてはいつまでたっても欲しいITサービスが受けられない」と嘆く業務部門にとっては飛びつきたくなるうたい文句だ。

 一方、「業務アプリケーションには品質が肝心。自社で改修ができないプログラミングで大丈夫なのか」というIT部門の声にも妥当性がある。IT部門の人手不足や予算不足で業務部門のニーズに適時に対応できないことが多い現状の中で、このジレンマを解消し、両者が手を携えて会社の利益を追求するにはどうすればよいのか。

 ノンプログラミングツールの特徴を理解し、それぞれの立場で上手に利用していくことが、1つの解答になりそうだ。

ノンプログラミングツールとは何か

 プログラムの自動生成ツールはメインフレーム全盛の時代から利用されてきたが、それはコーディングをよく知る開発部門がプロジェクトの都合に応じて利用してきたものだ。現在注目されているノンプログラミングツールは、実際に業務に利用できる「本物」のアプリケーションを、コーディングレスで構築できるように進化している。これは従来のアプリケーション開発の大半を占める詳細設計からコーディング工程の多くを自動化し、開発工期を著しく短くすることができる。「超高速開発」ツールと呼ばれることもあるのはそのためだ。

 現在利用されているノンプログラミングツールの主流は、オンラインで対話的に処理を行うアプリケーションを作成するもので、主に3つのタイプがある。

 1つはデータモデルをツールが作成し、専用のデータベースをツール内部に持つ、クローズした構造をとるタイプ、もう1つは既存でも新規でもよいがツールの外部のデータベースを利用し、そのデータを業務ロジックに即して作成した画面から利用するタイプだ。

 前者は閉じられた領域での新規アプリケーション開発に採用されることが多く、後者は既存のシステムにも取り入れることができる。前者も後者も基幹系システムにも利用できるが、現時点では大規模な開発に採用された例は少ない。

 そしてもう1つ、最近では基幹系で多用されるバッチ処理系のアプリケーションも自動構築できるツールも出てき始めた。

ペースレイヤー戦略の中でのノンプログラミング開発の位置付け

 これらのツールをどのように活用していけるのかを考えるベースとして、ガートナーが提唱している「ペースレイヤー戦略」の考え方に即して位置付けてみるとよいだろう。

 ペースレイヤー戦略とは、アプリケーションを使用目的と変更頻度でレイヤー分けし、レイヤーごとに最適な管理とガバナンスのプロセスを定義する手法のことだ。図1 のように、アプリケーションを「記録システム」「差別化システム」「革新システム」の3つのレイヤーに分けて考える。

アプリケーション開発の「ペースレイヤー」の考え方 図1 アプリケーション開発の「ペースレイヤー」の考え方(出典:ガートナー)

記録システム

 図1の最下層に当たる「記録システム」の代表は、どの会社にもあるERPのバックボーン機能が担当するような基幹系システムだ。顧客や製品などのマスターデータを管理し、顧客、販売パートナー、仕入先などとの間のトランザクション処理を行う機能などが中心となる。

 あまり会社の独自性にかかわる部分が少なく、確固としたほとんど不動のプロセスが組み込まれているため、改修は数年に一度などという少ない頻度で済む。差別化戦略にはほぼ無関係なので、パッケージの適用やSaaSの利用が一般的だ。

 とはいえ、万が一にも処理ミスがあってはいけないので、設計時から綿密に品質を考慮したウォーターフォール型開発がふさわしい。マラソンランナー型、品質重視型のアプリケーションといえる。

 バッチ処理も多いのでノンプログラミングツールの中でもバッチ処理系アプリケーションを構築できるツールは利用できるし、完全な再構築のケースは多くないので、既存データベースのデータを利用するツールの一部が、このレイヤーのシステム開発に向いている。完全な再構築の場合は、データモデルから構築するツールの活用も検討すべきである。

差別化システム

 中間にある「差別化システム」は、企業固有の生産管理や販売管理、サービスなどの実行を支援する自社の独自性を発揮するアプリケーションのことだ。競争優位に立つためのシステムであり、他社と同じパッケージやSaaSを使わずに自社でスクラッチ開発するか、パッケージに大幅なカスタマイズ(追加開発)を加えて利用することになる。

 一定頻度で改修を行う必要があるが記録システムよりもそのサイクルが短い基幹系システムがこれに当たる。改修の生産性が求められるのでノンプログラミングツールの採用は有効である。タイプとしては、再構築であれば新規データモデルの構築から可能なタイプの採用も検討すべきであり、改修が主であれば、既存データベースを参照するタイプのツールの採用も有効である。

革新システム

 最上層にあたる「革新システム」は、新業態への進出、新製品、新商品、新サービスを生み出すための、実験的な要素も含んだイノベーションのための新しいアプリケーションだ。作って利用してみた結果、問題点があればすぐ修正し、新機能が必要なら追加するといったサイクルを継続的に繰り返しながら洗練させていくアプローチがとられる。

 効果が薄いと判断されれば即時に捨て去ることもあり得る。典型的なのはスマートフォンアプリなどモバイル系アプリケーションで、アジャイル開発、リーンスタートアップが有効に働きやすいレイヤーでもある。こちらはいわばスプリンター型、スピード重視のシステムだ。短期に改修を繰り返すため、生産性が高いツールを使う必要がある。ノンプログラミングツールのタイプで言えば、閉じられた領域での開発、データモデルをツール自身が作るタイプのツールが特に有効だ。

       1|2|3|4|5 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

ホワイトペーパーや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。