いま注目されているローコード開発はご存知でしょうか。おそらく言葉としては聞いたことがあるのではないでしょうか。
近年、コロナ禍などの影響や、ITエンジニアの慢性的な人手不足により、ビジネス環境は大きく変化しており、今現在も変化は加速しています。
ビジネスチャンスを逃したくないという事業会社のニーズに応えるために、超高速開発手法と言われるローコード開発が急速に伸びているのです。
では、ローコード開発とはどのような開発手法なのか、メリット・デメリット、何故いま注目されているのかなどを本記事では解説いたします。
代表的な製品やサービスなどの紹介もしますので、今までふわっと理解されていた人も具体的にイメージできるようになるかと思います。
Contents
ローコード開発とは?
ローコード開発とは、できるだけソースコード書かずにアプリケーションを開発する手法で、日本では昔から「超高速開発」や「爆速開発」とも呼ばれています。
視覚的なツールを使って、画面部品やロジックなどからコンポーネントを組み合わせてアプリケーションを開発し、その結果からプログラムを自動生成させることで、従来のシステム開発より短期間で高品質なアプリケーション開発を可能にする手法です。
また近年では、まったくコードを書かずにアプリケーション開発できるノーコード開発ツールも大きく進化しています。
従来の開発とローコード開発の違い
従来のシステム開発では、要件定義や外部設計、詳細設計の工程で決めた仕様を、Excel や Word などのドキュメントに記載してきました。そして、プロラミング工程では、ドキュメントに書かれた仕様に基づきソースコードを作成し、テストを実施して問題なければリリースする流れでした。
システムの規模が大きくなると、設計ドキュメントは数千から数万ページにまでに及ぶことがあります。これらを完全に全ての開発者が理解し、プロラミングに落とし込むのは現実的に不可能で、設計書と実際のソースコードで乖離が発生することがしばしば発生します。
一方で、ローコード開発では可視化されたGUIツールで設計した内容がプログラムコードとして自動生成できるため、設計内容との乖離が発生しづらく、開発期間•工数の短縮や、単純なコードミスによるバグなどがない安定したアプリケーションを構築することが可能です。
また、仕様変更などによりシステムを変更する際にも、影響箇所を調査しやすく、内容によっては自動的に影響を受ける箇所を修正してくれることがあります。
このように、ローコード開発には工期短縮とコストの削減をしつつ、高品質なシステム開発ができることが期待されています。
何故ローコード開発が注目されているのか?
現代のビジネス社会は変化が激しく、業界を問わずDX(デジタルトランスフォーメーション)に対応することが求められています。
世界情勢や国のDX化への推進もあり、多くの企業がITを活用したビジネスに転換しており、これまでITの活用が進んでいない企業も、DX化の波に逆らわずして利益を生み出すことは難しい状況です。
特にアメリカなどの海外ではローコード開発に早くから注目しており、これまで開発者として参画してこなかったリソースでもローコード開発なら実装できる可能性が大きいということから、生産性の向上を目指し、導入している企業が非常に多いのも特徴です。
企業のIT部門においては、ビジネスチャンスを逃さないために、現場へ素早くシステムを提供することが求められており、従来のシステム開発方式からの変革が求められています。
こうした背景から高速で安定したシステム開発が可能で、ユーザーに実際に動くものを見せながらアジャイル的に開発ができるローコード開発が注目されています。
ローコード開発のメリット
生産性アップと開発工数削減
従来のシステム開発では、要件定義や外部設計などの工程で作成したドキュメントを見ながら、プログラマーがすべてコーディングを行い、機能を開発するため、プログラム工程に多くの期間とコストが必要でした。
ローコード開発では、優れたツールを生かして設計を行うことで、従来のドキュメント作成を一部省略することができます。さらに、ツールに登録した設計内容からソースコードを自動生成できるため、設計内容との乖離が発生しにくい高品質なコードにより、プロラミング工程における開発期間とコストを削減することが期待できます。
品質の向上
従来のシステム開発では、すべてのソースコードがエンジニアによるコーディングにより作成されます。当然のことながら人が作成したコードには少なからずミスがあり、それがシステムのバグに繋がります。テスト工程でこれらのバグを潰していく必要があります。
ローコード開発では、基本的には品質が担保された個々のコンポーネントを組み合わせることや、ツールによってシステムの整合性が守られているため、バグが発生しにくいと言えます。
また、意外と費用がかかるセキュリティ対策も、ツールベンダーが提供する機能を使うため、基本的にはセキュリティ対策が施されています。
技術的ハードルが低い
従来の開発では、C++、Java、PHP、HTMLなどのプログラム言語を駆使してシステムを開発するため、これらの言語の高い技術を持ったエンジニアが必要でした。
一方で、ローコード開発ではGUIツールで視覚的にシステムを構築でき、必ずしもプログラム言語の知識を必要としないため、技術的ハードルが下がり、これまで SIer などに委託していたシステム開発を、ユーザー企業自身が行うことも可能になりました。
これによって、これまで IT の導入が進んでいなかった中小企業でも、自社でシステム開発が可能な環境を得ることができ、日本でもDX化が進むことが期待でます。
より付加価値が高い設計工程に注力できる
プロラミング工程のコストが削減できることで、要件定義などの設計工程に注力することができ、エンジニアの単純労働を減らして、設計作業や顧客とのコミュニケーションに注力し、より高い付加価値を生む作業にリソースを集中できます。
新しい技術やマルチデバイス対応
ローコード開発ツールは、マイクロソフトや Salesforce などの世界をリードする大手 IT 企業が提供しているため、新しい技術に対応するよう日々アップデートが行われており、昨今では AI などの技術を使った分析ツールなども、ローコードツールに取り入れられています。
マルチデバイスにも対応しており、登録した設計情報から Windowsやスマートフォン向けのアプリに最適化されたコードを自動生成することも可能です。
業務しシステムにおいても現代ではマルチデバイス化が求められており、ローコード開発ツールはこういった要件にも対応ができます。
ローコード開発のデメリット
ツールの制約による機能制限
従来のシステム開発では、エンジニアがソースコードを全て作成するため、ユーザーからの細かい要件にも対応することが可能でした。
反面、ローコード開発では、開発ツールが提供するコンポーネントを組み合わせてシステムを実装するため、ツールが提供していない機能を実現することが難しいケースがあり、実装機能が制限され、完全にユーザーからの要望に応えられないことがあります。
ツールの知識を有るすエンジニアが必要
ローコード開発ツールは、GUIベースのツールで開発ができるため、C++ や Java などの言語に比べて比較的早く覚えることが可能ですが、それでもツールを熟知していないと品質の高いシステムは構築できないため、ローコード開発エンジニアの採用または育成が必要になります。
また、ローコード開発では設計工程に重点を置きます。ツールに登録した設計情報からソースコードを自動生成するため、プロセス設計やビジネスルールなどの設計はより詳細に行う必要があります。さらに、ツールで出来ないことを設計に盛り込んでしまうと、後からの手戻りも大きくなってしまうため、事前に機能制限を把握した上でユーザーと仕様の調整を行う必要があります。
ローコードとノーコードの違いとは
まったくコードを書かずにシステムが構築できるノーコード開発も、近年リリースされています。ローコードと同じように GUI ツールを使ってシステムを構築する点で同じで混同されることもありますが、ノーコード開発はその名の通りプログラムの知識を必要とせず、ツールのインターフェイスも誰でも開発ができるように簡素化されています。
ノーコード開発は、基本的なユースケースを解決したいユーザーにとって最適なツールであり、1つの部署で使用する小さなアプリケーションを作るのに向いています。
逆にコードが書けないノーコード開発は、ローコードよりも機能に制約が多く、柔軟性に欠け、そのほとんどがクラウド上で動作するため、特殊なユースケースにおいては適用が難しいケースもあります。
ローコード開発の製品やサービス事例
kintone
Kintone はサイボウズ社が展開するローコードプラットフォームで、案件管理や勤怠管理、ワークフローなど、あらゆる業界に対応できるツールです。Kintone には部署・業種別に100以上のサンプルアプリが用意され、サンプルアプリをそのまま使うことも、デザインやフォームの内容をカスタマイズして使うこともできます。
メンション機能がついたチャット機能もあり、社内のコミュニケーションツールとしても活用が可能です。
導入実績が 20,000社を超える kintoneは、業種を問わず多くの企業で採用されている国産のローコードプラットフォームと言えるでしょう。
Microsoft PowerApps
Microsoft PowerApps は マイクロソフト社が提供するツールで、PowerPointのような直観的な操作性と、Excel のような関数やマクロを使う感覚で簡単にアプリ開発ができるローコードプラットフォームです。
ライセンスを PowerApps 単体で契約することも可能ですが、Office 365 や Microsoft 365 などのサブスクリプション契約することでも利用可能です。
大規模なシステム開発を作るには厳しい面がありますが、普段不便に感じている業務などを効率化する「ちょっとしたツール」を作るには最適なツールです。
Salesforce Lightning Platform
CRMツールとして、トップレベルのシェアを誇る Salesforce社が提供しているローコードプラットフォームが Salesforce Lightning Platformです。
Salesforce CRMで提供されている機能を利用したり、ノーコードで多彩なロジックを組み立てることができます。また Javaや.NETに似たプログラミング言語であるApexを使って処理をカスタマイズしたり、Salesforce 製品の豊富な API を利用できるのが特徴です。
HCL Domino Volt
HCL Domino Voltは、企業のユーザー部門でも、Webブラウザ上でアプリケーションを開発できる容易さが売りのローコードプラットフォームです。ブラウザ上のツールから入力フィールドを定義してフォームを作成したり、Excelからインポートしたデータからアプリケーションを作成することができます。
まとめ
これまでの解説から、ローコード開発がトレンドになりつつある今、企業側の都合もあり、ビジネスを加速されるためにシステム開発の効率化、高速化が求められます。
また、ITエンジニアの深刻な人手不足は今後も更に加速することが予測されています。こういった背景もあり、ローコード開発のし上はさらに広がるでしょう。
ガードナーは2024年までに世界中のアプリケーションの65%以上はローコード開発により構築されると予想しています。
これまで専門的な知識や経験が必要とされてきたエンジニアですが、ローコード開発であれば今後は未経験者、経験の浅い人でもシステム開発が可能となりますので、状況は一変する可能性もあるのです。
ローコード開発の市場が広がることにより、エンジニアに求められるのは熟練した開発経験やスキルではなく、コミュニケーション力や問題解決スキルが重要視される時代になるでしょう。
これまでエンジニアになるのはハードルが高いと躊躇されていた方も、改めて転職を考えてみても良いのかもしれません。
また、常に技術を追求することに疑問を抱いていたり、エンジニアとして壁にあたっているような場合、ローコード開発という手法についても学んでみてはいかがでしょうか。