Workers Wind

主に私の仕事に関する考え方と自分の知識・スキルを習得するために読んだ本、調べたこと、実施した結果などについて記載しているブログです。

ローコード開発のススメ

f:id:nob0018:20200614122414p:plain

前回Microsoft Power Platformを利用して神戸市が特別定額給付金に関する情報サイトを短期間で構築し成果を出している事例を紹介しました。

 

bookreviewwind.hatenablog.com

そこで気になったのがローコード開発の状況です。
私が勤務する会社もいくつかローコード開発ツールを利用しておりますので、ローコード開発が今どのような状況にあるかを調べてみました。

ローコード開発とは

そもそもローコード開発とはどのような開発についていうのでしょうか。

it.impress.co.jp

ローコードは必ずしも新しくないからです。抽象化開発や4GL(第4世代言語)、RAD(高速アプリケーション開発)など呼び方はさまざまですが、何10年も前からありました。

こちらのサイトで紹介されているガートナーのハイプ曲線ではローコード開発については触れられておりません。
なぜなら、ローコード開発は昔からある抽象化開発や第4世代言語の発展系だというからです。

そう言われてみると、私が社会人になった20年前にはローコード開発ツールの一つであるintra-martは既にリリースされておりましたし、私が勤務する会社でも利用していました。
従ってガートナーのアナリストが言うローコード開発がここ最近の技術ではないというのも頷けます。

ただ、Google trendで「ローコード 開発」で検索してみると2004年から現在までのトレンド状況では2017年3月くらいから現在に向けて検索率が向上しているようにみえていますので、世の中の関心としては最近になって向上してきていると言ってよいでしょう。

f:id:nob0018:20200614122858p:plain

Google trend「ローコード 開発」検索結果

ローコード開発ツールの種類

以下のitreviewのサイトにてローコード開発ツールのランキングが掲載されております。

www.itreview.jp

ここにはMicrosoft Power PlatformやPega Systemsなど私が最近注目しているツールが紹介されていないので、網羅性は充分だとは言えません。
とはいえ、掲載されているツールはどれも聞いたことがありますし、intra-martをはじめとして、言われてみればこのツールもローコードだったなぁというツールが掲載されていますので、「ローコードツールって何があるの?」と考えるには充分な種類が紹介されています。

 

様々なローコード開発ツールがありますが、各々使い方の癖が違いますし、できる範囲(得意な業務分野)も違いますので、用途にあったツールを選択する必要があります。

また、多くのローコード開発ツールは開発したアプリケーションの実行環境もふまえているものがほとんどです。
開発したアプリケーションの利用を継続するのであれば、実行環境としてのローコード開発ツールも利用しつづける必要があります。
このアプリケーション実行環境としてローコード開発ツールを維持し続けなければいけないということはデメリットと感じるかもしれません。
このデメリットを感じさせないようにしているツールもありますが、実際にはこのデメリットは無くすことが難しい状況です。
例えば、Outsystemsはローコード(ノーコード)で開発したアプリケーションを特定のプログラミング言語に書き出すコードジェネレーターとしての機能を持っているため、開発したアプリケーションを稼働させるのに必ずしもOutsystemsの環境が必要になるということではありません。しかし、書き出したコードはOutsystemsの実行環境と連携することが前提のコードとなるため、これを補うのは開発者にとっては相当に負荷が高い作業となるため、実行環境としてOutsystemsを利用しつづることになるでしょう。
ただ、Outsystemsにおいてはローコードで作成したアプリケーションのコードを閲覧することが可能であるため、システムのビジネスロジック部分のブラックボックス化を防ぐことができることは開発者にとってはメリットと感じる機能です。

 

様々なローコード開発ツールはありますが、各々の特徴を把握した上で自社にあうツールを選択する必要があるのはどのようなシステムを導入する際でも同じですね。

 

ローコード開発のデメリット

先のimpressのIT Leadersのサイトの記事でも書かれておりますが、ローコード開発ツールでシステム開発をするのは部門よりも小さい単位のグループが主流だったと感じています。
私が勤務する会社でもある部門がNotesで自部門の案件管理システムを開発してつかっていたのを覚えています。
ただ、このような部門システムが多く開発されたことによって、企業としてのシステム統制が取りづらくなってしまったという問題が発生してしまいました。
システム部門が全ての業務部門のニーズを拾うのが難しいため、部門システムとしてローコード開発を進めてしまった結果、野良システムが増えてしまい企業として取るべきシステム統制が取れなくなってしまったのです。
この状況は現在普及しているRPAでもシステム部門が管理を怠れば同じような問題に発展します。

 

では、システム統制が取れないと何が問題になるのでしょうか。
一言でいえば、管理部門が業務部門を管理できなくなります。これにより、業務部門が法令違反などを知らずに行ってしまっていたとしても管理部門としては把握できずに問題が大きくなってから気が付くという事態発生の可能性を残しています。
業務部門には法令違反をしないように指示していると管理部門は言うかもしれませんが、指示をしていても管理をしていないのであれば何か問題があった時に世間は「管理していなかったのね」としか思わないでしょう。
これは企業にとってはマイナスイメージを与える原因となるでしょう。

 

また、業務部門が開発した部門システムが管理部門が統制している企業システムのデータを参照している場合や機能を一部利用していた場合に、しっかりとシステム統制をしていない場合には企業システムの更改と部門システムの更改を合わせることが難しくなります。
この場合に、企業システムが更改された後に、部門システムが稼働しなくなるといったトラブルが発生する可能性があります。そして、部門システムが当該業務部門にとって業務遂行上重要な役割を持っている時には目も当てられない事態になるでしょう。

 

現在注目されているローコード開発ツールにおいては、開発したアプリケーションの稼働状況を管理できる機能が追加されていたり、管理機能が増えております。
これは上記で説明したデメリットを極力抑えるために追加されてきたと考えることができます。
つまりシステム部門や管理部門がシステム統制を行いやすくなってきていると考えることができます。

 

まとめ

業務環境が目まぐるしく変化してきている昨今、システム開発のスピードはさらに向上していかなければいけない状況になってきておりローコード開発への注目が高まっているように感じております。
ローコード開発は新しい手法ではなく、これまでの開発手法の延長線上に位置しており、かつてのデメリットを低減するようなツールに発展してきております。
とはいえ、自社で利用しようとした際にはどのような目的で利用するのか、開発する(した)アプリケーションの管理についてはどのように考えるか、これらの考えを満たせるツールは何かといった順にツール選定をする必要があります。
クラウドサービスとしてもローコード開発ツールが提供されていますので、どのようなものかがわからないということであれば、まずは体験してみても良いでしょう。
体験してみて、自社が抱えている課題を解決できる実感を得ることができたら、本格的な導入に進んでも良いかと思います。
ローコード開発ツールは、プログラミング言語を習得しておらずともシステム開発ができます。


一方で、システム開発とはどのようなものなのかという考え方は必要ですので、その点をしっかり学んだうえで取り組みことをオススメします。
自社にシステム要員がいない場合には、まずはSIerに頼ることを考えても良いかと思いますが、せっかくローコード開発ツールを利用するのであれば自社でシステム要員を調達・育成していくようにシフトしていくことを考えるとより良いシステム開発ができるでしょう。

 

にほんブログ村 IT技術ブログ ITコンサルティングへ
にほんブログ村

【スポンサーリンク】