プログラミングの現場でノーコード/ローコード開発が普及している。IT専門調査会社・IDC Japanの調査によれば、国内ローコード/ノーコード/Generative AI開発テクノロジー市場全体の2023年の市場規模(売上額ベース)は1225億円であり、23年~28年の年間平均成長率は17.1%、28年には市場規模が2701億円になると予測されるという。大幅な開発効率向上や高いスキルがなくてもコーディングができるといったメリットがある半面、デメリットも顕在化しつつあるという。専門家は「商業的なサービスや一定規模の業務システムなどを開発する場合、ノーコード/ローコードでもプログラミングに関する一定のスキルが必要となることには変わりない」と指摘する。ノーコード/ローコードの普及度合いの現状や、現場のITエンジニアが感じるメリット・デメリットなどを調べてみた。

 現在、数多くのノーコード/ローコード開発ツールが存在している。大手ベンダのものでいえば、IBMの「IBM SPSS Modeler」、マイクロソフトの「Microsoft Power Apps」、グーグルの「AppSheet」、富士通の「Fujitsu Low-code Development Platform」などがある。

「ノーコード開発とは、コードを書かなくても開発できるというもので、例えば何か画面を作成する際に、画面にいろんなパーツを入れていって、名前を付けてという感じでビジュアルで全部つくることができます。一方、ビジュアルだけではなくて必要に応じて機能を追加するためにコードを書かなければならないというのがローコードです」

 こう説明するのは、長年にわたりゲーム開発の現場に携わってきたゲームプロデューサーの岩崎啓眞氏だ。岩崎氏によれば、ゲーム開発の世界ではノーコード/ローコード開発は積極的に活用されており、明らかに開発効率は上がるものの、使える範囲は限定的だという。

エラーやバグが出たときに直せない

「まずノーコードに関していうと、パーツが用意されているだけなので、そのパーツの組み合わせ以上のことはできません。例えば、特別な処理や会社独特の機能などは基本的には実装できないことが多いです。開発・リリース後はメンテナンスも必要であり、業務フローが変わればコードを修正しなければならず、プログラミングのノウハウがない人がつくったシステムだと拡張性がなく困ってしまうケースが生じます。ですので、“書き捨て”と割り切れるシステムであればノーコード開発は便利でもあり問題ないですが、長期間にわたって稼働する企業のアプリケーションとしてつくる場合は、難しいかもしれません。また、ノーコード開発ツールで書かれたコードは中身がどうなっているのかよく分からなかったり、他のシステムとの連携でエラーやバグが出たときに中身が分からないので直せないといったパターンも生じます。

 ゲーム開発の現場でいうと、完全なノーコード開発ではありませんが、アドベンチャーゲームみたいなものだと敵が出てきてコマンドタイプを選びながら話が先に進んでいくという、ある程度定型的な展開なので、フレームワークを使ってシステマチックにつくることができます。ですが、プログラムを書けない人がローコードで開発を進め、例えば画面の中に『今日はプレイを始めてから●日目』というのを表示させる必要が出た際に、そのゲームエンジンやフレームワークにゲームのプレイ日数を管理する機能が存在しないという事態が起こり得ます。ChatGPTに聞いてプログラムを書いて、一応は実装できたとして、次から次にChatGPTを使って必要になった機能を追加していったところ、ある日突然、システムが動かなくなったというようなことが実際に起きています。

 システムを開発する際には、外部システムとの連携も想定しながら、正しい順序で正しい方法でコーディングを行う必要がありますが、中身がグチャグチャだと、動かなくなればいったん捨てて一からつくり直さないといけなくなります。つまり、ノーコード/ローコード開発もChatGPTも使うのは構いませんが、きちんとプログラミングのノウハウを身につけた上で使う必要があるわけです」