失敗しないノーコード・ローコード活用、属人化やロックインの功罪専門知識がなくてもソフトウェアが開発できるノーコード/ローコードには、功罪がある(写真はイメージです) Photo:PIXTA

「一般社員でも簡単にソフトウェアが作れる」と人気が高まる「ノーコード/ローコード」開発。マイクロソフトやグーグルでエンジニアとして活躍し、複数の企業で技術顧問を務める及川卓也氏は、ノーコード/ローコードツールには功罪がある、と指摘する。ノーコード/ローコードツールの特徴と、失敗を避けてうまく活用するためのポイントを及川氏が解説する。

ノーコード/ローコードへの流れは
ITの進化そのもの

 最近「専門知識がなくてもソフトウェアが開発できる」として、「ノーコード」「ローコード」開発というキーワードが注目を浴びています。英語で「NoCode」「LowCode」と書いてみると分かりやすいのですが、コードがないか、少ない開発手法を意味します。

 コードとは、プログラミング言語の文法に沿ってテキストで書かれたもの。英単語や数式に近い部分は“なんとなく”意味がわかるのですが、プログラミング言語の文法を知らなければ呪文のようにしか見えない部分もあり、決して直感的なものとは言えません。専門家やきちんと学んだ人でなければ、なかなか使いこなせないものでした。

 コードをなくす、または少なくするために、ノーコード/ローコードツールでは、テキストの代わりにビジュアルブロックを使うものが主流となっています。小学校のプログラミング学習でも使われる「Scratch(スクラッチ)」と同じように、ブロックを並べてプログラムを組んだり、画面をブロックの組み合わせで設計したりすることが可能です。

失敗しないノーコード・ローコード活用、属人化やロックインの功罪 ローコードプログラミングツール「Node-RED」の画面イメージ(GitHubより)
拡大画像表示

 ノーコード/ローコードの世界観・コンセプトは「人がやるべきことをできるだけ少なく」「専門家でなくても」「すぐに作れる(使える)」というところにあります。このコンセプトは今、急に始まったことではありません。IT・コンピュータの歴史はずっとこの流れで進化してきています。

 プログラミングは、機械(プロセッサ)が理解できるように命令を2進数・8進数・16進数といった数字で表した「機械語」と呼ばれる言語から始まりました。それを多少は人間が読める記号で扱うようにした「アセンブラ」やプログラミング言語の「C言語」、CPUの構造やメモリの扱いを意識しなくても事務処理や科学計算などの用途に直結した計算処理が行える「COBOL」「FORTRAN」など、より理解しやすく、機械を意識せずに扱える言語へと進化し続けてきています。

 その流れに沿って現れたのが、ビジュアルプログラミングやノーコード/ローコードと呼ばれるツール、プラットフォームです。