見出し画像

エンジニア視点でのローコード/ノーコードの使い方

最近、ローコード/ノーコードという言葉をよく聞きます。デジタルトランスフォーメーション(DX)の文脈で使われることも多いと思いますが、エンジニアの視点で感じたことがあったので、書き留めておきたいなと思います。

ローコード/ノーコード開発とは

まず、ローコードやノーコードとは何なのか?というということですが、Wikipediaで調べてみると、「ローコード開発プラットフォーム」および「ノーコード開発プラットフォーム」という単語で記載されていました。

プログラマーやノンプログラマーが、従来のコンピュータ・プログラミングの代わりに、グラフィカル・ユーザー・インタフェースや設定を通してアプリケーション・ソフトウェアを作成する環境を提供するソフトウェアである。
・・・(省略)
特定の状況のために追加のコーディングが必要となる場合もある。

Wikipedia:ローコード開発プラットフォーム

従来の手書きのコンピュータ・プログラミングの代わりに、グラフィカル・ユーザ・インタフェースと設定を通じてアプリケーション・ソフトウェアを作成するために使用される開発ことを可能にする。

Wikipedia:ノーコード開発プラットフォーム

ローコードとノーコードの違いは、コーディングを少しでも”する”か”しない”かというところだと思いますが、いずれも「グラフィカル・ユーザー・インターフェースや設定と通してアプリケーションを作成する」ということが特徴となっており、いわゆるプログラム言語を使った開発ではなく、直感的にロジックを組み立てることがメインとなる方法です。

DXのニーズが拡大していく中で、ユーザの「作りたい!」を迅速に形にするための開発として注目されています。

本当のニーズはどこにあるのか?

ここからは、完全に私見になります。読んでいただいたみなさんと意見が違っている部分もあるかと思いますので、議論できたらうれしいです!

色々調べてみると、ローコード/ノーコード開発は「エンジニアがスピード感をもって開発することができる」という文脈で語られることが多いような気がしています。確かにそういう一面もあると思います。しかし、ローコード/ノーコード開発だと、開発ツールの仕様に制限されてしまうと思うので、結局細かなニーズにまで手が届かないのではないかな、と思います。エンジニアがやるべきことは、こういった痒い所に手が届くようなことをすることも大事ではないかなと。めちゃくちゃ汎用的な、すごいローコード/ノーコード開発ツールがあったらすみません。。。

一方で、エンジニアではない営業さんや企画さんがお客さんに向けて、プロトタイプ的にアプリケーションを作るような用途であれば、めちゃくちゃ有効だと思います。ニーズって最初にあれこれ会議で考えていても、実際に使う場面にならないと出てこないもんです。そういう意味で、営業や企画の段階で「こんな感じで課題が解決できるか?」ということを、実際に触れてもらって、体感してもらうことができれば、より深く、効果的にニーズを引き出せるような気がします。

現実にはこういった使われ方も、もちろんされているとは思いますが、知っている範囲ではBIツールほど浸透していないなと感じています。こういった使い方がもっと広がっていけば、ニーズの深堀りができて、SIerはよりよいソリューションを提供できるようになるのではないかと思ったりします。

視点を変えてみると、素晴らしい!

では、ローコード/ノーコード開発はエンジニアには必要ないのか?ということですが、ちょっと前までは「特に必要なんじゃない?」とぼくは思ってました。なんかすみません。。。

プログラミングできるし、わざわざ簡単なことをしなくても、という今思うと拙い発想でした。ですが、次の2点を考えたときにめちゃくちゃ有効だなと思いました。

  1. ロジックを動きとともに見せられる

  2. システム開発をする際のイメージを掴むことができる

これは、ぼく自身がWix(EditorX)と.bubbleを触ってみて感じた感想です。特に.bubbleはローコード/ノーコード開発とはいえ、かなりのことができちゃいます。DBが使えたり、他のサービスとの連携もできちゃいます。ここでの開発は、本当にプログラム言語を使うか、使わないかの違いだけで、データをどこに、どのように保存しておくか、どの順番で処理を行うかなど実際のアプリケーション開発と要素は全く一緒です。

ですが、プログラム言語を使った開発に比べて圧倒的に優位なのは「わかりやすく伝えることができる」です。1はお客さん、2はエンジニアに対してと対象が異なっていますが、なかなか伝わりにくいことをグラフィカルに伝えることができるのですごく有効だと思います。プログラム言語を使うと、文法やコーディングルールなど細かいところにも目を向けなければならない場面があって、「課題を的確に解決できているか」という本題と違うところに力を入れる必要があったりします。もちろん、この部分はめちゃくちゃ大事なんですが、そればかりにとらわれてしまうと本末転倒になってしまいます。その解決策の一つとして、ローコード/ノーコード開発をうまく使うのもいいのかな、と感じています。

と書いてみたものの、こんな開発をしてみたことはないので、正直説得力はないですね。今後、チャンスがあれば試してみたいと思います!!


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