データ活用やDXがどんどん解る用語集   
ノーコード開発(No-code development)

「ノーコード開発(No-code development)」

データ活用やDX成功に必要な考え方を、各種するキーワードの解説で理解できる用語解説集です。
今回は、今後のビジネスの現場におけるIT利活用において重要な要素になると考えられる「ノーコード開発(No-code development)」について考えてみましょう。

ノーコード開発(No-code development)とは

 

ノーコード開発(No-code development)あるいはノーコード開発環境とは、従来であればソースコードを書いてプログラミングする必要があったソフトウェア開発などの高度なIT利用を、GUI上での操作だけでソースコードを書くことなく実現することを可能にするものです。
昨今、ビジネスにおけるITの重要性が非常に高まっている一方、ITエンジニアが不足している状況を解消する手段として、あるいはビジネスの現場が自らITを活用する内製化を実現する手段として、今後のIT利活用において注目されています。

【くもラジ】「ノーコード」「ローコード」「ノンプログラミング」ってどう違うの?(3分49秒)

Vtuberのくも子とハルカが、今話題のIT情報をわかりやすくお届けします。この動画では、「ノーコード」「ローコード」「ノンプログラミング」の違いをお伝えします。

従来のIT利活用:「まずエンジニアが必要」で進めにくい

従来、本格的にITを活用しようとすると多くの場合エンジニアが必要になりました。専門技能を持ったエンジニアがプログラミング言語でソースコードを書いてITシステムを開発しないと実現が難しいことが多くありました。

例えば自社オリジナルの業務システム、自社独自のスマホアプリ、高度なデータ活用を実現できるデータ基盤など、特に昨今DXと呼ばれているようなビジネスでのIT利活用を実現しようとすると、エンジニアを確保して、自社のためにプログラミングをしてもらう必要がありました。

しかしながら、十分なスキルのあるエンジニアは採用が難しい状況が続いており、各社のニーズに対して十分な人材供給があるとは言えない状況です。エンジニアというだけで人材確保自体が難しい状況ですが、加えて本来望ましいのは、ビジネス側がしっかり解っていてエンジニアリングのスキルもある人員の確保であり人材確保は容易ではありません。

さらには、エンジニアが確保できても、自分たちが実現したいことをその都度エンジニアに伝えて開発してもらうやり方では、開発に時間がかかってビジネスの速度低下につながりやすく、作ってほしいものがうまく伝わらず望んだITシステムが開発できないこともあります。

  • ITで取り組みたいことがあってもエンジニアが居ないと(従来は)実現できない
  • エンジニアの採用は容易ではなく、エンジニアに自分たちが作ってほしいものを伝えて理解してもらうことも難しい
  • 自社では無理だと外注すると多くの費用がかかり、思った通りのITシステムはなかなか開発できない(だからこそ今、内製化が必要だと言われている)
  • 自社のビジネスを解っていてITスキルも高い人材が要望されがちですが、きちんとしたスキルのあるエンジニアの採用だけでも難しいため、多くの場合とても困難

ノーコード開発が、ビジネスにもたらしうるインパクト

そこで昨今注目されるようになったのが、「ソースコードなし(No-Code)」でも従来プログラミングが必要になったようなことを可能にする「ノーコード開発」です。プログラミング言語を覚えてソースコードをタイプしてアプリケーション開発を行う代わりに、例えば「GUI上でアイコンを配置して設定をする」ことにより、自社にとって必要なITを実現可能にします。

ノーコードのメリットは、エンジニアの確保が難しい人材難の問題に対処できることにとどまらず、自社ビジネスにとって必要なITシステムを内製化し、迅速かつ柔軟に開発できるようになるメリットもあります。

ノーコードなら、自分たちの要望をプログラマに説明して開発してもらう代わりに、ビジネスの業務の現場が自分たち自身でIT開発に取り組むことも可能にします。ビジネスの当事者ですから、ビジネスの理解は当然あり自分たちに何が必要で何が役に立たないかも判断が的確かつ迅速になります。

例えば、新商品を受注システムに追加するとします。どういう新商品で注文の流れがどう違うのかなどをエンジニアにドキュメントを作って説明し、一週間後に実装を見て、いやいやそうではないんだよね、と修正をお願いしてまた一週間、みたいなことでは時間も手間もかかって思った通りに作り上げるのは大変です。

一方で、現場の人はどういう新商品なのか説明せずとも知っています、そういう当事者が自らノーコードを活用してすぐ作り、自分たちでアイディアを出してその場で開発を進められるなら、当然にビジネスにとって必要なことがしっかり作りこまれやすくなります。

開発したあとの機能追加や変更についても、現場主導で継続的にどんどん進めることが可能になります。ビジネスの変化の速度が高まっている時代であるとよく言われますが、ビジネスにとってITが必須な成分になった今、ITにも変化の力が求められます。ノーコードはITに変化の力をつける手段としても活用ができます。

販売の現場で必要なITが迅速に開発される、競合と戦うための臨機応変な機能追加もどんどん行われる、自社の経営やビジネス推進に必要なデータを集め・分析し・そこからビジネスの打ち手につなげるような仕組みが状況に適合しつつ機能している。このような望ましい状況を実現するハードルを大きく下げる可能性があるのがノーコード開発です。

  • エンジニアがプログラミング言語を活用してITを開発する以外の選択肢
  • エンジニアの採用難への解決策になりうるだけではなく、業務の現場が自分でIT開発に取り組むことを可能にする
  • 業務の現場が自らITを活用できれば、ビジネスにとって必要なことが作りこまれたITや、迅速に開発や変更が行われる体制を実現しやすい(変化の速度が高まっている時代にはとても重要なこと)

あるいはノーコード開発は「簡単になる」以上に「ビジネスに新しい価値をもたらす」ものであり、ビジネス側主導でのIT利活用の実現、速度と変化を重視したIT利活用を実現する手段として利用できます。

でもノーコード、大丈夫なの?(ノーコード活用で注意すべきデメリット)

ここまではノーコード開発の優れている点について紹介をしてきました。しかしながら、ノーコード開発は良いところばかりではなく、世間的にもノーコードと聞いたときに思い浮かぶことは称賛されるイメージばかりではないのもまた事実です。

どのような短所があるのか、それらを踏まえた上でノーコード開発を活用するためには、どこに注意し、何を心がければよいのか考えてみましょう。

簡易なものに過ぎないのでは?

簡単に使えるけれども簡易なことしかできないのではないか?そういう印象はあると思います。実際そのとおり、「簡単なことしかできない」ノーコード製品も実際に散見されます。

ただしすでに書いたように、簡単なことであっても自分たちで開発できるようになることは予想以上に意義があります。実際にできるようになることは何でどの程度か、その上で旧来の開発と比べて、どちらが自社にとって望ましいか考えてみるべきです。

過剰に騒がれている印象

例えばプログラミングが一切できなくてもITシステムが作れて、君もフリーランスとして活躍できる!などと、都合の良すぎるPRがなされていて、うさんくさく思えてしまうこともあるかもしれません。

あるいはそういう印象が放置されたまま持ち上げられていて、誰でも簡単にできるみたいな疑わしい説明を低スキルな人たちが称賛していて、できない人しか使っていないような印象もあるかもしれません。残念ながらそういう状況もあるように思います。

ただし全てのノーコード製品がそうではありません。製品にとって大きく違うところだと思います。ノーコードは製品の見極めが大事で、きちんとしたものを選ぶことが大事だとは思えます。

本格利用に適さない(途中で出来ないことが出てきて詰む)

これは本当に注意すべきことです。

簡単に作れると喜んで、業務で活用するITをあれこれ作りこんだとします。実際に作って運用するといろいろ要望が出てくるものであり、業務の例外に対応しないと実務では利用しづらい(例:年末年始だけ別ルールで処理する必要がある)ことが後からわかったりします。その結果、「様々な作りこみ」が必要になることがあります。

そういう状況になったときに、「そのノーコードツールの機能に限界があり作ることができない」ことが解って詰んでしまうことがあります。導入して業務で使い込んだ後だと、本当に困ったことになります。

実際の業務で必要なことが解っている人たちが、慎重かつ良心的に作ったツールであればそのようなことは起こりにくいでしょう。そのような見極めが必要になることがあります。

あるいは、予想しない事態が起こっても一般的に乗り越えられるような「高い作りこみ能力」が備わっているかを確認する必要があるでしょう。

本格利用に適さない(スケールしない、安定稼働しない、セキュリティ問題)

こちらも本当に注意すべきことです。本格的に利用してから困ることがあります。

最初は調子よく動いていても、本格的に業務で利用すると処理するデータ量が増えてきて、処理が遅くなって使い物にならなくなることがあります。年末のピークにシステムが止まるような状況は最悪ですし、利用が進んだ状況になってから発覚すると利用の中止が難しいことがあります。

また、バグが残っていて時々システムが落ちたりデータが壊れたりして、安心して使えないこともあります。ハードウェアの障害(どうしてもそういうことは時々起こります)でシステムが落ちたときに、障害発生時が考慮されておらず復旧できなくなり困ることもあります。脆弱性があってデータを盗まれるなどセキュリティ系の事故を起こしてしまうこともあります。

ノーコードの製品やサービスには、一見今風のデザインで立派に見えるけれど趣味のプログラミングと大差ないようなものもあれば、業務を担うITに必要な厳しい要件をしっかり理解してきちんと作ってあるものまで様々です。

「簡単に作れる」は、「成長するパスがない」であることも

簡単に作れます、その業務で必要なことも考えてあります、きちんと安定稼働します。ノーコード製品としては良くできていると言えます。しかしそれが原因で、人員のスキルが伸びなくなってしまうことがあります。

通常のプログラミング言語での開発であれば、エンジニアが腕を上げて高度なシステム開発に挑んでゆくことができます。ノーコード製品にもエンジニアが腕を振るって使いこなし成長できるものもありますが、一般的にはそのような余地が少ないものが多い傾向があります。

そのノーコード製品がきちんと機能することでなく、利用する人員のスキルを伸ばしてより大きな価値実現を実現できる伸びしろがあるものかも、考える必要があるでしょう。

何でもかんでもノーコード?

「ノーコード」の言葉そのものは、ソースコードを書かないこと以上の意味はありませんし、公式な言葉の定義も認定機関もありません。今現在、ノーコードは世間的にも話題のキーワードです。そうなると、とりあえずノーコードだと名乗っているだけの誠意のないプロダクトもどうしても出てきてしまいます。

ソースコードを書かなくて良いだけで全部ノーコードなのでしょうか。例えば、スマホアプリやクラウドサービスのほとんど全てはソースコードを書かずに利用できますが、それらがノーコードと名乗ってしまうと、なんだか良くわからなくなってきます。

そこで「ノーコード開発」とか「ノーコード開発環境」と読んで、プログラミング的なことに範囲を絞った言葉が使われることがあります。しかしプログラミングとは何なのか、それ自体もはっきりしないところがありますし、実務的にITについて考えるときには単なるアプリケーション利用よりも高度なことができるかなど、違う観点がより重要になることもあります。

「ノーコード」と「ローコード」の違いが判らない

ローコードについても世間での言葉の定義がはっきりしていないところがあります。

こちらもご覧ください
⇒ 用語集:ローコード開発(Low-code development)

ノーコードでは「コードを書かなくてよい」ことにフォーカスが置かれ、ローコードでは「コードを少し書くだけで済むので効率的である」ことにフォーカスされていることが多いのではないかと思います。その観点で、自分たちがどちらを使うべきか判断すれば、多くの場合適切に分類し判断できると思います。

しかしながら、ノーコードを名乗っているけれども少し作りこもうとするとソースコードを書かないと大半のことができないとか、ソースコードを基本書かない製品だけれど本格的利用を想定した製品で簡易な印象を受けたくないのでローコードを名乗っていることもあり、区分ははっきりしないところがあります。

ノーコード製品のタイプの分類例

「プログラミングしなければできないように思えることがGUI上の操作だけで出来てしまう」ものがノーコードであるとすると、例えば以下のように分類できるかもしれません。あまり良い区分ではないかもしれませんが。

  • アプリケーションなどフロントエンドの開発
    -スマホアプリや自社WebサイトやECサイトなど、「ユーザインタフェース」(人間との接点)をGUIで開発できるもの
  • データベース的なものの開発
    -クラウド上で、あるいはパッケージ製品として、「データベース」をユーザが定義してデータを活用したアプリケーションを作れるもの。
  • 何らかの操作や業務、データ処理の自動化をするもの
    -何らかの処理の自動化などを実現するもの
  • GUIでのプログラミング環境
    -子供にプログラミングを学習させるための、「GUIだけでプログラミングを体験できる」ようなもの
  • システムやデータの連携処理を実現できるもの(iPaaS
    -個別のアプリケーションやデータではなく、様々なシステムやデータを連携させる処理をGUIだけで作りこめるもの

見た目(ユーザインタフェース)を作りこんでそこから設定を行えば必要なものが出来るタイプのものがまずあると思いますし、データを定義すればWebデータベースなどが利用可能になりそこからデータを活用するアプリも作れるもの(kintoneなど)もあると思います。あるいはITシステム開発のようなことをノーコードで取り組む時に、アプローチが二つある(画面から作る、データやモデルから作る)ということなので、自社ではどちらで何を作るか検討すると良いでしょう。

また業務上の何かの処理を自動化すること、データの処理の自動化、ないしは何らかの高度な処理(機械学習の活用など)をGUIだけで実施できるタイプのものもあると思います。ノーコードと呼ぶべきか怪しいものも含まれそうですが、一方でこの辺はもっと分類したほうが良いかもしれません。

また「プログラミング体験そのもの」により重点が置かれていて、GUIで簡単にプログラミングができるので子供のプログラミング教育に使われているようなもの(Scratchなど)もノーコードの一種です。コードを書いてプログラミングする作業そのものがGUI化されているタイプですが、このタイプのUIでロジックが作りこめる機能がノーコードアプリに搭載されていることもあります。

また、「アプリを作る」とか「プログラミング体験をする」ような「コードを書く」印象とは距離感があるけれども、実務上非常に重要な領域として「iPaaS」があります。これは、実務でのIT利活用で実際に重要である、様々なクラウドやシステムやデータを連携させる機能をノーコードで効率的に実現できる手段になります。

こちらもご覧ください
⇒ 用語集:iPaaS

iPaaS:ノーコード活用の重要な要素である「つなぐ」技術

例えばノーコードでWebデータベースシステム(例えばkintoneで)を開発して、社内でのIT内製化が無事進み始めたとします。さらにはノーコードで自社のスマホアプリを作り、自社ECサイトをノーコードでうまく作ったとします。

そうなると次に問題になるのが「つなぐ」ことをどうするかです。例えばkintoneを十分に活用しようとしたら、他のクラウド(例えばSalesforce上のデータ)と連携することや、社内にあるExcelファイル上のデータと連携する必要が出てきます。これらは多くの場合、人が手作業で連携処理をしていることが多く、それで当然だと思われていることもあります。

同じようなことが自社で作ったスマホアプリにも、自社ECサイトでも発生しがちなはずです。さらには自分たちで作ったもの同士も、たとえばkintoneと自社ECサイトが自動でデータ連携できれば、その先に大きな可能性があることは想像できます。

これら「つなぐ」ニーズを通常のプログラミング言語による開発で解決すると手間がかかって非効率なことが多いですし、せっかくノーコードで内製しているのにその部分だけプログラミングではちょっと残念です。

そこで活躍するのがノーコードで様々なクラウドやシステム、データを連携できる手段です。例えばEAI」や「ETL」、「iPaaS」と呼ばれる、「DataSpider」や「HULFT Square」などの「つなぐ」技術が活用できます。

GUIだけで利用できる(きちんとノーコード)

通常のプログラミングのようにコードを書く必要がありません。GUI上でアイコンを配置し設定をすることで、多種多様なシステムやデータとの連携処理を実現できます。

「GUIで開発できる」ことは長所でもある

GUIだけでのノーコード開発は、本格的なプログラミングに対して簡易で妥協的な印象を受けるかもしれません。しかしながら、GUIだけで開発できれば「業務の現場の担当者が自分たち自身で主体的に取り組む」ことが可能になります。何と何を連携すべきかについても同様です。

ビジネスのことを一番良くわかっているのは現場の担当者です。彼ら自身によって、どのデータがどこにあると便利か、部門間を超えた連携処理の作りこみで注意すべきことなど、現場の知見をどんどん作りこめるのは、何かあるたびにエンジニアに説明してお願いしないと開発できない状況より、優れているところがあります。

本格的処理を実装できる

「GUIだけで開発できる」ことを謳っている製品は沢山ありますが、そういう製品に簡易で悪い印象を持っている人もおられるかもしれません。

確かに、「簡単に作れるが簡易なことしかできない」「本格的処理を実行しようとしたら処理できずに落ちてしまった」「業務を支えられるだけの高い信頼性や安定稼働能力がなくて大変なことになってしまった」ようなことは起こりがちです。

「DataSpider」や「HULFT Square」は、簡単に使うこともできますが本格的プログラミングと同等のレベルの処理の作りこみもできます。内部的にJavaに変換されて実行されるなど本格的プログラミングと同様の高い処理能力があり、長年にわたって企業ITを支えてきた実績もあります。「GUIだけ」の良さと、プロフェッショナルユースとしての実績と本格的能力の両方を兼ね備えています。

データ活用を成功させる「データ基盤」として必要なこと

多種多様なデータソースへの接続能力はもちろん必要になりますし、実業務をしっかり支えるためには大量のデータを処理できる高い処理能力も必要になります。その一方で、現場主導での柔軟かつ迅速な試行錯誤がどうしても重要になることもあります。

一般的には、高い性能や高度な処理の実現を求めると本格的なプログラミングや利用が難しいツールとなりがちで、現場での使いやすさを求めると利用しやすいが処理能力が低く簡易な処理しかできないツールになりがちです。

さらに加えて多種多様なデータソース、特にメインフレームなど昔からあるITシステムや現場のExcelなどモダンではないデータソースへの高度なアクセス能力、クラウドなど最新のITへのアクセス能力も併せて持っている必要があることも望まれます。

この条件のいずれかを満たすだけなら多くの手段があるでしょうが、データ活用をうまく進めるためにはすべての条件を満たす必要があります。しかし、現場でも十分に使えるが、プロフェッショナルツールとして高い性能や信頼性を兼ね備えている、そんなデータ連携の実現手段となると多くはありません。

iPaaSなので自社運用不要

DataSpiderなら自社管理下のシステムでしっかりと運用できます。クラウドサービス(iPaaS)のHULFT Squareなら、このような「つなぐ」技術そのもの自体もクラウドサービスとして自社運用不要で利用でき、自社での導入やシステム運用の手間がなく利用できます。

関係するキーワード(さらに理解するために)

  • EAI
    • -システム間をデータ連携して「つなぐ」考え方で、様々なデータやシステムを自在につなぐ手段です。IT利活用をうまく進める考え方として、クラウド時代になるずっと前から、活躍してきた考え方です。
  • ETL
    • -昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
  • iPaaS
    • -様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのことをiPaaSと呼びます。
  • ローコード開発
    • -ノーコード開発との区別が解りにくいこともあるローコード開発。コードを書く前提での考え方であり、その結果想定されるユーザ層や製品の性質も異なっていることがあります。

「つなぐ」取り組みに興味を持たれましたら

興味を持たれましたら、ITシステムやビジネスの問題を「つなぐ」考え方で解消する製品を実際に試してみてください。

「つなぐ」ツールの決定版、データ連携ソフトウェア「DataSpider」

当社で開発販売しているデータ連携ツール「DataSpider」は、長年の実績がある「つなぐ」ツールです。

通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発できるので、ビジネスについて良く理解し、自社のサイロ化の具体的な課題についても把握できる業務の現場が自ら活用に取り組めることも特徴です。

簡易な連携できるツールは世の中に多くありますが、GUIだけでプログラマではなくても十分に使える使いやすさをもちつつ、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」を備えています。IT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。

無料体験版や、無償で実際使ってみることができるオンラインセミナーも開催しておりますので、ぜひ一度お試しいただけますと幸いです。

用語集 コラム一覧

英数字・記号

あ行

か行

さ行

た行

な行

は行

ま行

や行

ら行

わ行

技術コラム一覧

おすすめコンテンツ

まずは無料で「つなぐ」をご体験ください

評価版ダウンロード

DataSpider Servistaのデータ連携を、まずはお確かめください。30日間無料でお試しいただけます。

無料体験セミナーに参加する

DataSpider Servistaの「つなぐ」を体験できる製品紹介・オンラインセミナーを開催しています。

Change Location

Are you visiting HULFT.com (Japanese language) outside Japan ?
When connecting "HULFT" to Japan from overseas, please select "HULFT8".

日本国外からHULFT.com(日本語)にアクセスされようとしています。
海外から日本の「HULFT」と接続する製品をお探しの場合、「HULFT8」をお選びください。