見出し画像

【システム屋考】ローコードよりノーコードの方が簡単でしょ?→ダマされるな!

またローコード・ノーコードについて書いてみたい

以前こちらの記事を書かせていただいた。
私の記事にしては結構「スキ」を付けていただいている。
恐らく「ローコード・ノーコード」という単語の検索からの流入が多いのだろう。

先日いわゆるローコード・ノーコードツールを使って簡単なシステムを構築する機会があり、思うところがあったので再び同じテーマで書いてみたいと思う。

さて、定義について前の記事と同じものを再掲。

ノーコードとはそもそもなにか
ノーコードは、ソースコードのコーディングを行わず、プログラミングに関する専門知識がいっさい不要で開発を行うことが可能になる開発手法です。ツールは最初からテンプレートや機能が決まっているため、小規模なアプリケーションや、単純機能のアプリケーション開発に向いています。

ローコードとはそもそもなにか
ローコードは、0からコーディングを行うよりも、少ないプログラムコードで開発ができるという開発手法です。利用できる機能は限定的ではありますが、ローコードは再利用可能な機能構造を利用することで、高い拡張性を確保することができます。

SB Technologyさん https://www.softbanktech.co.jp/special/blog/it-keyword/2022/0016/

こうやってみると、
・ノーコードは非IT人材でもできる
・ローコードは非IT人材だとハードルが高いが、IT人材は楽に開発できる

と感じるかもしれない。
そして、「非IT人材が選ぶのならノーコードにすれば大丈夫だろう」と思うかもしれない。
だが、そこは少し待ってほしい。

ローコードツールは非IT人材では使えない?

実はそんなことはない。
多くのローコードツールは
・ノーコードでできる部分
・開発言語で追加開発できる部分

で構成されている。
なので非IT人材でも「ノーコードでできる部分」だけ使ってある程度のシステムを組むことはできる。
例えばkintoneはローコードツールとして位置づけられるが、ノーコードで画面とデータベースを作ることができる。
もし細かい制御(入力項目の複合チェックや、他アプリとの連携)が必要だったらJavaScriptを書く必要があるが、そこまでやらないのであれば実質ノーコードツールとして捉えて問題ない。

Salesforceも同様だ。
標準機能を使って画面やデータベース(オブジェクト)を定義することができる。Excel関数のような小さなスクリプトで入力規則を書くこともできる。
外部システム連携や複雑な更新処理をしたければApexという開発言語でプログラムを書く必要があるが、最近は「Salesforceフロー」というGUIプログラミング機能でかなり気の利いた処理を作ることができるので、Apexの出番は減ってきているかもしれない。

ノーコードツールは非IT人材でも使える?

前述の通り、kintoneやSalesforceを実質ノーコードで使ってもある程度のことはできる。
その一方でノーコードツールを標榜していても、非IT人材には難しいツールもある。
データ連携ツールのASTERIAを例に挙げてみよう。
確かにASTERIAにはJavaScriptやApexといったプログラミング言語による拡張機能はなく、全般的にGUIのみで構築が可能だ。
しかし実際に使ってみると分かるが、システム間のデータ連携にはかなりのITリテラシーが必要だ。
例えばSaaSからREST APIで情報を取得して、他のデータベースにデータを同期するといった場合、以下のような処理が必要だ。

・認証のためにAPIトークン取得してセット
・取得件数の最大は100件。トータル件数がそれを超える場合は100件ずつカウンタをUPしながらLOOP
・カウンタがトータル件数に到達したらLOOPをBREAK
・まず取得したXMLのデータを読み込んでストリームを定義、連携先のデータモデルに対しMapperを使って、データ型の違いを吸収しつつマッピング
・次回実行時のために、今回の実行タイムスタンプをファイルに保存

もちろんハンズオンセミナーなどでありがちな「DBからCSVにファイルを書き出してみよう」くらいのことはできるかもしれないが、実際のエンタープライズシステムではもっと複雑なニーズが多いだろう。

ちなみに私は、ASTERIAのGUI「フローデザイナー」を一目見た時、Eclipseをはじめとするプログラマ向けの統合開発環境と同じ雰囲気を感じ、「あ、これはシステム屋がシステム屋向けに作ったよね…」と確信した。
誤解のないように言っておくが、ASTERIAは値段的に大変お手軽なのに高機能な素晴らしい製品なので、データ連携に課題をお持ちの情シスの方々は(自分で直接使うかは別として)是非検討してみてほしい。

ローコードorノーコードではなく、ツールの目的で判断

こうなってくると、非IT人材の使用可否判断において、そのツールがローコードを標榜しているのかノーコードを標榜しているのかではなく、どのような目的のツールかで判断した方がよいだろう。

私の考えでは、画面系のツールは「ローコード」でもある程度できる。
一方で処理自動化系は「ノーコード」を標榜していても、プログラマ的素養がかなりのレベルで要求されることが多い。前述のデータ連携ツールもそうだし、RPAも同様だ。

もし読者のあなたが情シスの担当者で、処理自動化系のノーコードツールを使った内製化を検討の際は、ご自身やメンバがAccessやExcel VBAをある程度調べながらでも使えるレベルかどうかで判断されるとよいだろう。正直苦手ということであれば、大人しくITベンダーに任せた方が無難だ。
ただ、一度作ってもらいさえすれば、運用や項目追加レベルの改修であれば引継ぎ可能と思われる。
業務効率化・ITコスト最適化のヒントになれば幸いだ。

まとめ

なんだかんだでローコード・ノーコードの台頭は明るい話題だと思う。
上手く使いこなすことで圧倒的な生産性向上が見込める。
私としても、ローコード・ノーコードの上手な使い方を身につけることで強力な武器になると考えている。
また機会があればこのテーマで書いてみたい。それでは。


この記事が気に入ったらサポートをしてみませんか?