DXを加速する
「ノーコード ローコード」による開発とは?
「ローコード」「ノーコード」とは、コンピューターへの指示を記述するソースコードを書くことなく、あるいは記述量を抑えてアプリケーションやシステムを開発するためのテクノロジーです。DX(デジタルトランスフォーメーション)を推進するうえで有用であるため、多くの企業でそのようなツールの採用が進んでいます。
ノーコード ローコードとは
アプリケーション開発において、昨今新たな手法として広まっているのが「ノーコード(no-code)」や「ローコード(low-code)」と呼ばれている開発手法です。
ノーコードやローコードに含まれる「コード」は、ひもやケーブルのことではなく、コンピューターで処理する内容を記述した「ソースコード」を指しています。両者の違いはソースコードを記述する量で、ノーコードはソースコードを書かない開発、ローコードはソースコードの記述量を最小限に抑えて開発することを意味しています。本稿では、この2つを総称してノーコード ローコードとします。なお、エンジニアなどがソースコードを書くアプリケーション開発(スクラッチ開発)は、ノーコード ローコードとの対比で「プロコード」と呼ぶこともあります。
昨今では多くの企業がノーコード ローコードに注目していて、それを実現するためのプラットフォームの導入が加速しています。IDC Japanが2021年11月に公表した、国内企業におけるノーコード ローコードのプラットフォームの導入に関する調査結果を見ると、37.7%の企業が「導入している」と回答しています。
◇国内企業におけるローコード/ノーコードプラットフォームの導入状況
出典:IDC Japan「国内企業におけるノーコード/ローコードプラットフォームの導入状況に関する最新調査結果を発表」
さらに「導入に向けて実装/検証を行っている」と回答した企業の割合も12.8%と高く、多くの企業がノーコード ローコードを前向きに捉えていることがわかります。
このように、ノーコード ローコードは注目を集めていて、多くのベンダーがプラットフォームを提供しています。たとえばマイクロソフトでは、「Microsoft Power Apps」を提供しています。同社のクラウドソリューションである「Microsoft 365」で提供されている「SharePoint Online」などと連携可能なうえ、開発したアプリケーションはスマートフォンでも利用できるといった特徴があります。
Salesforce.comが提供しているプラットフォームは「Lightning Platform」です。ノーコード、つまりソースコードを記述せずにさまざまなアプリケーションを開発できるうえ、必要に応じて少量のソースコードを書いて複雑な処理を行わせることも可能です。
Googleは、「Google AppSheet」でノーコードでの開発を実現しています。あらかじめ用意されているテンプレートや、Googleドキュメントで提供している表計算ソフトである「Googleスプレッドシート」で管理しているデータを用いてアプリを開発することも可能です。
特にビジネスアプリケーションの領域におけるローコードの開発プラットフォームとして、大きなシェアを誇っているのがOutsystems社のソリューションです。ERPパッケージとして世界中で使われている、SAP S/4HANA Cloudと連携するアプリケーションをローコードで開発できるなど、ビジネスニーズに即した仕組みを備えています。
Amazonもノーコード ローコードの開発市場に参入しており、ノーコードでWebアプリケーションやモバイルアプリケーションを開発できる「Amazon Honeycode」をリリースしました。
このほかにも、情報共有に使うアプリを素早く開発でき、開発したアプリをモバイル環境でも利用可能なサイボウズの「kintone」や、Excelファイルで管理しているデータから簡単にWebアプリケーションを構築できるジャスミンソフトの「Wagby」など、さまざまなノーコード ローコードの開発プラットフォームが存在しています。
なおノーコード ローコードの開発プラットフォームによっては、Webブラウザーやモバイル、デジタルツイン、IoTなどを相互連携する仕組みを備えており、こうしたプロダクトのことをマルチエクスペリエンスプラットフォームと呼びます。デジタルツインやIoTなどのトレンドは、日々変化しているため、マルチエクスペリエンスプラットフォームを提供するプレーヤーのカオスマップも常に変化し続けています。
ノーコード ローコードがもたらすメリット
それでは、なぜノーコード ローコードがこれほど注目されているのでしょうか。その理由の1つとして挙げられるのが、開発期間の短縮です。
アプリケーション開発や基幹システムの更新などの際に行われるシステム構築は、そのアプリケーションやシステムを必要としているユーザーからの要望をまとめて具体化する「要件定義」、開発するものの概要や機能一覧などをまとめる「基本設計」、アプリケーション/システムの内部の仕組みなどを細かく決める「詳細設計」、サーバーの構築やソースコードの記述(コーディング)などを行う「開発(実装)」、開発したものが正しく動作することを確認する「テスト」といったフェーズに分けられます。
これらのフェーズでは、開発ツールなどを駆使して作業が行われますが、そのうち最も時間を割くことになるのが開発フェーズで、新規アプリケーションや新規システムの開発では、全体の3割程度の時間を割くことが一般的だと言われています。しかしノーコード ローコードを採り入れれば、この開発フェーズを短縮することが可能になり、プロジェクト全体の工期短縮も図れます。
開発期間の短縮は、開発コスト削減にも直結します。アプリケーション開発やシステム開発をシステムインテグレータなどへ外注した場合、作業する人間の数と作業に要する時間の掛け算で費用を見積ることが一般的です。そこでノーコード ローコードを利用し、作業量を減らすことができれば、開発に必要な人数を減らしたり期間を短縮したりできるため、開発コスト削減につながります。
開発するアプリケーションやシステムの品質を一定に保ちやすいことも、ノーコード ローコードのメリットです。ソースコードをすべて人間が記述する従来の開発手法では、どうしてもプログラミングのミスが発生しやすく、これがバグとなってアプリケーションやシステムの品質を低下させることになります。しかしノーコード ローコードでは、ソースコードの大部分を自動的に生成するため、人為的なミスを低減することが可能です。これによりアプリケーションやシステムの品質を高められます。
バグを減らすことができれば、セキュリティ上のリスクの抑制にもつながるでしょう。人為的なミスによって生じたバグのうち、セキュリティ上のリスクになるものを脆弱性と呼びます。つまりノーコード ローコードによってバグ発生が少ない状態を実現できれば、脆弱性が発生するリスクも抑えられるというわけです。
またノーコード ローコードの開発プラットフォームが生成するコードのセキュリティレベルが高ければ、開発するアプリケーションやシステムのセキュリティレベルも高まります。さらにデータの暗号化などといったセキュリティ機能をノーコード ローコードの開発プラットフォームが備えていれば、それらを利用することでセキュリティ対策のレベルを向上できます。
ソースコードを記述する従来のアプリケーション開発よりも敷居が低いことから、エンドユーザー自身が自ら必要とするアプリケーションを開発する、エンドユーザーコンピューティングを実現し、ITの民主化を果たせるメリットも見逃せません。
さらに、プラットフォームによっては開発したアプリを管理するための仕組みを備えています。これを利用すれば、野良アプリなどと呼ばれるIT部門が把握していないアプリケーションの利用を防ぐ、シャドーIT対策も図れて、ITガバナンス強化にもつながるでしょう。
DXの実現にもつながるノーコード ローコード
このノーコード ローコードは、DXを推進するための手段としても大きな期待が寄せられています。
DXを実現する上で重要なポイントはいくつもありますが、その1つとして重視されているのがアプリケーション開発、システム開発の迅速化と導入迅速化、それを実現するためのシステム内製化です。
特に日本企業の場合、アプリケーションやシステムの開発は外部のシステムインテグレータなどへ外注することが一般的でした。この外注には、社内に開発リソースを持つ必要がない、外部のノウハウを取り込みやすいなどといったメリットがある一方、自社のビジネスを詳細に把握しているわけではないため、要件を事細かく伝える必要があるほか、修正や機能の追加が必要になったときに迅速に対応できないなど、スピード面で課題が生じやすいといったデメリットがあるのも事実です。
そこで注目されたのが内製化です。社内での開発であれば、ユーザー部門のニーズも把握しやすく、また改修する必要が生じた際にも外注の場合よりスピード感をもった高速開発が可能です。
この内製化に踏み切るためには、当然アプリケーションや開発ツールを活用してシステムを開発できる人材が必要になります。しかし、これまで多くの日本企業は社外に依存していたため、内部に開発できる人材がいないという問題に直面しています。その課題解決策として、ノーコード ローコードが注目されているというわけです。
ソースコードを書く必要がない、あるいは最小限の記述でアプリケーションやシステムを開発できるノーコード ローコードであれば、学習コストを抑えてシステム開発ができる人材を育成することが可能になります。技術ハードルが低い、つまり開発しやすいため、場合によっては、IT部門ではなく、ユーザー部門が自ら開発することも考えられるでしょう。スピードが重視されるDXにおいて、ノーコード ローコードが持つこのメリットは極めて大きな意味を持ちます。
アジャイル開発との相性のよさも、DXにおけるノーコード ローコードの見逃せないメリットでしょう。
アジャイル開発とは、計画/設計/開発/テストといったプロセスを何度も反復し、アプリケーションやシステムを開発する手法です。メリットとしては、プロジェクトの途中で仕様が変更されても柔軟に追従できることが挙げられます。特にDXでは、ユーザーニーズやビジネス環境の変化に迅速に対応することが求められるため、それを可能にする開発しやすい手法としてアジャイル開発に注目が集まっているのです。
アジャイル開発が変化に対応できるのは、開発プロセスを何度も反復する形になっているためです。これにより、アプリケーションやシステムが完成するよりも前に、小刻みにその時点での成果物をユーザーに見てもらうことができるため、仮にユーザーが求めていたものと違っていたり、あるいはビジネス環境が変化して修正が必要になったりしても、最小限の手戻りで対応できます。
ただし反復するサイクルが長ければ、アジャイル開発の良さがスポイルされることにもなりかねません。そこで有効になるのがノーコード ローコードです。コードを書く必要がない、あるいはコードの記述量を抑えられることから高速開発を可能にするノーコード ローコードは、アジャイル開発と非常に相性がよいと言えます。
目指すべきはIT部門のトランスフォーメーション
さて、ビジネスにおけるITの適用領域は拡大し続けており、クラウドファーストやクラウドネイティブが当たり前になりつつあり、さらに業務DX化が求められている現在、IT部門が担うべき役割は拡大し続けています。その中でユーザー部門からのリクエストに迅速に応えるために、ここまで紹介したノーコード ローコードの開発プラットフォームなどを利用し、アプリケーションおよびシステム開発を内製化したいと考えるのであれば、IT部門のトランスフォーメーションが必要になるでしょう。
とはいえ、従来IT部門で担ってきた業務も継続しなければなりません。そこで検討したいのが、積極的なアウトソースによる運用保守の合理化をはじめとする業務効率化です。
NTT Comでは、IT部門の変革を支援できる幅広いソリューションを提供しています。たとえば「X Managed Platform®」は、オンプレミスだけでなく、パブリッククラウドも含んだマルチクラウド・ハイブリッド対応の統合ICT運用基盤プラットフォームであり、システム運用の負担を大幅に軽減することが可能です。
IT運用の現場で広く使われている、「ServiceNow」をクローズドVPN経由で利用できる「ServiceNow Secured over VPN」も有効なソリューションです。さらにNTT Comは、自身がServiceNowを利用することにより、多くの事例や知見も有していることも見逃せません。ちなみに、「Now Platform」はノーコード ローコードの開発環境なども提供しています。Excelのデータを読み込めば、項目と値をデータベースに格納することで容易にデータモデルを作成できる機能もあります。
セキュリティ対策に対する運用が負担になっているのであれば、ぜひ検討したいのがエージェント未導入ノードの探知が可能なツールである「Tanium」を利用した、「エンドポイントマネジメントソリューション」です。また、AIを活用して内部攻撃やゼロデイ攻撃を検知する「AIアノマリー検知」も、運用代行を行うマネージドソリューションとして提供しているため、運用の負担を軽減しつつ、セキュリティレベルを高めるのに役立ちます。
またNTT ComはAmazon Web Services(aws)のクラウドソリューションの導入において、ネットワーク構築から保守運用までトータルで対応することが可能です。クラウドを積極的に活用したいが、トラブル対応や運用保守に不安を感じているのであれば、ぜひ検討しましょう。
こうしたソリューションを戦略的に導入すれば、最前線でDXを積極的に推進するIT部門へのシフトを加速できるほか、経済産業省が警鐘を鳴らす「2025年の崖」を回避することにもつながるでしょう。