ローコード開発でDXは変わるのか?ローコード開発のメリット・デメリット
現在、大きな企業が社内のシステムを内製化しています。 そういった会社は、社内システム部が存在し、数人から数十人程度の人数で社内のシステムを管理しています。 しかし、世間的にはIT人材が不足しており、且つ企業によっては 「社内システム部は間接部門のため、縮小・外注化を検討する」 という動きも見られるでしょう。 そんな中で注目されている開発手法として 「ローコード開発」 というものがあります。 今回はこのローコード開発について見ていきましょう。 非IT企業におけるローコード開発で、DXは促進するのでしょうか。
ローコード開発とは
ローコード開発とは ローコード開発とは、プログラミングスキルがそれほどない人でも ・DBを作成したり管理したり出来る ・業務の自動化が出来る ・システムの開発が出来る といったソフトウェアになります。 ソースコードを描くのではなく、ビジュアル的に操作をすることでプログラミングが出来るので、IT部門以外の部署でも開発できる可能性があるでしょう。 例えば、アイコンをドラッグ&ドロップで積み木のように組み合わせていくだけで作れるような製品で、顧客管理ソフトのspiralなどがそれに当たります。
「ロー」コード開発とは別に「ノー」コード開発も存在する
ローコードを発展させた製品として「ノーコード開発」が出来るものも存在します。 ノーコード開発は、プログラミングが全く必要ない仕組みで、Amazonもノーコード開発ツール「Amazon Honeycode」を提供しています。 一方で、ローコード開発は全くプログラミングが必要ないのではなく、場合によってはプログラミングを埋め込むなどが出来るため、ノーコードに比べると活用できる範囲が広いと考えられています。
ローコード開発のメリット
ローコード開発のメリット では、このローコード開発にはどのようなメリットがあるのでしょうか。
開発工数が少なくて済む
ローコード開発は、 ・データベースへの接続 ・SQL文の作成 ・メールの送信 などの様々な機能がブロック化されて、繋ぎ合わせるだけで開発が可能です。 本来こういったシステムをフルスクラッチで開発しようと思うと、数行から数十行、場合によっては数百行というコーディングが必要になります。 それがドラッグ&ドロップで簡単にできるため、開発工数が圧倒的に短縮できます。 これによって、開発工数は格段に少なくて済みます。
プログラミング言語が出来なくても作れる(IT人材不足の解消)
ローコード開発は、開発をマウス操作などで行えるようにするため、難しい操作でなければ、プログラミング言語がなくても開発が可能です。 これにより、日本のIT人材の不足の解消が可能になるかもしれません。
セキュリティリスクなどが低い
ある程度決まったパーツが用意されているということは、誰が作ったとしても、ある程度のセキュリティが担保されます。 例えば、新人が作ったプログラムが、必要なエラーチェックをかけずに、データの更新をしていたとします。 単体テストの段階ではきちんと動いていたものの、ユーザーの操作ミスなどで大問題になることも少なくありません。 ローコード開発では、用意されたパーツ内でしっかりとセキュリティ対策がされている事が多く、こういったコーディングミスによるセキュリティリスクが低くなります。
ツール開発会社の支援を受けられる
プログラミング言語を習得する際には、公式ドキュメントやネット上の解説を参考にして作ることはできますが、 「ちょっとわからない時に聞ける場所」 というのはなかなかありません。 一方で、ローコード開発の場合には、わからない部分があった時に、ローコード開発ツールの開発企業からのサポートを受けられるケースがあります。 もちろん、保守やサポート費用のようなものが発生する場合もありますが、熟練のエンジニアが社内に居ない企業の場合には、気軽に聞ける環境というのは、開発をスムーズに進める上でも非常に重要になります。
全体仕様を把握しやすい
ローコード開発では、ある程度開発における ・ルール ・パーツ ・できること がツールによって決まっています。 そのため、 「Aさんが作った物を他の人が引き継ぐのに苦労する」 ということは少ないです。 どちらかと言うと、開発した物に対する仕様よりも、それをどの様に運用するのかといったマニュアルが必要になります。 細かいルールが決まっているからこそ、全体の仕様を把握しやすいのです。
システムを内製化しやすい
簡単に開発できることや、プログラミング言語の習得が必須ではないことから、システムを内製化しやすいという特徴もあります。 通常、システム会社に開発を依頼する際には、 「ヒアリングが甘くて運用に耐えうる仕様になっていない」 ということが起こりえます。 その場合、運用方法をシステムに合わせて変えるのは非常に困難です。 システム導入に対する現場の反発も強くなるでしょう。 また、もしも運用に耐えきれずに仕様の修正をする際には、別途で開発費用がかかるケースも多いです。 一方で、ローコード開発で自社開発が行えるようになれば、場合によっては 「現場のちょっとパソコンができる人」 レベルでも開発ができる可能性があります。 そうなると、自社の運用に最もマッチしたシステムの開発ができるでしょう。
スモールスタートが容易
ローコード開発の大きなメリットとして 「開発にかかる工数が少ない」 という事をお話しましたが、それは同時に 「思いつきをちょっとやってみる」 という事が可能になる事を意味しています。 多くのサラリーマンが 「こんな事をできたら良いのにな」 といったちょっとした業務改善のアイデアを持っています。 しかし、それを改善しようと思うと大規模なシステムの導入が必要になる・・・。 そうなってしまうと、どうしても改善は後回しになってしまうでしょう。 稟議を上げたり、上長に相談したり。 会議でプレゼンをする必要もあるでしょう。 このような多くの段階を経てまで、業務を改善しようとする従業員は少ないです。 それも、普段の業務は行いながら。 そのため、多くの日本企業が「変化できない」ままでいます。 ローコード開発を導入することで、開発に関するハードルを下げ、ちょっとしたシステムを数日程度で社内で作り、その結果次第で本格的に開発を検討する。 こういった形であれば、比較的社内のシステム化は進みやすくなります。 ローコード開発の導入には、そういった悪い意味での企業文化を変える力もあるのです。
ローコード開発のデメリット
ローコード開発のデメリット 一方で、ローコード開発にはデメリットも存在します。
開発の自由度は下がる
ローコード開発では、ツールを開発している企業が用意してくれたパーツのみが利用できる形になります。 例えばデータベース設計に関しても、細かくインデックスの設定やストアドプロシージャ・ビューなどを用意できるとは限りません。 サービスによっては、大規模なデータベース処理を想定していない場合もあるでしょう。 そのため、利用できるシーンが限られる可能性があります。
過去のIT資産が使えなくなる可能性がある
おそらく多くの企業で、今までシステムを内製化したり、様々なパッケージソフトを導入した経験があるかと思います。 それ以外にも、現場がマクロで各業務を効率化するなどの工夫をしていることと思います。 そういった仕組みは、企業の「IT資産」と考えるケースがあります。 このIT資産をローコード開発に切り替えることにより、使えなくなるケースが有るのです。
IT人材が育たない
ローコード開発は、たしかに簡単にシステムを開発することが可能です。 しかし、一方で ・技術力を持ったITエンジニア ・セキュリティやロジックを学んだエンジニア といったIT人材が育ちにくいというデメリットもあります。
エンジニアのモチベーション低下
すでにIT人材が社内にいるものの、不足している・・・というケースでのローコード開発の導入は、今いるIT人材のモチベーションの低下にも繋がります。 エンジニアの中には 「システムを作る」 という部分に魅力ややりがいを感じている人も多いです。 しかし、ローコード開発をシステム部門が一手に引き受けることで、 ・他部署へのヒアリング ・他部署でローコード開発を導入するための支援 ・ローコード開発ツールに対する勉強 に回る可能性があり、結果として自分での開発ができなくなる可能性があります。 これは、エンジニアとしてはモチベーションの低下に繋がりかねません。
連携を考慮に入れた導入が必須
ローコード開発ツールには、それぞれのツールごとに異なる仕様があります。 利用しているデータベースも違えば、オンプレミス・クラウドサービスといったサービスの提供の仕方も異なります。 また、利用ユーザーが触ることのできる範囲も異なったり、APIとして用意されている部分も異なるでしょう。 これらの仕様の違いにより、社内の様々なデータを 「一元管理」 することが困難になる可能性があります。 例えば、マーケティング部門で得た顧客情報は、営業が活用するべきですし、営業から得られる顧客の反応や売れる商品の傾向などは、商品開発・生産現場に反映されるべきです。 これらのデータを各々別のローコード開発ツールで開発してしまった結果、 ・データを共有するときには結局エクセルで渡す事になった ・データの共有はできても、分析が不十分なツールだった といった問題が起こる危険性があります。 そのため、作る事にフォーカスするのではなく、その後のデータをいかに活用するのかにフォーカスを当てる必要があるでしょう。
システム開発ならAMELAに
システム開発ならAMELAに 今回は、今話題のローコード開発ツールについて見てきました。 確かにローコード開発によって開発工数は下がる可能性がありますし、スモールスタートがしやすい分、DXが大幅に促進する可能性があります。 しかし、一方で様々なサービスを導入するということは、それぞれに管理が必要になりますし、もしもサービスが提供終了となった場合には、 「別のサービスへの移行作業」 も発生します。 移行作業は、慎重さが求められるとともに、かなりの労力も必要になります。 また、並行運用が必要になるなど、システム部門以外の現場の人間にも大きな影響を与えることになります。 だからこそ、数年・数十年先を見据えたシステムの導入や、データの運用ルールの確立が重要になってくるのです。 AMELAでは、ITコンサルティングを行っている関係上、今企業に必要なシステムの導入から、数十年後も安定してビジネスが行える環境づくりを行っています。 是非、ご相談ください。