「金融が変われば、社会も変わる!」を合言葉に、未来の金融を描く方々の想いや新規事業の企画に役立つ情報を発信!

金融が変われば、社会も変わる!

トレンドを知る

開発に苦労しているそこのあなた! Low-Code Development Platformを使ってみませんか?

画像

ローコード開発プラットフォーム(Low-Code Development Platform以下、LCDP)とは、自動化技術により人の作業を減らし高生産性を実現するアプリケーション開発プラットフォームです。近年LCDP市場は大きく成長しており、高速なデリバリを実現するソリューションとして今後も広く普及することが予測されます。この記事では、LCDPの概念を、コーディングをせずにアプリケーションを開発するNo-Code、コーディングを基本としたPro-Codeと対比したうえで、LCDPが持つ機能や、導入効果、活用方法と事例、導入の流れ、留意点について解説します。

Low-Code Development Platformとは

Low-Code Development Platformの概要
Low-Code Development Platform(以下、LCDP)とは、自動化技術により人の作業を減らし高生産性を実現するアプリケーション開発プラットフォームです。図1に示すように、これまでのアプリケーション開発の歴史のなかでは「ソースコード生成特化型」、「統合環境型」などの自動化手法がありました。
LCDPはプラットフォームとして提供され、設計/製造/テスト/運用といったアプリケーションのライフサイクル全体をサポートしていることが従来の手法との大きな違いです。まず、LCDPにどのような機能があるのかを説明します。

図1.アプリケーション開発自動化手法の進化

図2に示すように、LCDPは、大きく「①各種環境PaaS提供」、「②視覚的なモデリング」、「③マーケットプレイス」、「④DevOps機能」、「⑤監視・分析機能」の5種類の機能を提供しています。これら5種類の機能の概要は表1のとおりです。
LCDPの「①各種環境PaaS提供」は、設計から運用までにネットワークやハードウェア等の環境の準備期間を短縮することに特徴があります。「②視覚的なモデリング」は、ドラッグ&ドロップによるGUIの操作でコーディング量を極限まで減らすことで開発の生産性を高めます。「③マーケットプレイス」はアプリケーションのテンプレートや、画面・ロジックのテンプレート、などが提供されるリポジトリで公開されている部品を利用した開発が可能です。

「④DevOps機能」は、モデリング情報からすぐに実行可能なアプリケーションを生成し、LCDP内のアプリケーション実行環境に配置・実行する機能であり、リリースまでの期間の短縮を可能にします。「⑤監視・分析機能」は、実行中のアプリケーションを監視、分析することでアプリケーションの改善ポイントを発見しやすくしています。LCDPはアプリケーションライフサイクル全体に対して生産性向上のための機能を提供しており、これによりアプリケーション開発の高速化を実現できます。

図2.LCDPの機能と構成要素

   表1. LCDPが提供する機能

「② 視覚的なモデリング」について、LCDP製品の1つであるOutSystems の開発画面を元に紹介します。
(アプリ開発向けの高性能ローコード|Outsystems)
図3はUIを、図4は処理フローを実装する画面です。図3は予約情報を登録するためのWeb画面を作成する例を、図4は予約の処理フローの実装例を示しています。
左側のウィジェットと呼ばれるアイコンをドラッグ&ドロップにより配置し、右下のプロパティで各ウィジェットに対し詳細設定をします。

図3.OutSystemsにおけるUI実装

図4.OutSystemsにおける処理フロー実装

Pro-Code / Low-Code / No-Code の違い

Low-Code Development Platform という名前には”Low-Code”とあるとおり、コーディングもできることを表しています。Low-Codeと似た概念としてNo-Codeがありますが、No-Codeはコーディングをせずにアプリケーションを開発できることを意味します。また、コーディングを基本とした開発(本記事ではPro-Codeと表現)もありますが、これらの開発手法の違いについて解説します。
図5には、Pro-Code/Low-Code/No-Codeの開発手法を、アジリティ(開発スピード)、設計自由度、ビジネス(業務)への適用範囲、の3つの観点で比較した結果を示しています。
まず、Pro-Codeの特徴は、実装したいアプリケーションをコーディングで柔軟に実現できるため自由度が高くなることです。しかし、コーディングを人が実施することにより、開発スピードが低下するおそれがあります。
次にNo-Codeですが、こちらの最大の特徴は開発スピードが非常に速いことです。No-Code開発では、用意されているパーツを組み合わせることで高速開発を可能にしています。そのため、No-Codeの各製品は特定の業務に特化したものが多いです。
最後にLow-Codeについてですが、こちらはNo-CodeとPro-Codeの中間に位置する開発手法で、それぞれの開発手法のよいところを組み合わせられます。Low-Codeは視覚的なモデリングだけでもアプリケーションを実装可能ですが、コーディングを用いた機能拡張も可能なため、1つの製品でさまざまなアプリケーションを実装できます。

図5.Pro-Code / Low-Code / No-Codeの違い

Low-Code Development Platformの導入メリット

次にLCDPの導入メリットについて説明します。大きく、「開発期間の短縮によるビジネス価値提供の高速化」、「開発コストの削減」、「アプリケーション内製開発の促進」、「育成期間の短縮」の4つがあります。
開発期間の短縮によるビジネス価値提供の高速化
LCDPでは大きく「①各種環境PaaS提供」、「②視覚的なモデリング」、「③マーケットプレイス」、「④DevOps機能」、「⑤監視・分析機能」の5種類の機能が提供されることを前述しました。これら機能を使うことでコーディング省略化、各種自動化などの効果によりアプリケーション開発の主要な期間を占める設計・製造・単体テストの開発期間を大幅に短縮できます。図6は開発期間短縮のイメージです。
近年はVUCA時代であり、何が起こるかの予測が難しい世の中においては変化に素早く対応する必要があります。開発期間の短縮により、アプリケーションをいち早く市場へ提供できるようになることもLCDPが注目を浴びている理由の1つです。

図6.開発期間短縮のイメージ

開発コストの削減
図7に、これまで主流であったスクラッチ(Pro-Code)開発と比較したコスト削減イメージを示します。開発生産性の向上により、初期開発や維持保守・拡張開発などのコストも削減できます。ただし、LCDPの各製品を利用するとライセンス費用が発生しますので、ライセンス費用に見合う開発生産性向上効果が得られるかのROI検証は必要です。

図7.開発コスト削減のイメージ

アプリケーション内製開発
LCDPはアプリケーション内製開発の開発基盤にも適しています。アプリケーション内製開発とは、従来アプリケーション開発を外部に委託していた企業が、自社でアプリケーション開発を行うことを指します。(内製開発を成功させるには?~Low-Code Platformの勘どころ3選!~)
内製開発では、ステークホルダー間のコミュニケーションや意思決定を自社内で完結できるため、開発のスピードアップに伴うアジリティの向上が期待できます。
内製化によってアジリティの向上を期待しているにもかかわらず、適切な開発手法が選択されなければ、開発速度が低下する可能性があります。 アプリケーション開発内製化を推進するためには、高いアジリティを実現できる開発手法の選定が必要です。そこで、開発生産性の向上によって高いアジリティを実現できるLCDPが開発基盤として注目を浴びています。
習熟の容易性
従来の開発ではプログラミング言語やフレームワーク、クラウド基盤などさまざまな技術を組み合わせる必要がありました。ですが、LCDPでは表1で示したようなアプリケーション開発に必要な機能を提供するため、採用したLCDP製品のことだけを学べば最低限のアプリケーション開発ができるようになります。そのため、さまざまな技術や、それらを組み合わせる方法を学ぶことと比較すると、習熟難易度が下がり容易に利用することができます。

金融業界におけるLow-Code Development Platformの活用事例

近年、企業がDXを進めるうえで、LCDPをプラットフォームとして採用するケースが増えています。金融業界を含む多くの業界でも導入されており、ここでは代表的なユースケースとして3つ紹介します。
業務・運用の刷新
これまで手作業や紙を用いていた業務を、アプリケーションを用いてデジタル化することにより、ヒューマンエラーの軽減や業務効率化などの効果が期待できます。金融業界でも職場や業務ごとにある多くの規定やそれを扱うための社員の暗黙知に加え、DXの過渡期に存在する紙ベースのオペレーションは社内の意思決定者にかかる負担など非効率な面が多くありました。
こうしたアプリケーションの開発基盤としてLCDPを用います。LCDPの開発期間短縮によるアジリティの高さを活かして、業務に変更が発生したとしても追従しやすくなります。事例として、これまで紙ベースが中心であった業務を、LCDPを用いて刷新し、ペーパレス化による業務効率化や業務処理時間の短縮をしたものがあります。
(https://www.pega.com/ja/customers/mizuho-bank)
UXの向上
LCDPを用いてアプリケーションのリリース速度が速まることで、ステークホルダーにより早くサービスを提供できるようになり、UXの向上が期待できます。事例として、大規模災害時の保険サービスの受付Webポータルを8週間で開発したものがあります。
(https://www.outsystems.com/ja-jp/case-studies/american-integrity-insurance-claims-portal/)

また金融機関の業務で、多数のワークフローがある業務ポータル、従業員と顧客と直接やり取りするカスタマーポータル、業務上の機能にアクセス管理を提供する管理ポータルの3つのポータルサイトを6ヶ月で開発しカスタマーエクスペリエンスや従業員エクスペリエンスの向上を実現したものもあります。
(https://www.outsystems.com/ja-jp/case-studies/crown-agents-bank-digital-transformation/​)
レガシーシステムの刷新
レガシーシステムを刷新する際に、開発基盤としてLCDPが採用されるケースが増えています。メンテナンスが困難になってしまったレガシーシステムをLCDPで刷新してDXを加速させることが狙いです。25年前から運用を開始したグループウェアをベースとしたシステムは運用エンジニアの確保や、ソフト、ハードのサポートの終了も懸念されていました。このシステムをLCDPでマイグレーションした事例もあります。
(https://www.outsystems.com/ja-jp/case-studies/maeda-corporation-notes-migration/)

Low-Code Development Platform導入の流れ

これまで解説しましたLCDPの導入効果や活用方法ですが、LCDPを導入するだけですぐに実現できるわけではありません。ここではLCDPのメリットを最大限享受するための導入の流れについて説明いたします。
LCDPの導入の流れですが、図8のように大きく4ステップで進めます。

図8.LCDP製品導入の流れ

LCDP製品選定
最初に実施することは、LCDPの製品選定です。「業務・運用を刷新したい」、「開発スピードを向上させたい」などのLCDP導入目的があると思いますが、LCDPにもさまざまな製品があり、向き不向きがあります。まずは各LCDP製品の特長を理解し、導入目的などに適した製品の選定が必要です。作りたいアプリケーションを実装可能かの実現性検証を目的としたPoCを実施してもよいでしょう。
LCDPトレーニング(最低限の知識を得る)
製品が決まった後は、LCDP開発者の育成を目的としたトレーニングを実施します。従来の開発においてプログラミングの学習が必要であるように、LCDPにおいても製品の使い方を学ぶ必要があります。ここでポイントとなるのが、必要最低限の知識を得るようにすることです。百聞は一見にしかずで、トレーニングよりも実際に開発してみることで知識が定着します。トレーニングに時間をかけすぎないようにしましょう。
1stアプリケーション開発(開発実績を作る)
LCDPを用いて初めてのアプリケーション開発に着手しますが、1stアプリケーションでは実装が難しくないユースケースを選択するようにします。1stアプリケーションで開発に失敗してしまうと、LCDPの取り組みが続かなくなってしまうかもしれません。1stアプリケーションでは、実績を作ることや、「自分たちでもアプリケーションが作れる!」というモチベーション向上が重要ですので、適切なユースケースを選定するようにしましょう。
高度なアプリケーション開発(取り組みを拡大する)
LCDPで目指すゴール地点がここです。組織ごとに求められるユースケースはさまざまですが、ときには難しい実装が必要になるものもあるでしょう。1stアプリケーションからさまざまなアプリケーション開発を経て、高度なアプリケーションも実装できるスキルの習得を目指します。LCDPの取り組みを拡大させるためには、アプリケーションの品質向上や開発ガバナンスを効かせるなどの高度な問題・課題も生じます。実装スキルの向上だけでなく、組織全体でLCDPの取り組みを持続的に続けられるようにしましょう。

おわりに

本稿ではLCDPについて解説いたしました。今後読者の方が開発手法を検討する際に、本稿をみてLCDPを候補の1つとしていただければ幸いです。
【この記事を書いた方】
技術革新統括本部 システム技術本部 ADM技術部
井上 亜加理

井上 亜加理

ITで快適な社会の仕組みを実現したいと考えNTTデータに入社。さまざまな開発手法を学ぶなかで、LCDPの「誰もが楽しく開発できる」点に惹かれる。現在はOutSystemsを中心に、LCDPの要員育成や技術支援を担当。趣味はダンス。
島倉 優人 (課長代理)

島倉 優人 (課長代理)

社内開発標準の整備や普及展開、さまざまな案件のソフトウェアアーキテクチャ・プロセス設計業務を経て、現在はLCDPの技術オファリング業務に従事。OutSystemsのプリセールスやテックリードも担当。趣味は卓球。
※本記事の内容は、執筆者および協力いただいた方が所属する会社・団体の意見を代表するものではありません。
※記事中の所属・役職名は執筆当時のものです。
画像

執筆 オクトノット編集部

NTTデータの金融DXを考えるチームが、未来の金融を描く方々の想いや新規事業の企画に役立つ情報を発信。「金融が変われば、社会も変わる!」を合言葉に、金融サービスに携わるすべての人と共創する「リアルなメディア」を目指して、日々奮闘中です。

感想・ご相談などをお待ちしています!

お問い合わせはこちら
アイコン