IT用語の基礎の基礎を、初学者や非エンジニアにも分かりやすく解説する本連載、第5回は「ローコード/ノーコード開発」です。ITエンジニアの自学用、エンジニアと協業する業務部門の仲間や経営層への解説用にご活用ください。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
ローコードとは、高度なコーディング知識や経験を必要とせず、GUI(グラフィカルユーザーインタフェース)と最小限のコーディングでアプリケーションを開発する手法やそのプラットフォームのことです。一方ノーコードは、コーディングを行わず全てGUIでアプリケーションを開発する手法やそのプラットフォームのことをいいます。
ローコード/ノーコードの開発環境では、一般的なアプリケーションが持つ機能を部品化し、それらを画面上で組み合わせることで、直感的なアプリケーション開発を実現しています。非ITエンジニアであってもアプリケーションを開発でき、ビジネスアイデアを手軽に実現できるツールとして現在世界的に注目されています。
ローコード/ノーコード開発は近年急速に開発プラットフォームが増えていますが、考え方や技術自体は古くから存在しており、決して新しいものではありません。現在の日本における流行の一因として、経済産業省がDXレポートで警告した「2025年の崖」(※1)をきっかけとした、DX(デジタルトランスフォーメーション)の推進が挙げられます。
日本におけるITエンジニア不足と、ユーザー企業における内製化(※2)の推進などが、ローコード/ノーコード開発がもたらす恩恵とマッチしたことによりここまで流行したものと考えられます。
ローコード/ノーコード開発には、以下のようなメリットとデメリットがあります。
3.1.1 技術的なハードルが低い
ローコード/ノーコード開発は、開発の大半がGUIの操作となることから、一般的なアプリケーション開発と比較すると技術的なハードルが低くなります。これにより、コーディング技術がない、またはコーディング経験が浅い人材であってもアプリケーション開発に取り組むことが容易になります。IT部門だけでなく実務部門でもアプリケーション開発が可能となることにより、迅速にビジネスアイデアを形にできます。
3.1.2 開発期間の短縮
ローコード/ノーコード開発は、プラットフォームが用意した部品を使って開発します。部品を利用することでコーディング量が大幅に減る分、コードの記述ミスも少なくなり、開発工数を削減できます。非ITエンジニアでも活用できる点がローコード/ノーコード開発の良いところですが、システム開発経験があるITエンジニアが活用することで、より迅速かつミスの少ない開発が実現可能になります。
3.1.3 安価で開発できる
上述したメリットと関連しますが、技術的なハードルが低いことにより高額なエンジニアの工数が削減できること、および開発期間の短縮はコストの削減に直結するため、安価な開発が可能といえます。思い付いたビジネスを短期間でスモールスタートできる点は大きな魅力です。このような点から、大企業と比較して資金が乏しい中小企業やスタートアップ企業と相性が良く、既に成功事例も存在します。
3.2.1 扱える機能が限定的
プラットフォーム上で開発する以上、扱える機能やデザインは選択したプラットフォームが備えるものに限定されます。ローコード開発ではある程度の機能不足や拡張性の問題は自力で解消できますが、ノーコードではこのデメリットがより顕著です。このような理由から、複雑な機能が要求されるシステムやデザインにこだわりたいシステムには不向きといえます。プラットフォームを選択する際は、実現したい処理が実装可能か、また将来のシステム連携の可能性なども考慮が必要でしょう。
3.2.2 プラットフォームへの依存度が高い
上述の通り、ローコード/ノーコード開発では扱える機能や部品が開発プラットフォームに依存します。そのため、選択した開発プラットフォームのサービスが終了した場合は、開発の継続はもちろん、開発したアプリケーションが利用できなくなる可能性など、さまざまなリスクがあります。
例えばJavaアプリケーションの開発環境であれば、作成したプログラムを出力するなど比較的容易に移行可能ですが、ノーコードの開発環境を別の開発環境へそのまま移行することは困難で、ほとんど一から作り直すこととなります。
3.2.3 セキュリティとガバナンスの懸念
上述したデメリットと関連しますが、セキュリティや処理性能などの非機能要件(※3)においても開発プラットフォームに依存します。検討しているプラットフォームがどのような基盤でサービスを提供しているか、どのような認証機能を有しているかなど、精査する必要があります。
また、非ITエンジニアが開発に取り組めることは、利点である一方、そもそもITエンジニアと非ITエンジニアでは、システム作りの土台となるITリテラシーやシステムに関する知識に差があります。例えば、ITエンジニアであれば当然意識するセキュリティの観点やシステムの耐久性などの考慮が漏れる可能性が考えられます。実務部門が開発にダイレクトに関わることで、機能要件を満たすことが容易になる一方、システムが備えておかなければならない非機能要件が漏れる懸念があります。
さらに、情報システム部門以外で開発が可能となることにより、情報システム部門が管理、把握できないシステムが出てくる可能性も考えられます。そのような統制が取れていない状況に陥ると、例えば情報漏えいなどの大きな事故が起こった際にも適切な対応ができないなど、さまざまなトラブルが発生する危険があります。その一方、ルールで縛り過ぎると迅速さというメリットが損なわれてしまうため、バランスが大切です。
世界的に流行しているローコード/ノーコード開発ですが、大手クラウドベンダーもサービス提供を始めるなど今後も機能はより充実していくことが見込まれます。現在デメリットとされている部分も改善されていくものと思われます。
しかし、手軽さや迅速さがデジタル化推進の大きな力になる一方、適切に利用しないと思わぬリスクにさらされてしまう可能性があります。非ITエンジニアがアプリケーションを作れる時代であるからこそ、ITリテラシーの教育は必須であり、安全にローコード/ノーコードを活用する上では、やはり情報システムに知見のあるITエンジニアと協力して進めることが大切だと考えます。
今後もノーコード/ローコードの流行は続くと思われますが、この流行を一時的なものとしないためには、上述したセキュリティとガバナンス面の課題解決が必要となるでしょう。
BFT インフラエンジニア
主に金融系、公共系情報システムの設計、構築、運用、チームマネジメントを経験。
現在はこれまでのエンジニア経験を生かし、ITインフラ教育サービス「BFT道場」を運営。
「現場で使える技術」をテーマに、インフラエンジニアの育成に力を注いでいる。
Copyright © ITmedia, Inc. All Rights Reserved.