経済産業省が「DXレポート~ITシステム「2025年の崖」の克服とDXの本格的な展開~」を公表して久しいですが、老朽化・ブラックボックス化したレガシーシステムがDX推進の阻害要因となっているケースが多いようです。本ページでは、DX推進の阻害要因になっているレガシーシステムの課題解決に有効な手段の一つとして注目されている「ローコードプラットフォーム」について紹介いたします。
DXに対する取り組みの実態
IPA(独立行政法人 情報処理推進機構)が実施した国内企業のDXに対する取り組みに関する調査によると、約7割の企業がDXに対して何かしらの取り組みを行っていると回答しています。DXに取り組んでいると回答した企業のうち、全社戦略に基づく部門横断的なDX推進可能な成熟度レベルに達している企業はわずか1割程度で、散発的な取り組みにとどまっている企業が約7割と報告されています。
年々、DXに取り組む企業数は増えていますが、多くの企業でDXが思うように進展していないのが実態です。
DX推進を阻害する様々な要因
DX推進を阻害する要因は様々ありますが、代表的なものしては以下3点が挙げられます。
上層部の認識
- 上層部の課題認識の不足や理解が得られず、業務のデジタル化(デジタイゼーション)が遅れておりDX推進を阻む障壁となっている。
- DXの必要性を認識している上層部がいないため、投資に対して消極的である。
- 上層部はDXの必要性を認識しているが、認識が甘く号令を発するだけで、PoCを繰り返し実施するだけでDXが進展しない。
IT(DX)人材
- レガシーシステムの保守・運用(守りのIT)だけで精一杯で、DX(攻めのIT)に割けるほど人材に余裕がない。
- これまで外部ベンダーに依存してきたため、DX推進に必要不可欠な自社の業務に精通している人材が不足している。
- 情報システム部員の高齢化や、長く同じアーキテクチャで保守・運用してきたため、最新の技術に追随できていない。
レガシーシステム
経済産業省「DXレポート」によると約8割の企業が、老朽化したレガシ―システムを運用しており、そのうちの約7割がDX推進の足かせに感じていると報告されています。
- 基幹系システムなどは初期構築から長期間運用していることが多く、エンハンスの繰り返しにより、肥大化・複雑化・ブラックボックス化している。
- 保守・運用が属人化している。
- 初期構築時の部員の異動・退職などにより、知見のある人材がいない。
老朽化・ブラックボックス化したレガシーシステムがDX推進に与える影響
「失われた20年」と呼ばれた長期の経済低迷期間を乗り越えた企業には、システム投資やシステム部員の採用を控えた企業は少なくありません。そのような企業では限られた部員の血の滲むような努力で、システム改修を繰り返しビジネスの変化に追従してきました。
しかし、基幹系などのレガシーシステムはシステム規模が大きく、再構築には膨大な人材・費用・時間などのリソースを要します。また、長年システム改修を繰り返したことで、システムがスパゲッティ状態で肥大化し、修正時には多くのテスト工数を要し容易に修正ができなくなっています。このような状況では、ビジネス環境の変化に対して柔軟・迅速な対応ができないだけでなく、他システム・外部クラウドサービスなどとのAPI連携ができず、ビジネスにおける競争優位性が損なわれます。
ローコード開発とは
ローコード開発(Low-Code Development)とは、従来のコーディングによるプログラム開発を廃し、ビジュアルモデリング、再利用可能なコンポーネント、ライフサイクルマネージメント、拡張性などを特徴とする開発手法です。
また、ローコード開発をサポートする基盤をローコード開発プラットフォーム(Low-Code Development Platform)と呼びます。多くの、ローコード開発プラットフォームはクラウドサービス、すなわちaPaaS(Application Platform as a Service)として提供されています。
ローコード開発の特徴
ローコード開発は、できるだけソースコードを書くことなくアプリを開発する手法です。GUIを活用して画面上で部品を選択し、組み合わせて構築する作業が主体となるでしょう。
一方で、必要に応じてソースコードを書けることも特徴の一つです。機能を連携する際に用いられるプログラミングは、代表的な例に挙げられます。
ローコード開発が注目される理由
ローコード開発は、2020年中頃から特に注目を集めるようになってきました。下図は、Googleトレンドで「ローコード」を検索した結果です。
ローコード開発は、システム開発の現場でも注目されている手法です。代表的な理由を、以下に挙げてみました。
- DX(デジタルトランスフォーメーション)の推進に有効
- システムを迅速に提供できる
- 企業もシステムの内製化を進めている
- 社内向けのシステムならば、見映えを気にする必要がない
- 一般的なシステム開発と比べて、求められるスキルやコストが低い
- ノーコード開発よりも細かい制御が可能
社会の急激な変化に対応するうえで、リリースまで数ヵ月もかかるようなシステムではビジネスチャンスを失ってしまう場合もあるでしょう。またコストダウンなどを目的に、システムの内製化を進める企業も増えています。必要なシステムを迅速に作るうえで、ローコード開発はうってつけの手法に挙げられます。
ノーコード開発との相違点
ローコード開発とノーコード開発には、以下の相違点があります。
- ローコード開発:コードをできるだけ書かない
- ノーコード開発:コードをまったく書かない
この2つは、大きな違いです。ローコード開発ではソースコードの記述により機能をカスタマイズできるため、プログラミングスキルを求められる場合も多いです。一方でノーコード開発はプログラミングスキルを要しませんが、ローコード開発と比べてかゆいところに手が届くアプリを作りにくくなります。
ローコード開発で得られる3つのメリット
業務に必要なアプリを簡単に開発できる
業務に必要な、また顧客が求めるアプリやシステムを簡単に開発できることは代表的なメリットに挙げられます。
ローコード開発では開発ツールの機能を十二分に発揮するうえで、多少のプログラミングスキルは必要です。それでも求められるスキルレベルは、一般的なシステム開発と比べて低いことが特徴。技術的なハードルが下がるため、より多くのITエンジニアが開発に携われることは大きなメリットといえます。
また業務部門のメンバーにプログラミング経験を持つ方がいれば、わざわざシステム部門やIT企業へ依頼せずに自力でアプリを開発できる点も魅力です。
品質の良いシステムを短期間で開発できる
ローコード開発では以下に挙げるとおり、品質の良いシステムを短期間で開発できる点も見逃せないメリットに挙げられます。
- コーディングすべき箇所が減るため、バグが起こりにくい
- 開発期間の短縮も実現できる
- 開発における不整合を防げる
一般的にシステム開発では、コードの数が増えるほどバグも増えることが知られています。ローコード開発ならば最小限のコードで済みます。加えてプログラムごと、プログラムとデータベースとの不整合を事前に検知することも可能。これらにより、バグや修正工数の減少が期待できます。
設計を「見える化」でき、プログラムも自動生成できる
ローコード開発ではGUIを用いた開発がベースとなるため、画像をふんだんに使用したビジュアルな設計も容易に行なえます。これにより設計を「見える化」でき、開発後のミスマッチや修正工数の増加も防げます。
加えて設計情報からプログラムを自動生成できる機能も、見逃せないポイントです。この機能を活用することで、開発期間の大幅な短縮やバグの発生を防ぐことが可能です。より少ないエンジニアで開発できることも、メリットといえるでしょう。
ローコード開発が持つ3つのデメリット
開発ツールの機能に制約される
ローコード開発はコーディングによる調整が可能ですが、開発ツールが用意する機能を用いて実装することが基本です。このため、以下の案件にはあまり適していません。
- 企業固有の業務ロジックがある
- デザインに強いこだわりがある
- システムに対する細かい要望がある
上で示した案件は、ローコード開発のメリットを十分に発揮しにくいケースです。そのため、通常の開発手法を選ぶことをおすすめします。
開発ツールを事前に習熟しておくことが必須
ローコード開発ツールはプログラミングの経験が浅い方でも利用でき、開発プロジェクトに携われる点が魅力です。一方で他のツールと同様、搭載している機能を十二分に活用するためには使い方を覚えておかなければなりません。
特に多種多様な機能を搭載するツールを用いる場合、どうしても本格的な開発スタートまで日数を要してしまうことはデメリットに挙げられます。
複雑な要件や動的なアプリには不向き
ローコード開発は開発ツールの機能が限られるため、比較的定型的な業務の開発に向いていることが特徴です。複雑な開発案件には不向きであり、通常のシステム開発を選ぶことが成功につながります。
またローコード開発ツールは、UIやUXを細かく指定しにくい点も知っておきたいポイント。以下のアプリやシステムには向きません。
・ビジュアルを活用し顧客に訴求するコンテンツ
・株価のチャートなど、動的なコンテンツが含まれる
上記にあてはまる場合は、通常のシステム開発をおすすめします。
ローコード開発プラットフォームとは
ローコード開発プラットフォーム(LCDP Low-Code Development Platform)とはプログラミング言語によるコーディング中心のプログラム開発に代わり、ビジュアルモデリングによりプログラム開発を実現するものです。ローコード開発プラットフォームはプロセスモデリング、再利用可能なコンポーネント、ドラッグアンドドロップツールという基本機能によりビジュアルモデリングを実現しています。
ローコード開発プラットフォームを開発ツールと言わないのは、多くのローコード開発プラットフォームがクラウドサービスとして提供されているaPaaS(Application Platform as a Service)であり、アプリケーション開発だけではなくアプリケーション運用を含むライフサイクル全般をサポートしているからです。
「ローコード」という言葉は比較的新しい言葉です。米国フォレスター・リサーチ社が2014年にプログラム開発を誰でも簡単に行うことができる開発プラットフォームを称して使ったころから世に広まりました。フォレスター・リサーチ社の定義によれば、「ローコード開発プラットフォームとは、最小限の手作業によるコーディング、最小限のセットアップ、訓練、及びデプロイへの先行投資でビジネスアプリケーションを迅速に提供できるもの」とあります。
あるいは、ローコードという言葉を広めるのに大きな役割を果たしたガートナーの定義によれば「ローコード開発プラットフォームとはコードを廃し、アプリケーションの供給を加速する統合環境をもつプラットフォーム」とされています。いずれにしても、ローコード開発プラットフォームは従来のコーディング中心のプログラム開発から、コーディングをしないソフトウェア開発へのパラダイムシフト、システム開発のゲームチェンジャーとして大いに注目されています。
なぜ、ローコード開発プラットフォームなのか
基幹システムはスクラッチで構築はせずにERPやパッケージが主流、IT技術者の流動性が極めて高くプロプライアティな技術に縛られるのを嫌う米国でなぜこれほどローコード開発プラットフォームが注目を集めているのでしょうか。
ローコード開発プラットフォームが最初に注目されたのはモバイルアプリの開発でした。モバイルアプリの開発は基幹システム開発に比べてスピードが要求され、しかもマルチデバイスに対応しなければなりません。このようなモバイルアプリを短期間でリリースすることは至難の業でした。そこで、ローコード開発プラットフォームが注目を浴びたのです。
現在、ローコード開発プラットフォームが注目される最大の理由は、DX(デジタルトランスフォーメーション)への対応です。
企業のIT部門はデジタルトランスフォーメーションを推進するために、これまで以上に多くのソフトウェア開発を行わなければなりません。ところが、ソフトウェア開発技術者の数は足りておらず、IT部門だけでは到底このソフトウェア開発要求に対応できないのです。
そこで、IT技術者やソフトウェア開発者ではない、一般のビジネスパーソン、現場の担当者、多少ITリテラシーが高かったり、ヘビーユーザだったりするとしても、プロフェッショナルの開発者ではない人が開発できるローコード開発プラットフォームが注目されたのです。ローコード開発プラットフォームはこのようなビジネス課題に直面している現場の担当者が自らシステムを開発することをひとつのターゲットとしています。
ローコード開発プラットフォームへの批判
プロフェッショナルの開発者の中には懐疑的な意見もあります。ローコード開発プラットフォームでどこまで本格的なシステム開発ができるのか、中身がブラックボックスだとテストが不安だなどです。また、マネージャー層の中には、シチズンデベロッパーが開発するのはいいが、維持できない野良システムが乱立するのではないかといった心配もあります。
前者に関しては、ローコード開発プラットフォームは現在も進化し続けており、多くのベンダーがそのプラットフォームに投資をし続けています。不十分なところがあったとしても時間が解決するでしょう。後者に関しては確かに野良システムのリスクは存在します。企業のIT部門はあちらこちらに管理外のシステムが立ち上がるのを快く思いません。しかしながら、IT部門だけではデジタルトランスフォーメーションに対応できない現実を踏まえると、経営層にとってはやるリスクよりもやらないリスクの方が大きいという大きな流れになっています。
ローコード開発プラットフォームがソフトウェア開発のスピードを10倍にする可能性を秘めていると言われています。デジタルトランスフォーメーションを推進することが企業の存続を左右するといわれる現在、IT人材不足であろうがソフトウェアを素早く供給し続けることが企業戦略として非常に重要な位置を占めると認識されているのです。
ローコード開発プラットフォームの機能
ローコード開発プラットフォームはモデル駆動型開発の考えをベースとし、コーディングに代わりビジュアルなモデリングによりプログラムを作成します。ドラッグ&ドロップ操作で画面上にフローとコンポーネントを配置し、必要な設定を行うことでプログラムを作成します。画面設計やデータベース設計も画面上で実施します。
ビジュアルモデリングにより、ノンプロフェッショナルのシチズンデベロッパーは、あらかじめ準備されたコンポーネントを配置、設定していくだけでプログラム作成を行います。コーディングは原則行いません。一方、プロフェッショナルのソフトウェア開発者はコーディングによりカスタムなコンポーネントを作成したり、既存のコンポーネントを拡張したりしますが、基本的にはビジュアルモデリングでプログラムを定義します。
このビジュアルモデリングが、シチズンデベロッパーを取り込む、あるいは、短い訓練期間でプログラミングを習得可能にするローコード開発プラットフォームの象徴的な機能になっています。
まとめ
今日のテクノロジーの世界では、ソフトウェアとモバイル アプリケーションの開発は非常に重要であり、最も急速に成長している分野の 1 つと見なされています。 しかし、この開発プロセスには、時間と費用、高度な技術スキルなど、依然として多くの困難と課題があります。 そのため、ローコードの出現は、この分野における重要なブレークスルーの 1 つと見なされています。
今回、NALは注目すべきローコード製品の1つであるAppflowを紹介します。Appflowはローコードモバイルアプリケーション開発プラットフォームであり、自動化やIoT統合など、開発者に多くのメリットをもたらします。AppFlowを使用すると、数回クリックするだけで、アプリケーション間の双方向のデータ フローを自動化できます。 ビジネス イベントに応じて、またはオンデマンドで、選択した頻度で、スケジュールに従ってデータ ストリームを実行します。
下記の3つ違い点はAppflowの違いです。
- エラーを制限し、開発リソースを最適化するための速度でアプリケーションを構築およびデプロイする
- 情報とワークフローの自動化する
- 実務経験の向上させる
詳しくは appflow.vnをご覧ください。