ファンブリューの金井です。
弊社ではローコードツールとして、FlutterFlowという技術を採用しています。
使い始めてから半年ほど経ちましたが、その間にエンジニアがローコードを使うメリットは何なのか、ということを何度か考える機会がありました。
当然、FlutterFlowがメリットしかなければそんなことは思い浮かばないわけですが、実際にはローコードを使うよりコードを書いた方が早いという逆説的なことが起こったからです。
ただ、これはエンジニアでコードが書けるからこそ起こる状況です。
今回はこのことについて、ローコード自体のメリット・デメリットを挙げながら、エンジニアがローコードをうまく活用するための方法について書いてみたいと思います。
またFlutterFlowはコードも書けるローコードツールですが、本記事ではローコードもノーコードも同じ意味で扱います。
ノーコードを使うメリット
一般企業がノーコードを採用するメリット
システム開発を行なわい企業様であれば、ノーコードを採用する価値は非常に高いでしょう。
まず、システム開発は時間的にも予算的にもコストがかかるものです。
自社にエンジニアがいれば費用を抑えられたりもしますが、アウトソーシングしないことによるデメリットもあります。
そこでノーコードを使うことができれば、自社の社員が業務の片手間にシステムを構築することができます。
ノーコードの多くは自社の業務改善(いわゆるDX)に使われることが多いため、当事者が不便を感じて作るシステムは、業務にピンポイントで効くものになります。
これは開発会社に依頼してシステムを作るよりも、早くて間違いないシステムが出来上がることでしょう。
システム開発会社がノーコードを採用するメリット
システム開発会社がノーコードを採用する場合もに大きなメリットがあります。
例えば、お客様ですでに採用しているノーコードツールがある、もしくは開発会社指定のノーコードでも構いませんが、ノーコードツールが自社・他社で使える共通技術のため、システムの大枠だけ開発会社にお願いして、保守・運用はお客様で行うというやり方ができます。
これはシステム開発を行うベンダーにとっては、費用を抑えてお客様に提案できる1つの手段になります。
特に保守・運用費はお客様の方で開発の予算に入ってないことがあり、開発に相談に来られる頃ではどうにもならないこともあります。
そこでお客様の方で運用していただくという提案ができるのがノーコード良いところです。
では、お客様でも共通で使えるノーコードツールを、あえて開発会社に依頼する理由とは何でしょうか。
ここも見落としがちなのですが、ノーコードとはいえシステム設計が必要になるからです。
システム設計に失敗してしまうと、最終的にはシステム丸ごと作り直す羽目になります。
また採用するノーコードを誤ると、そのツールをやめられなくなる、いわゆるベンダーロックインも発生します。
開発会社はシステムを作るだけではなく、システム構築の専門家として相談するという意味でも、開発会社に依頼する理由になるでしょう。
ノーコードのデメリットについて
ノーコードにはメリットがいくつもありますが、ここからはデメリットについても触れていきたいと思います。
一般企業がノーコードを採用するデメリット
ノーコードツールの中には、簡便さと引き換えに柔軟性に欠けるものがあります。
この柔軟性というのは、例を挙げると、CSVでデータを出力できる機能であったり、APIでデータを共有できたりといった、他システムとの連携のしやすさとイコールだと思っていただくと良いでしょう。
この辺りのツールの選定を見誤ると、最悪の場合、システムの作り直しが発生することになります。
ただ、外部のベンダーに依頼しても同様のことは起こりうるので、ノーコードを採用した場合は外部に依頼するよりもコスト的なダメージは比較的少なく抑えらるでしょう。
開発会社がノーコードを採用するデメリット
今回一番お伝えしたい内容である、開発会社がノーコードを採用するデメリットについてです。
まず、冒頭でも少し書いていますが、ある程度経験のあるエンジニアなら、プログラムを書いた方が早くシステムを組めます。
これにはいくつか理由があります。
1つ目は、エンジニアも含め、多くの人がノーコードを使うと簡単に素早く開発ができるという期待があるためです。
これは概ね間違いではありませんが、コードが書けるベテランエンジニアが感じられるメリットではありません。
基本的には開発をしない非エンジニア向けの謳い文句であり、ここに期待しすぎると逆にパフォーマンスが上がらず、期待外れになります。
2つ目はノーコードではどうしても実現できない実装が存在することです。
エンジニアの経験のある人なら共感いただけるかもしれませんが、システム開発で作れないものというのはほとんどありません。
ただし、さまざまな制約があり、主にコストの面で依頼をお断わりすることがほとんどでしょう。
その場合はその特定分野に強い他の開発会社やエンジニアに依頼するか、実現できる範囲のシステムに要件を変更することでしょう。
ノーコードの場合、最初からプログラムを書いていれば実現できることを、ノーコードを採用したがために実現できなくなるというジレンマが発生します。
実現できないことの説明責任は当然システム開発会社にありますが、そのノーコードツールに何ができて、何ができないのかというのは、意外と事前にお客様にお伝えするのは非常に難しいです。
一言で言うと、「そのノーコードツールが要件を満たすための機能を用意してないから」となるのですが、どちらにしても採用するノーコードツールについて精通してなければ、そういった説明をすることができません。
結局、あるノーコードツールを採用することは、そのツールのプロになること、すなわちマスターすることを求められます。
3つ目はエンジニアのキャリアアップに繋がりづらいことがあります。
システム開発会社としては、当然ながら自社のメンバーには開発の経験を積んで欲しいと思っています。
もしノーコードツールを採用して、その技術ばかり利用しているとなれば、その人はそのツールの専門家にはなれるかもしれませんが、JavaやPHPのような汎用的な技術ではないため、いわゆる潰しが効かない状態になります。
ノーコードツールの専門家として逆手に捉えることもできますが、最後は会社の方針やエンジニアご本人との相談になるでしょう。
エンジニアがノーコードをうまく使うには
ここまでメリット・デメリットをご紹介してきましたが、エンジニアがノーコードをうまく活用するにはどうすればいいでしょうか。
ここでは私の考える活用法をいくつかご紹介します。
チーム平準化のための開発ツールとして
システム開発の現場では、ベテランエンジニアがメインで作り上げて、他のエンジニアが補佐するような状況というのは頻繁に見かけられます。
パレートの法則ではありませんが、メインのエンジニアさんがいれば、他の人はいなくても良いのでは?と思うぐらい極端なプロジェクトもあったりします。
そこで、ノーコードツールをメインの開発技術として据えておけば、ツールの使い方を覚えれば新人のエンジニアであっても即戦力なりやすくなります。
コードを書くという作業はそれなりの経験が必要であり、どうしても不具合も起こりやすくなります。
とはいえ、ノーコードでもシステム設計は必要で、ここを誤るとシステムの作り直しが発生するので注意が必要です。
プロトタイプとして採用する
ノーコードを使えば、実際に動くシステムとして、ワイヤーフレームよりもわかりやすく、ともすればそのまま運用に入れそうなクオリティのシステムを組むこともできます。
特にノーコードを使った場合、プロジェクト初動は圧倒的なスピードが出せますので、プロトタイプと割り切って使うのも良いでしょう。
スタートアップの会社や自社の新規事業などで、プロダクトが大きくヒットするまでの繋ぎとして使うというやり方もあります。
もちろん、そのノーコードがそのまま運用に耐えうるものであれば、ずっと使い続けるという選択肢も採れます。
新人エンジニアの学習ツールとして
システム開発をする新人エンジニアは、わかりやすいものでいうとコードの書き方を学ぶことが多いでしょう。
これは大部分ではその通りなのですが、何を作れば良いのか、どう作るのが良いのか、そういったことを業務に落として考える、いわゆるシステムの設計の経験が上手く積めないことがあります。
システム構築の実務の部分をノーコードにしてしまえば、プログラムを書くということに集中しすぎずに、システム設計を学ぶことができます。
システム設計は、頭で考えた内容を設計書なりに落とし込んで、実際にシステム開発を行いながら、誤っているところや改善手印を踏まえて、また設計の修正を行うということを繰り返していきます。
このサイクルを早めるためにノーコードを採用するのは一つの手になるかと思います。
最後に
2023年の初めまで、私はノーコードは非エンジニアが使うツールだと捉えていました。
ただ、本当にお客様になるためのシステム開発をするにはと考えたときに、ノーコードは最善の手段だと傾倒していた時期もあります。
それからノーコードを触っていましたが、なまじコードが書けるため、実現できないことが多すぎて、さまざまなツールを触っては辞めるということを繰り返しました。
そんな折に出会ったのがFlutterFlowです。
ただし、そんなFlutterFlowも完璧には程遠いです。
今回はその辺の背景も踏まえて、エンジニアがノーコードを採用する理由というのを書いてみました。
少しでも皆様の参考になれば幸いです。
ファンブリューでは神奈川県藤沢市を拠点に、全国各地のシステム開発を請け負っております。
システム担当者の方で、
現在こんなお悩みはありませんか?
開発会社にお願いをしているけれど、なんだか反応が良くない…
気軽に相談できない
開発後もしっかりサポートしてほしい
ファンブリューでは血の通ったシステム開発を行っています。
お客様との将来的な関係を見据えて、お仕事をお受けしています。
信頼関係を大切にした開発にご興味がある方は、今すぐ下のボタンからお問い合わせください。
確認次第、折り返しメールでご連絡を差し上げます。