ノーコード開発はシステム開発???

こんにちは、金春です。 最近ノーコード開発界隈が盛り上がりつつあります。 AWSもノーコード開発ツールを出してきましたし、MSやGoogleにもあります。

この分野で抜きん出ているものとしては Salesforce もありますね。 そして、弊社が力を入れている kintone もしかりです。

ノーコード開発ツールの意味

ノーコード開発ツールは、その名の通り「コードなし」で開発できるツールです。「コード」と言っているところに重要な意味があると考えています。決して「ノンプログラミング」ではないのです。

とはいえ、まだ日本ではノーコードという言葉が浸透していないこともあって、弊社のセミナーでもノーコードとノンプログラミングを併記せざるを得ないのですが、厳密には違うと思っています。

「プログラミング」という言葉には色々な意味がありますが、ここでは「ロジック」と「データ設計」だと考えてください。 ノーコードツールは「コードを書くこと」から開放してくれますが、「プログラミング」からは解放してくれません。

どのツールを使ったとしても、

  • 将来を見据えて正しいデータ構造を考える
  • 実現したいことに対してシンプルなロジックを考える(そのための業務の見直しも含む)

ことが必要です。

プログラミング言語を知らなくても使えるか?

development.jpeg

ノーコードツールによって、いわゆるプログラミング言語の素養のない方がシステムを作れることになったことは確かです。これはノーコードツールの大きな価値だと思います。

ただ、上に書いたように「ロジック」と「データ設計」からは解放してくれません。 「プログラミング言語」は知らなくても作れますが、「プログラミング」は知る必要があります。

最近のkintone界隈をみていると、ここが飛んでいる方が多くなっていて、結果的にそのシステムの発展を妨げる原因となっているケースがみられます。

とはいえ、この部分をプログラミング言語抜きでスムーズに学習できるコンテンツもあまりないような気がするので、ここは我々も含めて業界関係者ががんばらないといけないところなんじゃないかと思っています。

プログラミング言語を知っている人にとってのノーコード開発とは?

programming.jpeg

では、プログラミング言語を知っている人にとって、ノーコード開発は意味があるのでしょうか? 私の立場だと「意味ある」としか言えないのですが、立場は別として、そう考える理由を説明しておこうと思います。

ちなみに現在の私の立場は、弊社の取締役で、最近は開発の現場からは離れていますが、元々はエンジニアでなのでバリバリにコードを書いていた人です。

コードのばらつき

プログラミング言語は「言語」とついているように、やりたい処理を表現する言葉です。 そして、自然言語もそうですが「言語」には表現の幅があります。

つまり、同じことをやるとしても人によって書き方が異なることがあります。というか、だいたいばらつきます。

コードをバリバリ書く世界では、このばらつきを少しでも抑えて、全員が美しい(と言われる)コードを書けるようにコードレビューを行ったり、美しいと言われているプログラムを読んだりしてスキルアップを目指すことが多いです。弊社もそうです。

ただ、会社というものには人の出入りがあるため、このコードのレベルを一定に保つということが極めて難しいのです。すばらしく優秀な人ばかりを採用できればいいのですが、それでもコードにはその人の個性が出るので、やはりばらつきます。

このばらつきを吸収するために、コードには「なぜそうしたのか」がわかるようにコメントを入れろということを弊社で口酸っぱく言っているのですが、それでも完璧にはなかなか到達しません。

ノーコードツールのいいところはこのばらつきが出にくいということにあります。ノーコードツールでも同じことを違う表現で作ることができることがあるので、完全ではないのですが、かなり抑えることができるのと、たいていのツールがコードで書かれたものよりも読む必要があるものが少ないので、何をやっているかの理解がしやすいというメリットがあります。

こういうコードのばらつきを抑えると何がいいかというと、引き継ぎが楽になるのです。趣味や勉強のために作るプログラムであれば引き継ぎなどはないので気にしなくていいのですが、業務で使うシステムの開発を行う場合、必ず引き継ぐことを想定しないといけません。引き継いだ時に、引き継いだ人がすんなり理解して、手をいれられるようにできるか?ノーコードツールのわかりやすさはこの点でも大きなメリットだと考えています。

単純ミス

コードを書いた経験のある方は、必ず経験あると思うのですが、プログラミング言語を用いたコーディングにはかならず単純ミスが起きます。例えば、「name」を「meme」と打ち間違えるなどです。最近のプログラミング用のエディタはとても賢いので、入力補助でミスを防いでくれたり、ミスがあれば教えてくれたりしますが、それでもミスは起きます。

そして、こういう単純ミスってなかなか気づかないのです・・・。

動かないなぁ・・・ってさんざん調べて単純なタイプミスと気づいたときの脱力感たるやものすごいものがあります。

ノーコードツールは、選んでいくだけでいいものが多いので、この点でもメリットがあります。

ノーコード開発はシステム開発じゃない?

「ノーコード開発はシステム開発ではない」という意見をみかけることがあります。「ツールつかって設定しただけでしょ?」ということのようです。

意見は人それぞれなのでそれ自体を否定する気はありませんが、私は「ノーコード開発は立派なシステム開発」だと考えています。

システム開発の目的は、そのシステムによって何らかの課題を解決することにあります。その解決を達成できるのであれば、それがノーコードであろうが、コーディングをするものであろうが、システム開発であると考えています。

ノーコードツールが適用できる領域(すべてではない)であれば、ノーコードツールを活用して短時間で開発したほうが課題を早く解決できるので、そのほうがいいと考えています。

最近はこの「ノーコードツールが適用できる領域」が急速に広がってきていると感じています。この先が楽しみでなりません。

まとめ

弊社は kintone のパートナーであり、かつ kintone をノーコードでカスタマイズする gusuku Customine を提供するベンダーでもあります。ある意味「ノーコード万歳」な立場を取っているわけですが、弊社の実際のSIの仕事では、コーディングを伴う開発もたくさん行っています。

その時その時でベストなツール・技術はどんどん変わっていきますので、弊社では常にベストな選択ができるように勉強を続けたいと思います。

投稿者プロフィール

アバター画像
金春 利幸
"gusukuシリーズプロダクトマネージャー
ノーコード(No-Code)の有効性に着目し、kintoneとgusukuシリーズの普及のため全国を飛び回っています。"