ローコード開発とは?DXを加速させる純国産ローコード開発プラットフォーム

ローコード開発とは?

今、ビジネス環境の変化に企業の迅速な対応が求められています。IT人材不足が叫ばれるなか、企業のニーズをより早く確実に勝ちを生むために「ローコード開発」が注目を集めています。ここでは、ローコード開発とはどういったものなのか、メリトット・デメリットや従来型の開発手法との違いも紹介します。

今注目されている「ローコード開発」とは?

ローコード開発(Low-Code Development)とは、ソースコードをできるだけ書かずにGUI「Graphical User Interface(グラフィカル・ユーザ・インターフェース)」で視覚的な操作により、短期間で高品質なシステム開発を行う手法です。事前に品質が担保された粒度の大きな部品を組み合わせてアプリケーションを作成できるかがローコード開発のカギとなります。

ローコード開発が注目されている理由とは?

変化が激しく不確実な時代において、DX(デジタルトランスフォーメーション)の推進が求められています。今後、ソフトウェア開発要求が急増すると見られており、プロフェッショナルのIT技術者による従来の開発手法だけでは対応できないと考えられています。

また、IT人材不足がさけばれるなか、IT部門だけでなく、現場の業務部門のIT人材化も視野に入れながら、DXに伴い増大するソフトウェア開発要求に対応できる有力な手段としてローコード開発は期待されています。

DX(デジタルトランスフォーメーション)とは?

DX(デジタルトランスフォーメーション)とは、AIやIoTなどの情報技術によってあらゆるものがデジタルデータを介して結び付き、それによって企業ビジネスが根本から変革されることを意味します。

今まさに多くの企業が次の時代を生き残るために、DX(デジタルトランスフォーメーション)に取り組んでいます。例えば、企業文化から変革し、新たなビジネスモデルの創出や、新規サービスの提供を通してこれまで以上の競争力を得て社会に価値を提供していくことが求められています。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

ローコード開発のメリットとは?

ローコード開発によって、開発工程の簡略化や開発期間の短縮により開発工数の削減が期待できます。例えば、プログラミング時間の短縮、テスト自動化によるテスト工数削減などです。
また、ローコード開発により、属人化が排除され品質の向上が期待できます。例えば、コーディング箇所が極小化されるため、経験やスキルに依存せず、品質が人によらない安定したシステムが構築できます。
変化の早い現代において、スピード開発も重要ですが、保守開発の効率化も忘れてはいけません。ビジネスの要件が変化したり、急な改修・改善をユーザから要求されてもローコード開発により、スピーディかつ柔軟に対応できる点もメリットです。

ローコード開発のデメリットとは?

ローコード開発ツールを使うことによるデメリットを予め認識しておく必要があります。ツールの特性を理解せず、ツール外の機能や要件を取り込もうとした場合にツールの特性を活かすことができずにメリットが発揮できないことが考えられます。
お客様からの要求や要件を実装する際に、ツールの特性を事前に説明しご理解いただいた上で、ツールの特性を最大限発揮できるように折衝を行うスキルが必要となります。

ローコード開発とノーコード開発との違いとは?

ノーコードとの違い

「ローコード開発」とよく比較されるのが「ノーコード開発」です。ノーコードとはその名の通りソースコードを記述することなく、アプリケーションやシステムなどを開発する手法です。

ノーコード開発は、プログラミングに関する専門知識がなくてもGUIなどで直感的な操作で開発が行えるため、エンジニア以外の非IT人材でも簡単に開発が行える点が特徴です。

一方で、コーディングによる拡張ができないため、固有処理が多いプログラム開発には向いていません。また、APIによるシステム連携の自由度が低く基幹システム開発には向いていません。

ローコード開発ではプログラミングに関する一定の専門知識を必要とする反面、ノーコードよりも開発の自由度が高く、基幹システム開発までもターゲットにしているのが特徴です。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

ローコード開発プラットフォームとは?

ローコード開発プラットフォーム(LCDP Low-Code Development Platform)とはプログラミング言語によるコーディング中心のプログラム開発に代わり、ドラッグアンドドロップと設定だけでプログラムを組み立てる手法(ビジュアルモデリング)によりプログラム開発を実現するものです。ローコード開発プラットフォームはプロセスモデリング、再利用可能なコンポーネント、ドラッグアンドドロップツールという基本機能によりビジュアルモデリングを実現しています。

ローコード開発プラットフォームを開発ツールと言わないのは、多くのローコード開発プラットフォームがクラウドサービスとして提供されているaPaaS(Application Platform as a Service)であり、アプリケーション開発だけではなくアプリケーション運用を含むライフサイクル全般をサポートしているからです。

ローコード開発プラットフォームが注目される理由とは?

なぜ、ローコード開発プラットフォームなのか

基幹システムはスクラッチで構築はせずにERPやパッケージが主流、IT技術者の流動性が極めて高くプロプライアティな技術に縛られるのを嫌う米国でなぜこれほどローコード開発プラットフォームが注目を集めているのでしょうか。

ローコード開発プラットフォームが最初に注目されたのはモバイルアプリの開発でした。モバイルアプリの開発は基幹システム開発に比べてスピードが要求され、しかもマルチデバイスに対応しなければなりません。このようなモバイルアプリを短期間でリリースすることは至難の業でした。そこで、ローコード開発プラットフォームが注目を浴びたのです。

現在、ローコード開発プラットフォームが注目される最大の理由は、DX(デジタルトランスフォーメーション)への対応です。

企業のIT部門はデジタルトランスフォーメーションを推進するために、これまで以上に多くのソフトウェア開発を行わなければなりません。ところが、ソフトウェア開発技術者の数は足りておらず、IT部門だけでは到底このソフトウェア開発要求に対応できないのです。

そこで、IT技術者やソフトウェア開発者ではない、一般のビジネスパーソン、現場の担当者、多少ITリテラシーが高かったり、ヘビーユーザだったりするとしても、プロフェッショナルの開発者ではない人が開発できるローコード開発プラットフォームが注目されたのです。ローコード開発プラットフォームはこのようなビジネス課題に直面している現場の担当者が自らシステムを開発することをひとつのターゲットとしています。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

ローコード開発におけるシチズンデベロッパーの役割とは?

二兎を追うローコード開発プラットフォーム

ノンプロフェッショナルでありながら、IT部門が認めた開発ツール、開発環境の下で、組織、企業、顧客のためにシステム開発する人を「シチズンデベロッパー」といいます。シチズンデベロッパーはIT部門の統制下で開発するわけではありませんが、ITアーキテクチャーに関してIT部門が認めた方法で開発するという点で、いわゆる「シャドウIT」で開発する人とは区別されます。また、自身の業務のためだけに開発する「エンドユーザコンピューティング」とも区別されます。

ローコード開発プラットフォームはこのようなシチズンデベロッパーを巻き込んだ開発をターゲットにしています。このような人達のパワーを利用することでデジタルトランスフォーメーションに必要なソフトウェア開発要求に応えていこうというのです。

さらにローコード開発プラットフォームは、プロフェッショナルのソフトウェア開発者も同時にターゲットとしています。シチズンデベロッパーでは対応できない複雑な処理を伴うアプリケーションや、大規模な基幹システムの再構築、レガシーシステムと連携したシステムなどのエンタープライズレベルのミッションクリティカルなシステム構築です。

エンタープライズアーキテクチャーに対応した本格的な基幹システム開発に対応するため、ローコード開発プラットフォームでは、さまざまなシステムと連携できるオープンなアーキテクチャーと、コーディングによりコンポーネントの機能を拡張できる機能を備えています。

ローコード開発プラットフォームへの批判

ローコード開発プラットフォームへの批判

プロフェッショナルの開発者の中には懐疑的な意見もあります。ローコード開発プラットフォームでどこまで本格的なシステム開発ができるのか、中身がブラックボックスだとテストが不安だなどです。また、マネージャー層の中には、シチズンデベロッパーが開発するのはいいが、維持できない野良システムが乱立するのではないかといった心配もあります。

前者に関しては、ローコード開発プラットフォームは現在も進化し続けており、多くのベンダーがそのプラットフォームに投資をし続けています。不十分なところがあったとしても時間が解決するでしょう。後者に関しては確かに野良システムのリスクは存在します。企業のIT部門はあちらこちらに管理外のシステムが立ち上がるのを快く思いません。しかしながら、IT部門だけではデジタルトランスフォーメーションに対応できない現実を踏まえると、経営層にとってはやるリスクよりもやらないリスクの方が大きいという大きな流れになっています。

ローコード開発プラットフォームがソフトウェア開発のスピードを10倍にする可能性を秘めていると言われています。デジタルトランスフォーメーションを推進することが企業の存続を左右するといわれる現在、IT人材不足であろうがソフトウェアを素早く供給し続けることが企業戦略として非常に重要な位置を占めると認識されているのです。

「ローコード開発プラットフォーム」が提供する機能とは?

市場には数十のローコード開発プラットフォームが存在します。製品やサービスによって提供されている機能やサービスは異なりますが、そのコアとなる特徴は次の4つです。

ビジュアルプログラミングとは?

ビジュアルモデリング

ローコード開発プラットフォームはモデル駆動型開発の考えをベースとし、コーディングに代わりビジュアルなモデリングによりプログラムを作成します。ドラッグ&ドロップ操作で画面上にフローとコンポーネントを配置し、必要な設定を行うことでプログラムを作成します。画面設計やデータベース設計も画面上で実施します。

ビジュアルモデリングにより、ノンプロフェッショナルのシチズンデベロッパーは、あらかじめ準備されたコンポーネントを配置、設定していくだけでプログラム作成を行います。コーディングは原則行いません。一方、プロフェッショナルのソフトウェア開発者はコーディングによりカスタムなコンポーネントを作成したり、既存のコンポーネントを拡張したりしますが、基本的にはビジュアルモデリングでプログラムを定義します。

このビジュアルモデリングが、シチズンデベロッパーを取り込む、あるいは、短い訓練期間でプログラミングを習得可能にするローコード開発プラットフォームの象徴的な機能になっています。

再利用可能なコンポーネントとは?

再利用  可能なコンポーネント

ビジュアルモデリングを支えるのは再利用可能なコンポーネントです。コンポーネントの種類はさまざまです。変数に値を代入するプログラム言語レベルの粒度の細かいものから、データベースと連携して画面上にデータを配置するコンポーネントや、IoTやAIと連動するようなものまで多くの種類のコンポーネントが準備されています。外部システムと接続するためのインターフェースもコンポーネントとして準備されています。さらに、サードパーティが開発したコンポーネントも利用可能となっています。

特にSoE(System of Engagement)系のシステム開発では既にある高機能なコンポーネントやサービスを組み合わせてプログラムを素早く作成できることは大きなメリットです。

ライフサイクルマネージメントとは?

ライフサイクルマネージメント

ローコード開発プラットフォームの多くはクラウドサービスとして提供されているaPaaS(Application Platform as a Service)です。GartnerはさらにhpaPaaS(High Productivity Application Platform as a Service)という言葉を使い出しました。ローコード開発プラットフォームではアプリケーションの開発だけでなく、データベースとの自動接続、テスト、本番環境へ自動デプロイ、稼働管理、変更管理など開発工程から運用工程まで、ライフサイクル全般をサポートする機能を提供しています。

基幹システム開発に適応できる拡張性とは?

拡張性

大企業の基幹システム開発を行うにはそれぞれの企業のエンタープライズアーキテクチャーに適合できなければなりません。ローコード開発プラットフォームはメジャーなOS、データベースのほとんどに対応しています。また、さまざまなAPIを介して外部システムと自由に連携できるようにしています。

さらにコーディングによりコンポーネントの機能を個別の要求に応じて拡張できるようにもしています。大企業の基幹システム開発に適応できるスケーラビリティとオープンアーキテクチャー、そしてカスタマイズ性などの拡張性はローコード開発プラットフォームの特徴になっています。

従来の開発と「ローコード開発」との違いとは?

従来型のシステム開発では、ユーザへのヒヤリングから要件定義 → 設計 → プログラミング → テスト → リリースという工程で開発を行います。ローコード開発では、テーブルの定義情報から瞬時に動くアプリケーションが生成できたり、ドラッグアンドドロップと設定によりGUIで画面のレイアウト編集、ロジックの実装が可能となります。

そのため、工程の簡略化や自動化により大きく開発期間が短縮され、品質向上が期待できます。最終的に、シチズンデベロッパー(市民開発者)の活用や余った工数を創造的な業務へシフトすることが可能となります。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

「超高速開発」と「ローコード開発」との違いとは?

超高速開発との違い

日本では「超高速開発」というカテゴリーがあります。「超高速開発」という言葉は2013年8月に超高速開発コミュニティが発足された頃から使われ始めました。超高速開発はリポジトリーをベースにしたコードの自動生成や部品の再利用でコーディング部分を最小限に減らし、システム開発を高速化するとともに、プログラミングの熟練者でなくとも短期間の訓練でシステム開発を行うことを可能にしています。

データモデリングを重視する超高速開発

ほとんどの超高速開発ツールは基幹システム開発をターゲットとしており、その場合、主たる開発者はSEやプログラマー等のプロフェッショナルのIT技術者です。超高速開発はビジネスアプリケーション、さらにその中でもデータベースとの入出力を主とした基幹システム、情報系システム、すなわちSoR(Systems of Record)と呼ばれるシステムを、コーディングをせずにいかに早く作るかを追及してきました。

そのため、多くの超高速開発ツールはリポジトリーとデータモデリングを重視しており、そこからできるだけ少ない手間でビジネスアプリケーションを自動生成できるように工夫をこらしています。「作らないこと」が最も生産性・品質が高いという考えのもと、できるだけ少ない設定でアプリケーションが生成できるようになっています。

データベースとの入出力が基本の基幹システムの画面系処理はデータモデルさえあればプロトタイプとして稼働可能なプログラムが自動生成されます。標準化により画面の流れや処理の流れを決めておけば、いちいち処理フローや必要なコンポーネントを選ぶ手間も必要ありません。

超高速開発はデータモデリングを含むシステム開発をベースに進化してきたといえるでしょう。

超高速開発

クラウドサービスで提供されるローコード開発プラットフォーム

一方、ローコード開発プラットフォームは「ビジュアルモデリングによりコーディングを廃する」という点を重視するモデル駆動型開発です。ローコード開発プラットフォームは、ビジュアルモデリングによりJava, php, C#, Pythonなどの開発言語をタイピングする開発を廃し、シチズンデベロッパーを開発に引き込み、素早いソフトウェア開発とリリースを目指します。その多くは、クラウドサービスとして提供し、シチズンデベロッパーでも簡単にリリースできる運用環境を提供しています。

ローコード開発プラットフォームが最初に成功したのはモバイルアプリケーション開発でした。コンポーネントを再利用することで、APIを介して外部のさまざまなサービスと連携し、処理を組み立てiOSやAndroidなど複数デバイス向けのアプリケーションを生成します。入念なデータモデリングをしてシステム構築するというよりも、どちらかといえばSoE(Systems of Engagement)と呼ばれるシステムを、マルチな環境に素早くリリースすることから進化してきたのです。

超高速開発ツールはSoRから始まってSoEへ、ローコード開発プラットフォームはSoEから始まってSoRへと進化してきていますが、結局、目指しているところは同じです。

超高速開発ツール≒ローコード開発プラットフォーム

前述のフォレスター・リサーチ社やガートナーによるローコード開発プラットフォームの定義はそのまま超高速開発ツールにも当てはまります。ローコード開発プラットフォームは日本では超高速開発ツールと称し、逆に日本の超高速開発ツールはローコード開発プラットフォームと称しています。基本的には同じカテゴリーを表す言葉です。

違いは、モバイルから始まったローコード開発プラットフォームの多くがクラウドサービスとして提供されているのに対し、基幹システム開発をターゲットにしてきた超高速開発ツールは、クラウドサービスで提供しているものもありますが、まだまだオンプレ中心です。これは、日米の基幹システムのクラウドサービス化の進展、普及の差によるものだと思われます。今後、ニーズの変化に応じてクラウドに重心が移っていくでしょう。

超高速開発ツールもローコード開発プラットフォームも多くの製品、サービスが存在しています。ローコード開発プラットフォームか超高速開発ツールかという議論はあまり意味がありません。実際の生産性や品質はローコード開発プラットフォームか超高速開発ツールかというよりは、個々の製品、サービスの差異による方が大きいのです。

例えば、ビジュアルモデリングだけでは劇的には生産性は向上しません。確かに開発言語を覚えるハードルは下がるかもしれませんが、極端な話、開発言語と同じ粒度のコンポーネントを使ってプログラムを組み立てるとしたら、ひとつのプログラムを作成するのにかかる手間はコーディングと同じかそれ以上になるでしょう。開発生産性を左右するのはどのようなコンポーネントでアプリケーションを組み立て、どれだけ手間を省き、作らないで済ませられるかという点にかかっています。

それぞれの製品やサービスによって提供されているコンポーネントやそのコンセプトは異なります。個々の製品やサービスを評価し自社にあったものを選択すべきでしょう。

平河 拓郎

執筆者:平河 拓郎

住友電工情報システム株式会社
ビジネスソリューション事業本部 第一システム開発部
シニアマネージャー シニア・テクニカル・コンサルタント

各種お役立ち資料もご用意しています

簡単な製品説明や見積りのみご希望の場合も
気軽にお問い合わせください

お問い合わせ

専門スタッフが製品や導入に関する不安やお悩みにお答えします。

担当者に製品の説明を聞く

資料請求

楽々Framework3の詳しい製品情報や、活用事例をまとめた資料を無料で請求いただけます。

製品資料を請求する

体験セミナー
eラーニング

Webでの講義と体験版ソフトで楽々Framework3を体験いただけます。

体験セミナーeラーニングに
申し込む

関連するページ