近年、話題の超高速開発「ローコード開発」をご存知でしょうか。なかには「ノーコード」と「ローコード」を混同している方もいるかもしれません。しかし、ノーコードとローコードは明確に異なるものです。
このノーコードとローコード、業務効率化のために導入するならどちらがよいと思いますか? 結論から言うと、ノーコードよりもローコードを導入すべきです。
この記事では、実際の開発手法を含め、ノーコードとローコードの違いなどを解説し、ローコードを導入すべき理由についてお伝えします。今後、社会環境の変化や、多様化するニーズに迅速に対応し、課題解決の機会が増える組織には必見の内容ですので、ぜひ参考にしてみてください。
1. ローコードはカスタマイズ性が高い
まず「ローコード」と「ノーコード」の違いについて考えてみましょう。「ノーコード」とは簡単にいうとソースコードの記述をせずに、アプリケーションや Web サービスの開発ができる手法です。
通常はソースコードを書いて開発しますが「ノーコード」はソースコードの記述が不要であるため、より早くサービスの開発が可能になります。未経験者であっても Web サービスの開発ができることからその手法が注目されているのです。
しかし、メリットもあればデメリットもあります。「ノーコード」はカスタマイズに弱く、拡張性が低いことが弱点です。あらかじめ用意されている素材やテンプレートの範囲でしか開発ができません。例えば Web サービスでは、グラフィックの美しさや全体の構成、動作の面白さなどはノーコードでは表現できません。
「ローコード」はソースコードが最小限の必要な部分だけをコーディングする手法です。必要な部品を組み合わせて、1 つのアプリケーションを作り上げていく手法です。
ローコード開発では、グラフィカル・ユーザー・インターフェース( GUI )と呼ばれる視覚的な画面を使って操作を行い、画面部品やロジック部品を組み合わせ、工程を省略または自動化します。このことにより、これまで行ってきたシステム開発と比較して、短い開発期間で高品質かつ安定したシステムを開発することが可能です。「ローコード」は工程を省略または自動化して行えるため、カスタマイズ性が高く再現性も高くなることがメリットになります。
2. ローコードは自動化に向いている
「ローコード」は工程の自動化に向いているため、そのメリットは開発の速さと自動化による生産性の向上にあると言えます。 IT や DX 化がめざましく発展するなかで、開発やその対応についてもスピードが求められています。また速さだけでなく、機能や安定性など品質も向上させなければなりません。
しかし、 IT 業界には大きな課題があります。それは、深刻な人材不足です。日本は諸外国と比べ、エンジニアの増加率が低い傾向にあります。日本特有の流動性の低い雇用環境により IT 専門のエンジニアが育ちにくいため、人材不足を避けられない事態になっているのです。このようなことから、工程の自動化に向いている開発の手法である「ローコード開発」は IT 業界にも大きな革新となっています。
たとえばローコード開発ツールとして世界で 100 万人以上のユーザを擁する Claris FileMaker では、作業を自動化するためのスクリプト作成が日本語で、容易に作成できます。顧客データベース内の、前週に購入した顧客に自動でお礼のメールを送ったり、サブスクリプションを解約する顧客に対して特別なオファーをメール送信し、営業担当者にも同時にメールを送信するといった複雑な一連のタスクを定義することができます。送信前に人の目で確認してから送りたい場合には、それぞれの顧客に合わせた電子メールが完成するとプレビューモードに切り替わり、一時停止するようなスクリプトを用意しておくこともできます。これらの作業はすべて、レイアウト上のボタンをクリックしたり、タイマーで自動化したり、外部システムからのトリガーをきっかけにして処理できます。
3. ローコードはプラットフォームへの依存性が低い
「ノーコード」の場合には、上述したようなスクリプトを標準機能で使うことができず、機能拡張したい場合や外部サービスと連携する場合には別料金が発生したり、逆に高度な技術がないと実現できなかったり、特定のブラウザでなければ動かないといったことが多いでしょう。
しかし、「ローコード」の場合は GUI と、簡素なスクリプトや計算式の記述でプログラム構築できます。ノーコードツールと違い、コーディングが可能なのでユーザーが外部システム、外部ハードウェア、外部のWeb サービスと連携したいときに、さまざまな形で連携を実装しマルチプラットフォームで動く製品が多いのが特徴であり魅力と言えます。ノーコードにおける開発の制約や制限をコーディングやプログラミングによって緩和できるのです。
特に FileMaker の場合には、開発の自由度が高くなり、さまざまな拡張を行えるので、用途が限定されません。自由度や拡張性が高いというのは、たとえば顧客から「こんな機能が欲しい」という要望に対して幅広く対応できることを意味します。ローコードはプラットフォームへの依存性が低いため「ノーコード」よりも顧客のさまざまな要望に応えることができ、開発の幅が広がります。
例えば、Osaka Metro では、Bluetooth 機能を内蔵したアルコールチェッカーと iPad を連動させて短時間での確認と入力が行えるようにアプリ開発したり、泉南新家クリニックでは、透析患者の体重計と連動して値を自動入力したり、ベッドサイドで画像保存やデータ入力参照が可能になり、システム操作の効率化と記載漏れをなくすことができています。
4. ローコードは複雑なシステムにも対応できる
上で述べたように「ノーコード」のツールは、ある程度形の決まったテンプレートや特定のプラットフォームなど、シンプルなロジックのシステムにしか対応できません。しかし、ローコードツールは、他のソフトウェアやシステムと連携できる機能を搭載しています。この連携機能を利用してコーディングを行えば、社内の既存システムと連携する新たなシステムの構築が可能です。
また、ローコードで作成したシステムから既存ツールへ自動的に通知するというような連携もできるなど、作業の効率化や自動化が期待できます。このようなことから、複雑で大規模なシステムの場合はローコードの方が向いていると言えるでしょう。
要件定義や機能設計をする際には、実現したい業務範囲や規模をあらかじめ考慮したうえで進めていく必要があります。また、ツールの特性を熟知していることも求められます。扱う要件の規模によって、最適な開発ツールを選べば幅広い対応が可能となります。
5. ノーコードでも要件定義などのスキルは必要
ここまで「ローコード」と「ノーコード」の違いや利便性などを書いてきましたが、その技術的な差を端的にいうとコードを書くか書かないかです。
ローコード開発は、コーディングやプログラミングのスキルが多少必要になるので、ノーコード開発と比較すると習得の難易度は高くなると言えます。プログラミングの知識や経験を必ずしも必要としない、知識としてコードやコーディングについて深く知らなくてもよいとは言え、最低限のツールの操作学習は必要です。その点、FileMaker の場合はスクリプトの記述の大部分を日本語で対応できるため、より短時間で習得できます。
システムが複雑かつ大規模になれば、すべてをノーコードで実現するのは困難になります。また、コーディングの必要がないだけであって、要件の定義や全体の開発における設計は自分で行わなければならないため、ノーコードツールを使いこなすにも最低限のデジタルスキルは必要です。
大規模なシステムになれば、どちらにせよある程度の開発スキルは必要になるので「完全ノーコード」での開発のメリットは薄れてきます。総合的には「ローコード」による開発の方がよりメリットが大きいと言えるでしょう。開発、導入後にシステムを拡張することを考えても、ローコードを選択することで、将来的な可能性を残しておいた方が有益です。開発スピードは勿論のこと、作成できるアプリケーションのクオリティーの高さなども忘れないようにしたいものです。
まとめ
ノーコードとローコード、それぞれにメリットやデメリットがありますが、総合して「ローコード」による開発の方が開発のスピード、クオリティーの面での優位性が高いと考えられます。その他にも、機能の拡張性や自由度の高さも含め、既存システムとの連携が可能なところもメリットと言えるでしょう。ある程度のクオリティーを担保しながらフルスクラッチよりも迅速かつ低コストである点もメリットです。
IT 業界の慢性的な人材不足のなかでシステム開発のスピードがその企業の命となり、品質と安全性も問われるような状況で、「ローコード」による開発はさまざまなメリットをもたらしてくれます。プログラミング未経験者がこれを機に業界に参入し経験を積むことで、将来コーディングなど幅広い開発ができるような人材として育っていく可能性も秘めています。今後も超高速開発「ローコード開発」に注目です。