昨今、世界的に開発領域で注目を集めている「ノーコード」。ノーコードへの注目度の高まりは、企業のデジタルトランスフォーメーション(DX)※1と大きな関わりがあります。またノーコードと似た開発手法である「ローコード」も注目が高まっています。ノーコードとローコードの違い、またノーコードやローコードは皆さんがエンジニアとして働くときにどう影響するのかについて、取り上げます。
キャリアマップ編集部 文/ITライター 関洋子
キャリアマップ編集部 文/ITライター 関洋子
なぜノーコード開発が求められるのか?
ノーコードとは、その言葉通り、ソースコードを記述することなく、WebアプリやWebサービスの開発ができる開発手法やツールのことです。最大の特徴は、プログラミングの知識がなくても、簡単にWebアプリやWebサービスの開発ができるようになること。つまり、これまでのように専門知識を持つエンジニアに頼んで開発してもらう必要がなくなることです。
経済産業省が2018年に発表した「DXレポート~ITシステム『2025年の崖』の克服とDXの本格的な展開~(通称、DXレポート)」によると、2025年までの間に、企業は複雑化・ブラックボックス化(内部構造がわからなくても利用できてしまっている状態を意味する)した既存のシステムについて、廃棄や手をつけずにそのままにするものなどを仕分けしながら、必要なものについて刷新しつつ、DXを実現しないと、25年以降、最大12兆円/年(現在の約3倍)の経済損失が生じる可能性があると予想されています。つまりあらゆるユーザー企業がDXに取り組むことで、「デジタル企業」になることを示しており、そのためにはあらゆる事業部門でデジタル技術を活用し、事業のデジタル化を実現できる人材を育成することが求められているのです。もう一つの理由がIT人材の不足が予想されていること。このような流れもあり「ノーコード開発」に注目が集まっているわけです。
出典:経済産業省「IT人材需給に関する調査」
ノーコード開発はカスタマイズができない
ではノーコード開発が当たり前になれば、エンジニアが不要になるかというと、決してそうではありません。これはいろいろなところで語られていることですが、ノーコード開発はあらかじめ用意された部品を組み合わせることで、Webアプリやサービスを開発していきます。例えば「こういう処理をさせたい」と思っても、部品がなければできません。複雑な要件がある、大規模なモノの開発はノーコード開発では難しいというのが実情です。
しかも一つのノーコード開発ツールを手に入れれば、あらゆるアプリが開発できるわけではありません。作成したいものに、選択するノーコード開発ツールは変わってくるのが実情です。ECサイトであれば「Shopify」や「STORES」、Webサイトであれば「STUDIO」、モバイルアプリであれば「Adalo」や「Thunkable」などが挙げられます。
例えば「Shopify」であれば、ECサイト作成のための機能はもちろん、決済や受注などのバックエンド※2、マーケティングや安全性を担保する仕組みなど、インターネット上での販売に必要な機能を網羅。さらに実店舗やSNSチャネル、マーケットプレイスとも連携できるマルチコマースプラットフォームになっているため、例えば実店舗しか持っていなかったお店でも、手軽にオンライン販売を始めることができるような仕組みとなっています。Shopifyのプラットフォーム上では170万を超える事業者のECサイトが稼働しています。
ですが、ビジネスの規模が大きくなり、「ERP※3と連携したい」というニーズが出てきたとしましょう。確かにShopifyでもそういうニーズに応えることが可能です。ですが、そこで必要になるのが「プログラミングの知識」。ShopifyとERPを連携するなど、ニーズに合わせてカスタマイズする場合は、カスタムコードの記述が必要だからです。このようなコードを少し記述する開発手法がローコード開発です。つまりShopifyはノーコード開発ツールではありますが、ローコード開発機能も提供しているというわけです。またShopifyではさまざまなAPI※4を提供しており、それを使ってさまざまなことがさまざまなアプリの開発ができるようになっています。そのようなアプリを開発するのは、エンジニアでなければできません。
ノーコード開発とローコード開発の違い
ここでローコード開発についても説明したいと思います。ローコード開発とノーコード開発の違いは、ソースコードを記述する必要があるかどうか。ソースコードを記述するといっても、ノーコードのゼロ(0)に対し、ローコードという言葉どおり「ほとんど書かない=少量」です。ローコード開発はソースコードをほとんど記述することなくシステム開発が行える手法、ツールです。ちなみにWebサイト制作する場合によく使われるOSS「WordPress」は、ローコードツールの代表例です。WordPress.comでは提供されているGUI(ユーザーが使用するインターフェースのこと)を使うことで、簡単にWebサイトやブログなどの作成ができるようになっています。
また業務システムをローコード開発するツールとして、昨今、注目を集めているのが「Claris FileMaker」です。FileMakerはノーコード機能も提供するローコード開発プラットフォーム。では、どんなアプリケーションが開発できるのでしょうか。
その一例が、「日本ECMOnet COVID-19 重症患者状況の集計」です(https://crisis.ecmonet.jp/)。これは本集中治療医学会、日本救急医学会、日本呼吸療法学会が認定・指定している全国約700の医療機関におけるECMOや人工呼吸器の数と稼働数、患者の予後などをぱっと見てわかるように視覚化したアプリです。日本COVID-19対策ECMOnetが、新型コロナウイルス感染症(COVID-19)が拡大する前の20年2月に、たった3時間で構築したアプリケーションです。もともと医療業界ではマイクロソフトExcelでの集計が難しくなると、FileMakerを利用するのが一般的となっていたそうで、2012年に運用が始まった日本ICU患者データベース(JIPAD)もFileMakerで構築されていたことがきっかけで、このアプリもFileMakerで構築されました。
ただ、FileMakerは非エンジニアからプロの開発者まで幅広いスキルの人が利用できるものですが、先のアプリケーションの開発は、医師だけではなくエンジニアの技術支援を受けて実現しています。FileMakerを使ったローコード開発の現場では、業務担当者とエンジニアがタッグを組み、アジャイル開発※5で業務システムの開発を行っているのが現状です。
このようにノーコード/ローコード開発は、あくまでも目的が決まっているもので、複雑ではないアプリやサービスをより短期間に開発することに適しているソリューション。昨今のアジャイル開発に非常にマッチしている開発手法と言えるでしょう。
また業務システムをローコード開発するツールとして、昨今、注目を集めているのが「Claris FileMaker」です。FileMakerはノーコード機能も提供するローコード開発プラットフォーム。では、どんなアプリケーションが開発できるのでしょうか。
その一例が、「日本ECMOnet COVID-19 重症患者状況の集計」です(https://crisis.ecmonet.jp/)。これは本集中治療医学会、日本救急医学会、日本呼吸療法学会が認定・指定している全国約700の医療機関におけるECMOや人工呼吸器の数と稼働数、患者の予後などをぱっと見てわかるように視覚化したアプリです。日本COVID-19対策ECMOnetが、新型コロナウイルス感染症(COVID-19)が拡大する前の20年2月に、たった3時間で構築したアプリケーションです。もともと医療業界ではマイクロソフトExcelでの集計が難しくなると、FileMakerを利用するのが一般的となっていたそうで、2012年に運用が始まった日本ICU患者データベース(JIPAD)もFileMakerで構築されていたことがきっかけで、このアプリもFileMakerで構築されました。
ただ、FileMakerは非エンジニアからプロの開発者まで幅広いスキルの人が利用できるものですが、先のアプリケーションの開発は、医師だけではなくエンジニアの技術支援を受けて実現しています。FileMakerを使ったローコード開発の現場では、業務担当者とエンジニアがタッグを組み、アジャイル開発※5で業務システムの開発を行っているのが現状です。
このようにノーコード/ローコード開発は、あくまでも目的が決まっているもので、複雑ではないアプリやサービスをより短期間に開発することに適しているソリューション。昨今のアジャイル開発に非常にマッチしている開発手法と言えるでしょう。
ノーコード/ローコード普及時代に求められるエンジニアのスキルって?
たとえ、業務担当者自身がアプリを開発するためにノーコード開発ツールを使う場合でも、目的に合った選定を行い、それを使いこなしていくためには、やはりエンジニアの力が必要になることは間違いありません。
つまりノーコード/ローコード開発が普及すればするほど、エンジニアはコーディングという作業から解放され、業務担当者(ユーザー)のやりたいことをうまく聞き出すなど上流工程のスキル、さらに技術を使って新しいサービス、業務効率化のための仕組みを生み出すというビジネススキルが求められていくことが予想されます。変化の激しいDX時代においては、システムの内製化(自社でシステム開発を行うこと)も進められていきます。そのためには業務担当者自身がノーコードやローコード開発ツールを使って、必要な時に必要なアプリを開発できるようにしていくことが不可欠です。いかにITスキルのない人たちに、ツールの使い方を伝授していくコーチングスキルも求められていくでしょう。ノーコード/ローコード開発が普及することで、淘汰(とうた)される可能性があるのは、言われたことだけしかしないエンジニア。最適なツールを使いこなして、より顧客が満足のいく品質の高いシステムをより短期間で開発できるエンジニアは、市場価値が高まる可能性があります。そのためにはやはりコツコツとプログラミングスキルを磨いていくことは必須と言えるのです。
※1 デジタルトランスフォーメーション…進化したIT技術を浸透させることで、人々の生活をより良いものへと変革させるという概念を指す。
※2 バックエンド…ソフトウェアやシステムの構成要素のうち、利用者や他のシステム、ソフトウェアなどから見えないところでデータの処理や保存などを行う要素のことをこのように呼ぶ。
※3 ERP…Enterprise Resources Planning の略であり、企業経営の基本となる資源要素(ヒト・モノ・カネ・情報)を適切に分配し有効活用する計画=考え方を意味する。 現在では、「基幹系情報システム」を指すことが多く、企業の情報戦略に欠かせない重要な位置を占めている。
※4 API…Application Programming Interfaceの略。ソフトウェアからOSの機能を利用するための仕様またはインターフェースの総称で、アプリケーションの開発を容易にするためのソフトウェア資源のことをいう。
※5 アジャイル開発…アジャイルとは「すばやい」「俊敏な」という意味で、反復 (イテレーション) と呼ばれる短い開発期間単位を採用することで、リスクを最小化しようとする開発手法の一つ。