サイト内の現在位置

「ローコード開発」とは?今なぜ注目されているのか詳しく解説!

官公庁向けシステム開発コラム 第1回

NECは2020年度から官公庁向けのローコード活用を推進して来ました。NECの新時代を創る型破りなマネージャーがわかりやすく解説!

本記事は、エンジニアではない方でも「ローコード開発」について理解し、活用推進できるようになることを目指した全3回掲載のコラムです。初回となる今回は、そもそもローコード開発とは何か?なぜ注目されているのか?という疑問について、わかりやすく解説します。

INDEX

解説者 徳山慎一
NEC
クラウド・
プラットフォーム
ソリューション統括部
マネージャー

──最近、ローコード開発といった言葉を耳にすることが多くなりました。今なぜ注目されているのでしょうか?

徳山

ローコード開発が注目されている背景にはデジタルの果たす役割や期待が変化したことにあると考えています。これまでのデジタル化では、手作業で行っていた業務をデジタルに置き換えて効率化をすることが求められていました。しかし現在では、そういった単純なデジタル化が一巡したことで、デジタルで新しい価値を生み出すことが求められるように変わってきています。俗に言う「DX」と言われる領域がそうですね。単純なデジタル化とは異なり、新しい価値を生み出す世界では試行錯誤を重ねることが必要です。その際に、実際に動かせるアプリケーションを素早く構築・リリースをして、市場のニーズに合わせて柔軟に変更することができる開発環境が必要不可欠です。

──なるほど、そういった背景があって注目されているのですね。官公庁のお客様でも同様にローコード開発が求められているのでしょうか?

徳山

はい。官公庁のお客様でも同様にローコード開発が求められるようになってきています。

政府の策定する「デジタル社会の実現に向けた重点計画 ※1」の中にアジャイルガバナンス原則というものが挙げられています。ここでは、「一律かつ硬直的な事前規制ではなく、リスクベースで性能等を規定して達成に向けた民間の創意工夫を尊重するとともに、データに基づくEBPMを徹底し、機動的・柔軟で継続的な改善を可能とすること。データを活用して政策の点検と見直しをスピーディに繰り返す、機動的な政策形成を可能とすること。」と記載されています。日々変化する社会環境に対して政策立案にも迅速・柔軟であることを目指しています。しかしながらせっかく素早い意思決定ができるようになっても、"システムへの反映は5年かかりますので国民や住民へ届くには何年も先になります"では意味がありません。迅速・柔軟なアジャイルガバナンス原則を実現するためには、デジタル基盤にもそれに対応する迅速・柔軟な開発技術が必要不可欠となります。そこで、ローコード開発のような技術を採用することでITライフサイクル全体を加速させることが求められています。
また、昨今ではコロナ禍を起点に国民・住民を取り巻く環境が大きく変わり、我々の生活を大きく変化させ続けています。国や政府でも迅速なデジタル化が求められる中"今すぐアプリの提供が必要"という状況に対して従来のような何年もかかるシステム開発手法では対応できない場面に直面しました。そのような状況の中で、いくつかのシステム開発にローコード開発技術が採用され、 これまでにないスピードでシステムを構築する実績が作られた結果、ローコード開発の認知度が上がり、迅速性と柔軟性が求められるデジタル行政に対してローコード開発への注目と期待が集まるようになりました。

──ありがとうございます。 官公庁のお客様でもシステム構築にスピードが求められていて、 それに伴い、ローコード開発も急速に拡がり活用されているのですね。

──ローコード開発が注目されている背景は理解できました。 そもそも、ローコード開発とはどのようなものなのか簡単に説明していただけますでしょうか?

徳山

ローコード開発は、高速開発と言われる技術の一つになります。 これまでも高速開発といわれるものはたくさんありましたが、出てきては消えというサイクルを繰り返していて、なかなか浸透しませんでした。ではなぜ、ローコード開発は大きな広がりを見せているのかというと、従来の高速開発とはコンセプトが違うことにあるためと考えています。
これまでの高速開発は、あくまでも"開発の効率化"に焦点が当てられており、例えば、設計情報からコードを自動生成するものなどがありました。言い換えれば、ウォーターフォール型で開発を行う技術者を支援することが目的でした。
一方で、ローコード開発は極力コーディングをせずに部品を組み合わせることで、迅速に動的なアプリケーションを作り、柔軟に変更することを可能としています。『素早くシステムを作ること』ではなく『変化することを前提に素早くシステムを使える状態にすること』を可能としています。また、多くのローコード開発製品はGUI(グラフィックユーザーインターフェース)ベースでの開発を可能としており、技術的なハードルが下がることで非技術者も開発に参加できるようになりました。
これらのことが、試行錯誤しながら価値を作り出すDX時代のニーズに非常にマッチしており、ローコード開発の急速な広がりを後押ししていると考えます。

──部品を組み合わせたシステム構築をもう少し具体的に言うと、どのようなイメージでしょうか?

徳山

わかりやすいように、家の模型を作ることに例えてみます。
従来のコーディングによる開発は、言ってみれば粘土を練り上げて家の模型を作るイメージです。
粘土はどのような形にも変形できますので、細かいところまで精密に作ることができる一方で、熟練した技術者でなくてはきれいな家の模型を作るのは難しいでしょう。
一方、部品を組み合わせるだけのノーコード開発と呼ばれる手法は、ブロックを使って組み立てるようなものです。
ブロックには窓やドア、階段や屋根など様々な部品が揃っていることをイメージしてみてください。
決まった規格のブロック群を組み合わせることで誰でも模型を作ることができます。
ただし、ブロックの組合せで実現できないデザインや機能を作ることはできません。
ローコード開発はスクラッチ開発とノーコード開発の中間で、ベースとなるシステムをブロックの組合せで素早く作り、こだわりたい部分に粘土を追加して作りこむイメージと言えます。まさにいいとこ取りですね。

実際のローコード・ノーコード開発では、アプリケーションを実装するときに、GUIを使って、マウスのドラッグ&ドロップを中心に開発を進めていきます。例えば、画面作成の場合は、テンプレートとなる画面の柄・素材を選んだ上で、パワーポイントのオブジェクトを配置するような感覚でボタンや表などの部品をドラッグ&ドロップで画面上にポンポンと置いていくことで作っていきます。また、処理の流れに関しても、もともと用意されている様々な処理部品(例えば、データを登録する、条件を分岐させるなど)を繋げていくことによって作成をしていく、というようなイメージになります。
ノーコード開発の場合はGUIで完結することができますが、例えば官公庁のお客様の場合、より複雑で規模の大きいシステム開発を行うため、部品の組み合わせだけでは実現できない部分が出てきます。そういった痒いところにコーディングで補うことができるのが「ローコード開発」です。

──なるほど、視覚的に開発を行えるとなると、熟練の技術者でなくても開発に携わることができますね!

──官公庁のお客様も注目されているとのことでした。ローコード開発に関するお問い合わせは実際に増えているのでしょうか?

徳山

そうですね。ローコード開発は1-2年で大きく注目を集め、昨年度から我々NECへの相談も急増しています。
私が社内でローコード開発の推進体制を立ち上げた2020年度は、社内でも『官公庁のお客様のシステム開発ではローコード開発やアジャイル開発は合わない』という意見が多くあり、相談もほとんどありませんでした。しかしながら、先ほども申し上げたようにコロナ禍が後押しとなり、お客様側でローコード開発による成功事例が増えてきた2021年度から、相談件数が急激に増えました。
最初のうちはNECからお客様に対してローコード開発を活用してはいかがですか?と提案する形も多くありましたが、最近ではお客様からローコード活用を検討してほしいという相談をいただくようになりました。ローコード開発の活用検討が仕様書に明記されるようにもなっています。
更には一歩踏み込んでローコード開発を活用し「簡単な画面項目や処理の追加、修正に関しては自分たちで行いたい」というご相談もお客様からいただくようになりました。

──ローコード開発の認知が広がってきているということですね。官公庁のお客様からはどのような案件でご相談があるのでしょうか?

徳山

お客様からご相談いただく案件は大きく二つのパターンに分かれます。
一つ目は新規業務立ち上げに伴うシステム開発のご相談で、全体の2/3ほどがこれにあたります。
ローコード開発への期待は、素早く小さいアプリケーションをリリースし、市場の変化に合わせながら大きく育てるものです。過去に例が無く、先の読みにくい新たなシステム実装は、従来のようないきなり全てを完成させるやり方ではリスクが大きくなります。試行錯誤を繰り返すことによって国民・住民に適したシステムに近づけていくことが大切であり、まさにローコード開発の良さを活かせる領域となります。中には開発期間が一ヶ月から数か月程度と短期間で導入を希望される場合もあり、これまでには考えられなかったスピード感を期待されるようになりました。
二つ目は、既存システムのモダナイゼーションに合わせたアーキテクチャ刷新に対するローコード活用の相談です。
官公庁のお客様が取り扱うシステムは規模が大きく、度重なる改修の結果、容易に変更することが困難になっていることが多くあります。そんな中、現在多くの行政システムはクラウドへのシフトを行っており、併せてレガシーなシステムを新しいアーキテクチャに刷新し、改修を容易に行えるようにしたいという要望が増えています。モノリシックなアーキテクチャを複数のサービスに分解し、画面回りなどの変更が頻繁に入る部分に効果的にローコード開発を組み合わせることで、柔軟な変更が可能なアーキテクチャに作り変えることを期待されています。

──ローコード開発の良さを開発目線からより具体的に教えていただけますか?

徳山

それでは、ローコード開発の良さを、じゃんけん勝敗判定システムの構築を例に説明します。
じゃんけんの勝敗判定ロジックをコーディングして作ることを考えてみましょう。
じゃんけんのルールは誰にとっても同じです。日本どこに行ってもチョキがグーに勝つことは無いでしょう。
しかし、勝敗判定をロジックに起こそうとする様々な方法があります。
ある人はお互いの出し手の組合せを全てパターン化するかもしれません。
ある人は出し手を数値化して差分によって勝敗を判定するかもしれません。

この結果、①人によってロジックの表現パターンが異なる(=属人化)②ロジック設計や実装の工数が掛かる③コーディングミスが発生する可能性があるといったことが考えられます。

ローコード開発では、じゃんけん勝敗判定のような汎用的なロジックはあらかじめ部品化されています。
アプリケーション開発においては、『じゃんけん勝敗判定』という部品をポンと処理に組込むだけで実装が完了するイメージです。
この結果、開発者が自分なりのロジックを考えてコーディングを行うことから、①独自実装が不要(俗人化解消)②部品を選ぶだけでOK(実装工数削減)③品質は担保されている(テスト工数削減や品質向上)といった効果を得ることができます。

また、多くのローコード開発を提供する製品は基本的なセキュリティ対策を実装済みであることが多く、利用者の安全性を確保できると同時に開発側の負担を下げることに繋がります。

これらの特長は開発のハードルを下げることに繋がりますので、システム構築に非技術者が参画することを可能とし、技術者と非技術者が共創する世界を後押しすることもローコード開発の良さの1つと言えます。

──ローコード開発は複数のメリットがあるのですね。その上で、ローコード開発が向いているサービスや機能の特性はどういったものでしょうか?逆に、向いてないサービスや機能などがあれば教えていただけますでしょうか。

徳山

ローコード開発は部品を組み合わせてものづくりをするという特性がありますので、どんな場合でも必ずローコード開発が良いというものではありません。
ローコード開発を採用するかどうかのわかりやすい判断ポイントを5つご紹介します。

一つ目は、デザインに対する細かい指定があるかないかです。
ローコード開発は部品を組み合わせて素早く柔軟にものづくりをしていきます。そこでは、作られたアプリケーションそのものではなく、そのアプリケーションを使った人の体験を価値に置いています。
そのため、色合いや見た目などの直接的なデザインそのものに細かい指定がある場合、用意された部品で実現できる範囲を超えてしまうとカスタマイズする必要が出てくるため余計な工数がかかることになります。
ニーズに合わせてデザイン側を柔軟に変更することが難しい場合には、コーディングでの開発の方が向く場合もあります。

二つ目が処理の複雑さになります。
ローコード開発で処理を実装する場合、例えばフローチャートのようなわかりやすい形式で記載をしていきますが、複雑な処理はかえってわかりにくくなる場合もあります。例えば、銀行の勘定系などお金を計算するようなシステムでは複雑なループや分岐の処理がたくさんあります。フローチャート上でのロジックの記載は非常に難しく、ローコード開発は向かないでしょう。こうした場合にも、コーディングでの開発の方が効率的な場合があります。

三つ目は汎用的な業務に当てはめる場合です。
ローコード開発は迅速柔軟に実装ができると言っても、要件に合わせてものづくりをしていることには変わりません。
そのため、例えばSaaSやパッケージのように既に用意されている製品で対応可能な場合にはまずはそちらを使うことを前提とした方が良いでしょう。ただし、始めはSaaSやパッケージ製品で対応可能でも将来的な業務の拡大でシステムにカスタマイズが必要となることが想定される場合は、あらかじめ変化することを前提としたローコード開発をベースにシステム実装しておくと良い場合もあります。また、SaaSやパッケージ製品を利用する場合は、業務フローをSaaSやパッケージ製品に合わせる必要があります。すでに業務フローが確立しており、熟練した利用者がいる既存システムのモダナイゼーションの場合、業務フローを変えずにシステム側を業務フローに合わせて作った方が良い場合もあります。こうした場合は汎用的な業務だとしてもローコード開発をベースに業務に合わせた作りこみを行うと良いでしょう。

四つ目はカスタマイズの頻度です。
ローコード開発プラットフォームやローコード開発ツールは多くの場合、システムの利用中に利用料が発生します。ローコード開発の良さは初回導入時の効率的な導入だけでなく、その後も柔軟に変更し続ける事が出来るという点です。一回ドンと導入して、その後5年も10年も更新をせずに同じものを使い続けるような場合は、無駄に利用料がかかり続けることになる可能性があります。運用開始後のITライフサイクル全体を考えた上で、ローコード開発のプラットフォームを使うか、利用料の発生しない形で構築するかを検討することが良いでしょう。

最後に、五つ目は非技術者が使う場合の使い分けです。 ローコード開発やノーコード開発というものは、非技術者でも開発に参加できるところがポイントです。
非技術者の参加の仕方には共創と内製化という2つの考え方があります。
非技術者の方が0から自分たちが使うアプリケーションやツールを開発するという場合は、ノーコード開発プラットフォームやローコード開発ツール、マイクロソフト社のPower Appsのような初心者でも使いやすい製品を採用すると良いと考えます。 一方で、ローコード開発がターゲットとする領域は、ある程度規模が大きいシステム開発になります。この場合、非技術者の方が0からすべてを作るということが難しくなります。
例えば、ベンダーや技術者が導入したシステムに対して非技術者の方がフロントの画面部分のカスタマイズをするなど、分担して共創するという観点でローコード開発が活きてくると考えています。

──なるほど、構築対象のサービスや機能の特性からローコード開発を採用すべきか判断する必要があるということですね。
今回はローコード開発とは何か、というお話から、寄せられる期待、そして開発に取り入れる際のポイントなどを伺いました。
求められる価値がこれまで以上に変化する現代で、ローコード開発によって「変化することを前提に素早くシステムを使える状態にすること」を実現し迅速に社会に実装していくことが可能になるということがわかりました。
開発の選択肢としてローコード開発を加えることで新たな価値創造につながるかもしれません。

第2回コラムでは、ローコード開発製品の選び方や製品の詳細など
具体的に解説しています。ぜひお読みください。

行政DXに役立つ「ローコード開発」について、わかりやすく解説した全3回のコラムです。
合わせてぜひお読みください。

解説者紹介

徳山 慎一

NEC
クラウド・プラットフォームソリューション統括部
マネージャー

長野県中野市出身。2020年1月にキャリア採用にてNECに入社。
DXが求められる中、官公庁領域においても迅速・柔軟な開発手法の必要性が高まることを感じ、役員へのプレゼンを経て投資を獲得。
2020年秋頃よりローコード活用やアジャイル開発を推進するNECグループ横断のタスクフォースを立ち上げ、現在に至るまで200名を超える様々な領域のプロフェッショナルを巻き込みながら活動を牽引する。

お問い合わせはこちら