ビジネス側からの要請による、ノーコード/ローコードの急速な浸透
――それでは、お二人のご経歴を踏まえつつ、Salesforceも含めた業務系サービスで「ノーコード/ローコード」が注目されている背景や経緯についてお聞かせいただけますか。
及川:私は2007年に日本法人のCTOとなり、米国本社R&Dとの橋渡しや日本の顧客企業に対する顔役になるなど、さまざまな役割を担ってきました。現在はCTOとしての役割を担いながら、グローバリゼーションに関するアーキテクト全般を専門に、米国本社でもコードを書いています。米国ではエンジニアとマネジメントのキャリアは別ルートなので、私も1人のエンジニアとして開発の現場に立ち続けてきました。
田中:私は現在、デベロッパーエバンジェリストとして開発に関わる情報の発信や、デベロッパーのスキルアップなどをテーマに支援を行う立場にあります。なので、ビジネス部門に対してというよりも、実際にSalesforceで開発に取り組んでいる人たちと関わる機会が多いです。
もとはカナダの大学でコンパイラ構築を学び、帰国後は金融系システム会社で上流工程に携わっていたので、実はWebに関わるようになったのは2015年にセールスフォース・ドットコムに入社してからです。以降、ノーコード/コーディング開発で200社近くの案件に携わり、営業チームとも交流が増える中で、改めて「これはビジネスを進化させる重要なツール、プラットフォームになる」という確信を得ました。また、ノーコード/ローコードの活用においてはユーザーブログにいろいろと助けられた経験もあって、デベロッパーに「ノーコード/ローコード開発は皆さんの強い武器になる」ということを伝えるべくデベロッパーエバンジェリストを希望したという経緯があります。
及川:経営視点から見ても、「ビジネス目標を実現するためのIT」をバックアップするものとして認識され、注目されているのは間違いないですね。ITのプライオリティーは概して低く見られがちですが、それでも昨今はビジネス目標を達成するにはITが不可欠という認識があるのでしょう。しかしながら、その目標を達成するために要求されるシステムやツールがちゃんと提供できているのかといえば、たいていの場合できていません。膨大なバックログの中に隠れています。したがって、経営陣が求めるタイミングで求めるシステムを提供するという意味で、「ノーコード/ローコードによる開発は必須」と言っても過言ではないかと思います。
そしてもう1つ、実は何人かのCFOにも聞いたのですが、サービス系のシステムは定額制なので、予測不能で突然大きなコストが動く大規模投資より断然好まれるのです。そうした予測可能なコストという面からも、ノーコード/ローコードが注目されていると聞きます。
田中:少し意外でしたが、そのようなことからも注目されているのですね。現場から経営層、そして財務系からも注目されているとは知りませんでした。
私の立場から見ても、よく言われているように、世の中的にはビジネス要請あってのノーコード/ローコードという印象があります。ビジネス側はインフラやネットワークなどよりも、早くビジネスの強みとなるコアの部分を作ってほしいと考えています。特に昨今のコロナ禍もあって、ネット上でサービスやビジネス、業務などを早々に展開したいというニーズがあり、迅速性に対する要望が高まっています。しかし、高速化が進む一方で、担保するべき品質やセキュリティとのトレードオフになりかねないという懸念も生じています。
そんな中でも、社員が使う業務アプリは、斬新なUX/UIが不要で、すぐに作れてすぐに使えて、すぐに効果が見えるというのが好まれることもあって、ノーコード/ローコードと相性が良いです。また業務アプリは作って終わりではなく、社員トレーニングが必要で定着化に時間がかかり、リリース後にも修正や改善が必要です。ノーコード/ローコードなら、そうした要求にも迅速に答えることができます。そうしたビジネスや社会状況とノーコード/ローコードの強みがフィットしたことで急速に注目されるようになったのだと思います。
実は、エンジニアにとって”当たり前の延長線上”
――やはりビジネス側からの要請が普及を牽引しているのですね。とはいえ、エンジニアにとっても大きな影響があることは間違いありません。次はそれぞれのお立場から見た”エンジニアにとって”のノーコード/ローコードの価値や意味について、お聞かせいただけますか。
及川:会社に言われるまでもなく「エンジニアなら当然」というところでしょうか。昔からエンジニアの世界では、「車輪の再発明はするな」というように、既にあるライブラリやフレームワークを使わずにイチから開発することや、「ゴールデンハンマーの法則」のように、ある技術に成熟したらそれだけで何でも解決しようとすることなど、目的と手段の関係を取り違えることの愚かしさについて散々言われてきました。「コードを書かずに、あるものはうまく使う」というのはエンジニアにとって基本中の基本で、ノーコード/ローコードもその延長線上にあると思っています。
田中:確かにコンパイラは100%コードを書きますが、その上のプログラムでは借り物ばかりです。プログラミング言語の習熟が必要といえど、実態はその言語に紐づくライブラリやAPIを大部分利用します。プログラミングをできるだけ少なくする、書かなくするというのは、エンジニアなら当然考えていることであり、及川さんがおっしゃるように”当たり前の延長線上”なのです。
及川:ノーコード/ローコードとまではいかなくても、コードを書かない部分は相当の割合になっているはずです。エンジニアは手元の道具で最大のパフォーマンスを発揮すること、そして自分のモチベーションとしてライブラリなどの引き出しを増やすこと、そうした目的でノーコード/ローコードを選んでいる。実際、何かを実現したい時にまずはGitHubに使えるものを探しに行くし、Pythonが分析でよく使われるのもAIのライブラリが充実しているからです。そして、「良いコードが書ける」と「コードを最適に組み合わせられる」というのは、両立はしますがイコールではない。そもそも「良いコード」の中身が変わってきていて、仕事のスタイルも求められる結果も変わってきています。少なくとも職業デベロッパーは、必ず何らかのビジネスの要望を満たすアウトプットが求められ、時間やコストの制約もつきまとい、解決すべき問題も複雑化しています。そう考えると、誰でも量の差はあれどノーコード/ローコードは必須ということになります。
田中:デベロッパーに求められる時間やコストの制約をクリアするには、開発速度に負うところが大きいので、私もノーコード/ローコードを「開発の自動化」の1つとして捉えており、その最たるメリットは開発速度の高速化にあると考えています。一般的な開発のライフサイクルである、設計〜コード、ビルド、テスト、リリース、デプロイ、運用監視という流れの中で、ビルドからデプロイにかけてはCI/CDで自動化していると考えれば、コード部分はノーコード/ローコードがそれに該当するのではないかと。設計情報を入れると、自動的にコードが吐き出される。「コードを書く量が減る」だけでなく、付随する設計書の簡便化やテスト量の削減などによって、時間やコストを抑制することができます。
及川:コンパイラ構築からキャリアを出発させている田中さんとしては、コードやプログラミングの進化という観点からも、ノーコード/ローコードへの移行を自然に受け取られているように見えます。
田中:それはあるかもしれません。よく「ノーコード/ローコードは開発の民主化」であり、人材不足の解消のために意図したもののように語られますが、プログラミング言語の歴史から見てもノーコード/ローコードへの移行は自然なことだと思います。バイナリ、アセンブリ言語、高級言語、スクリプト言語というように進化する過程で、特定分野に特化しながら細分化してきています。先程Pythonの話もありましたが、言語は機能を絞り、特定の用途に限定しながら、利用者を増やしてきたというわけです。同じようにノーコード/ローコードも通常のプログラミングに比べて自由度は低くなるけれど修得は容易になっています。その結果、使える人が増えるのは魅力的なことです。
及川:早く簡単に開発できる環境が整うというと、一見ビジネス側だけにメリットがあるように聞こえるかもしれませんが、実はエンジニアにとっては自然な流れです。使いようによっては大きな価値があるというのはもう少し浸透してもいいかもしれません。実際、自分の仕事の価値をわかっている人は、自然とコードを書かない価値もわかっていると思います。
田中:速度が上がれば同じ期間でたくさんのプロジェクトに関わることができ、知見も経験も増えて力が付き、仕事もしやすくなります。またノーコード/ローコード技術を提供している企業のサービスは本当に多くのユーザーに使われており、その大量のユーザーからのフィードバックを受けて機能開発しているのですから、Salesforceの場合でいうと、いわば約15万社分のベストプラクティス集になっています。つまり、一企業の担当者が考える設計より、15万社の知見のほうが遥かに合理的ということも少なくありません。私も顧客企業が実現したい機能の意図を汲み取って、それをノーコード/ローコードで提案して採用された経験が何度もあります。単に依頼を受けるデベロッパーから、ビジネスオーナーの意思決定に介入してビジネスプロセスを変えていける存在になれるというわけです。