2018年頃から、新しい開発手法として急速に注目を集めているのが「ノーコード開発」と「ローコード開発」です。ノーコード開発はソースコードを全く書かずにアプリケーションを開発する手法であり、ローコード開発は少ないソースコードでアプリケーションを開発する手法を指します。

 COBOL、C/C++、Javaなどの通常のプログラミング言語は、利用するまでにプログラミングの基礎やITシステムの仕組みを学習する必要があります。

 一方、ノーコード/ローコード開発では、グラフィカル・ユーザー・インタフェース(GUI)を操作してアプリケーションを開発できます。このため、技術的なハードルが低くなり、誰でも簡単にアプリケーションを開発できます(図1)。ソースコードを書くプログラミングの工程を省力化できることから、現場部門で業務に携わっている従業員や、プログラミングはできないがITシステムをカスタマイズしたい情報システム部員にも使えるのが利点です。

図1●ノーコード/ローコード/プロコードの比較
図1●ノーコード/ローコード/プロコードの比較
出所:NTTデータ経営研究所が作成
[画像のクリックで拡大表示]

 ITエンジニアなどのIT専門家がソースコードを書くアプリケーション開発(スクラッチ開発)は、ノーコード/ローコード開発との対比で「プロコード」と呼ぶこともあります。

機能部品やテンプレートをマウス操作で組み合わせる

 業務の効率化や生産性の向上、働き方改革の推進などを目的に、官民で利用が拡大しているITツールには、RPA(Robotic Process Automation)もあります。RPAは、表計算・ワープロなどのオフィスソフトやブラウザを用いた定常業務を自動化(ロボット化)する技術です。人間が繰り返し行うクリックやキーボード入力などの定常的な一連の操作を自動化できます。

 クリックやキーボード入力などの操作をロボットに指示するためには、RPAツール上では「画面操作の記録」または「業務オペレーションのフローチャート定義」が必要です。こうしたRPAツールへの指示方法はノーコード/ローコードの概念に一致しており、RPAは「ノーコード/ローコード開発で画面操作を行う手法」と言い換えることもできます。

 ノーコード/ローコード開発のツールには、各種機能のパーツ(部品)やテンプレートがあらかじめ準備されています。それらをGUI上でマウスのドラッグ&ドロップ操作により組み合わせて、アプリケーションを開発する仕組みです(図2)。特にノーコード開発ではマウスのドラッグ&ドロップ操作だけで、画面やデータベース、業務アプリケーションのデザインが可能で、GUI上での操作の背後でソースコードが自動的に生成されます。

図2●ノーコード/ローコード開発を実現するツールの仕組み
図2●ノーコード/ローコード開発を実現するツールの仕組み
出所:日経コンピュータ 2020年7月23日号の特集の図を基にNTTデータ経営研究所が作成
[画像のクリックで拡大表示]

 一方、ローコード開発は、ノーコード開発に比べて、多少のプログラミングが必要となります。ただし、GUI上での操作やプログラムの自動生成に関する仕組みは共通しているので、プログラミングの作業量を最低限に抑えられます。