スキップしてメイン コンテンツに移動

ノーコードでも必要なこと

 


ノーコードという言葉が広まってきています。プログラミングの知識や経験がなくてもシステム開発ができる!というような触れ込みで、実際に No Code でコードを書かずにWebアプリケーションを作ることができる仕組みです。現場の担当者が、業務を効率化するためのシステムを自ら作れるので、システム開発を外注するよりも、業務の実態に即したシステムが作れて、なおかつ改善サイクルが速く回ります。こうしたシステム内製化の捉え方については、こちらでも書きました。

ただ、ここで注意したいのは、システム開発において、ノーコードを使うことで補える能力、コードを書いてシステムを実装する能力というのは、ひとつの要素でしかないということです。業務をシステム化するときに関係してくる要素を、大雑把に列挙すると以下の5つになるかと思います。

  • ビジネスセンス
  • 業務を設計する能力
  • システムを設計する能力
  • 業務を実装する能力
  • システムを実装する能力

いわゆるプログラマやシステムエンジニアといった職種の人たちも、必ずしもこれらの要素を兼ね備えているわけではありません。しかし、ビジネスに関するシステムを開発する際には、どれも重要です。以下、ひとつずつ、どういったものか説明します。

まずビジネスセンスという曖昧な言葉で何を言いたいのかというと、事業全体の成果につながる変化を生み出す力や方向性です。事業全体がどこに向かっていて、その際に業務はどうあるといいのか、ということが見えていると、その業務が事業全体の成果につながりやすくなります。

次に、そのために、その業務をどう設計するといいのか考えられるといいです。誰がどんな風に動いて、どんなモノを、どんな情報を、どのように動かしていくと、その業務というのは今より良くなるのか。というか、それが考えられないと、そもそも業務を変化させる意味がないですね。

そこからシステムの話になっていくわけですが、業務を設計するにあたって、システムがどこでどのように役立つといいのか。そして、システムがどうあると、他の業務との連携もよくなるのか。といったことを考えられるといいです。こういった見通しが立っていないのに、なんとなく必要そうだからとシステムを導入すれば、何か悪いことが起きそうだな、というのは誰でも想像できると思います。業務をどう変えたらいいのか考えずに、なんとなくパートさん1人増やしておいたら良いこと起きるかというと、それは怪しい、というのと同じです。

そして、机上の空論で終わってしまっては、現実が変わっていかないので、ここから実装する能力というのが必要になります。「実装する」というのはシステム開発でよく使う言葉ですが、新しい機能を追加したり組み込んだりして実現することです。業務を実装するという言葉で表したかったのは、新しい仕事の進め方を設計したあと、実際に現場で実現させるということです。必要な作業を実行するためには、作業をする人に研修する必要があるかもしれませんし、資材の置き場所が重要かもしれません。新しいビジネスや業務が上手く回るために必要なモノゴトを用意して、実際に「回す」能力が要ります。

その中に、システムを実装することも含まれてきます。役に立つシステムを実際に組み上げるためには、世の中に出回っている部品を組み合わせたり、プログラミングによって新たな部品を作ったりすることになりますが、正しく作らないと上手く動きません。そのためプログラミングの知識を持っている人が組み上げることになります。ここでノーコードというものが意味を持ちます。JavaScriptやPython、C言語やJava、C#などのプログラミング言語についてよく知らなくても、ノーコードであれば、コードを書かずにプログラミングができます。

ただ最初に書いたように、ノーコードになることで補えるのは、最後のところだけなのです。ですから、ノーコードだから簡単にシステムが作れるかというと、それはまた違います。

しかし、システム開発に特化したスペシャリストが、上述の5つの要素を兼ね備えていることも、また期待薄です。特に業務を設計する能力や、業務を実装する能力は怪しいでしょう。そうであれば、業務分野で秀でた人が、システムを実装する能力を得る方が、優れたシステムを作れそうに思います。

このブログの人気の投稿

簡単にできるIoT~振動の計測②

  前回 は、何を作るかを考えて、設計メモにまとめました。 簡単にできるIoT~振動の測定① 先日(といっても随分経ってしまっていますが…)とある方から、M5StickCというデバイスをいただきました。それで、どんなことができるのかと試してみたことを紹介します。 M5StickC このデバイスは親指(より少し小さい?)くらいのサイズですが、中にESP32-... まだプログラミング自体には触れていませんでしたし、大まかな設計をしただけですが、ここまで意外と考えることが多かったと思われるかもしれません。ですが、どう作るかよりも、何を実現するかの方が重要です。本来はもっと何を実現するかを模索するのに時間をかけるべきだと思います(そのためにシステムを試作することも含めて)。 さて、今回はさっそくこれを作ってみます。作る方法はネットでいろいろな人が教えてくれるので、それらを参考にすれば、すぐに作れます。 データを受け取って蓄積する側を作る まずは、Googleスプレッドシートに以下の図のような表を作り、M5StickCから受け取ったデータを書き込めるようにします(図では既にデータが蓄積されています)。 A列「gasCodeVer」:一応、動かしているスクリプトのバージョンを記録 B列「receiveTime」:データを受け取った時刻(receivedでないのはご愛嬌) C列「dataNum」:いくつデータが取れているかを記録 D列「data1」以降:加速度データ そのために、以下のことをします。 Googleドライブでスプレッドシートを作る 「ツール」→「スクリプトエディタ」からスクリプトエディタを開く Apps Scriptでスクリプト(コード)を書く 「デプロイ」→「新しいデプロイ」→「種類の選択」→「ウェブアプリ」からデプロイ 基本的なやり方は下の参考ページ(前半部分)を見れば、すぐに分かります。実際に手元で出る画面と少し違うところがあるかもしれませんが、だいたい一緒かな、という緩さをもって見ていくと良いと思います。 [M5Stack] M5Stackで取得したデータを、Google スプレットシートへ書き込む M5StackはWi-Fi機能との連携が特徴の一つとなりますが、やってみたくなるのがクラウド連携だと思います。そこで、今回は、Go...

システム内製化のトレンド

  これまで多くの企業にとって、ICTと言えば外から買ってくるものでした。もしくは、業者に発注して作ってもらうものでした。それがクラウドサービスになって、借りてくるもの、みんなでシェアしながら使うもの、になりましたが、今は社内で作るものになり始めています。いわゆる「内製化」です。 かつてソフトウェアを開発する企業に所属していた身としては、市場の大きな変化につながる話なので、とても気になっているのですが、多くの企業の方にとっては、まだまだ関心の薄い話題かもしれません。なので、なぜシステム内製化というトレンドが起こりつつあるかについて、僕の認識していることを少し書いておこうと思います。 とはいえ「なぜ」というのは非常に簡単な話です。経営、ビジネスモデル、事業の強み、といったものがICTと密接に関係するようになったからです。 アウトソーシングしていい業務と、してはいけない業務は何か、という議論をするとき、ひとつ大きな論点として、強みに直結するものかどうか、ということが挙げられます。その企業独自の強みを他社に依存すると、強みを持続させることも発展させることも危うくなるというのは分かりやすいと思います。システム内製化も同じ論点から出てくる話です。自社の強みの源泉となっている業務フローを支えるシステムだったら、自分たちの手の内に入れておくべきです。 また、今の時代が、不確実性が高く、かつ、変化の激しい時代である(と言われている)ことも、内製化の追い風になっています。不確実で変化の激しい市場に対応するビジネスは、その運用を柔軟に変化させ続けなければいけません。それも高速に。そのためには、システムもビジネスに追従して高速に変化させ続ける必要があります。システム開発を外注していたら、事業変化のスピードにはどうしたって追いつけません。システムが足を引っ張るようになります。必要なスピードを出すためには、社内で、ビジネスを回している従業員のすぐそばで、一体となって、開発をしていかなければならないのです。 そんなわけで、これまで「IT企業」とは言われていなかった企業が、続々とエンジニアの中途採用を始めて、自分たちでシステム開発をやれるようになってきています。そしてすべての企業が「IT企業」になる(逆に言えば「IT企業」という枠組みが消える)時代が来ようとしています。 もちろん、全ての...

簡単にできるIoT~振動の測定①

先日(といっても随分経ってしまっていますが…)とある方から、M5StickCというデバイスをいただきました。それで、どんなことができるのかと試してみたことを紹介します。 M5StickC M5StickC(本体のみ) このデバイスは親指(より少し小さい?)くらいのサイズですが、中にESP32-PICOというモジュールが搭載されていて、WiFiやBluetoothの通信ができます。また、MPU6886というモジュールも載っていて、加速度、ジャイロ、(デバイス内部の)温度センサーが使えます。液晶画面やボタンもついています。要するに、いくつかのセンサーと、操作や通信をする機能がコンパクトにまとまっているデバイスです。 そして、このデバイスのいいところは、デバイスを制御するためのソフトウェアを作るのも非常に簡単ということです。ネットワークにつながる部分が既に作り込まれていて、少し追加で設定するだけで、すぐにWiFi(そしてWiFiを経由してインターネット)との接続も可能です。 この手の電子工作モジュールがよく売られている SWITCH SCIENCE でも扱っています。 何を作るか 機械などに取り付けたセンサーから得られるデータを、クラウドに収集して分析して、人の行動の参考にしたり、他のシステムを動かしたり、機械のコントローラーにフィードバックして自動制御したり、というのがよくあるIoTの全体像です。M5StickCを使えば、このようなIoT的なシステムが簡単に構築できることが期待できます。 とはいえ、このデバイスでどんなデータを取得したら役に立つのか、というのは意外と難しい話です。昨今、ノーコード/ローコードで、プログラマでなくてもプログラミングができる!ということがよく言われます。しかし、システムを作る上で難しいのは、コードを書くところよりも、何を作るかを決めるところです。これはプログラマやエンジニアでも上手くできる人が少ないですし、ユーザー企業で現場の業務をよく知っている人ならできるというわけでもないです。課題をよく吟味して、業務やビジネスがどう変化すると良いのかを全体最適の視点から捉えないと、間違ったものを作ってしまいます。 本来は、課題があって、それから手段が検討されるわけですが、今回は手段が手元にあって、そこから何ができるか考えています。完全に間違いパターンで...