「ローコード」についてよく聞かれることがあります。プラットフォームについては、「シチズンディベロッパー」についても聞きます。コーディングすることなく、エンタープライズアプリケーションをグラフィカルに作成できます。この記事では、今日存在するローコードプラットフォームのさまざまな特徴と、プロの開発者が最適なサービスを提供するためにそれらが重要であることを検証します。
ローコードファミリーツリー
「ローコード」をめぐる混乱の一部は、ローコード開発プラットフォームとは何かについての誤解から来ています。一般に、ローコードプラットフォームには2つの大きな起源があります。ローコードプラットフォームは昨日登場したわけではありません。それらは、2つの異なる確立された既存のテクノロジの論理的な進化です。
- ワークフローとビジネスプロセス管理(BPM)プラットフォーム
これらのプラットフォームは、ローコードの先駆者です。最も基本的な形式では、BPMはビジネスロジックをコーディングするのではなく、ビジネスロジックをビジネスプロセスモデルにカプセル化します。BPMプラットフォームでは、標準的なエディタ(BPMプラットフォームで広く使用されているBPMN2など)を使用してビジネスロジックをグラフィカルに設計できます。そして、モデルはトランザクションプロセスエンジンによって実行されます。これはモデル駆動型開発と呼ばれます。今日のほとんどのBPMプラットフォームには、完全なビジネスアプリケーションを構築するために使用できるツールとフレームワークが追加されています。BPMプラットフォームの例としては、Appian、Pega、K2、Bizagi、Bonitaなどがあります。
- コード生成プラットフォーム
これらは、アプリケーションの作成を容易にするための視覚的なアプリケーション開発環境を提供するプラットフォームです。アプリケーションが終了すると、プラットフォームは実行可能コードを生成します。今日、これらのプラットフォームの多くは、ビジネスアプリケーションロジックを設計するための独自のWebflowアプローチを完成させるためのある種のワークフロー機能も追加しています。これらのプラットフォームのよく知られた例には、Outsystems、Kony、Progress Kinveyなどがあります。
しかし、市場とソフトウェアの両方が成熟してきたため、ローコードユーザは考慮すべき選択肢がさらに増えました。今やバニラやチョコレートだけでなく、少なくとも「31のフレーバー」があります。どう選ぶか。ローコードのソリューションを選択することは、今月のBaskin-Robbinsフレーバーを選択するほど簡単なことではありません。適切なプラットフォームを選択することは、次の基準を考慮し、それらがどのようにあなたのニーズに影響を与えるかを検討することを意味します。
- スコープ:プロセスの自動化、インテリジェントな自動化、マイクロサービスのオーケストレーション、ケース管理、ビジネスアプリケーションの開発
- ターゲットのペルソナ:シチズンディベロッパー、プロの開発者、両者の組み合わせ
- 実行方法:(上で説明したように)モデル駆動型開発、コード生成、両方の組み合わせ
- アーキテクチャ上のアプローチ:コンポーネントベースまたはサービスベース、組み込み可能、プラットフォームの拡張性、利用可能なAPI
- プロジェクトの複雑さ:小規模/中規模/大規模プロジェクト、スケーラビリティ、耐障害性とパフォーマンス、同期実行と非同期実行
- デプロイオプション:オンプレミス、パブリック/プライベート/ハイブリッドクラウド、SaaS、aPaaS
- インテグレーションオプション:クラウドインテグレーション、レガシーインテグレーション、DevOpsツール
- 学習教材および教材:フリーミアム、オープンソース、チュートリアル、GitHubリポジトリの例
プロの開発者のかけがえのない役割
シチズンディベロッパーがプロの開発者の関与なしに重要なアプリケーションを構築しようとする考えについて慎重に検討しましょう。
シチズンディベロッパー向けのローコードプラットフォームの支持者の中には、ローコードプラットフォームを使用することで、必要なすべてのプロジェクトをサポートするための開発者不足に対する解決策が得られると言う人もいます。エンタープライズアプリケーションに十分なプロの開発者がいない場合、シチズンディベロッパーがギャップを埋めることは可能か。それとも彼らはプロの開発者に取って代わるか。断じてそうは思いません。しかし、それが可能であっても、シチズンディベロッパーだけを使用することで、1つの問題が解決される一方で、より大きな問題を生み出します。それは、どのようにして、エンタープライズアプリケーションを最終的に担当するITチームが、非技術者によって構築されたアプリケーションから最高のパフォーマンスを引き出し、維持し、進化させるかということです。
率直に言って、開発にプロの開発者が関与していないことは危険です。特に、専門でない開発者が、ローコードのプラットフォームによって実現されるデジタル変革イニシアチブの一環として、銀行などのコアアプリケーションの実装を管理している可能性があると考えるのは怖いです。
ローコードプラットフォームの真の力は、再利用可能性を高めコードを書く必要性を減らす技術、フレームワーク、方法を提供することによってシチズンディベロッパーとプロの開発者の両方が関与できることです。取り除くことではありません。
シチズンディベロッパーとのコラボレーションを可能にすると同時に、生産性を向上させるために適切な一連のテクノロジを使用できるようにする、プロの開発者向けのローコードプラットフォームが必要です。
ローコードプラットフォームでプロの開発者しかできないことは何か
プロの開発者がエンタープライズアプリケーションを開発するためにローコードプラットフォームから期待される重要な側面が少なくとも5つあります。それは、拡張性、グラフィカルツール+コーディングオプション、DevOpsと継続的デリバリー、デプロイオプション、スケーラビリティです。
私は、リストに6番目のものを追加します。オープンソースの選択肢がもたらす利点は、決定を下す前にプラットフォームを使ってみることができること、学習曲線を小さくできること、共有するコミュニティの一員となれることです。
拡張性による柔軟性は自由を提供する
開発者は他の人と同じように自由を好みます。アプリケーションを構築するための完全なプラットフォームに直面した場合、開発者が必要とするコンポーネントのみを選択できること(たとえば、プロセスエンジンだけ、あるいはプロセスエンジンとユーザーインターフェースデザイナーかもしれません)は柔軟性を提供することになります。拡張性により、ライブラリ、フレームワーク、プラットフォームを拡張し、それを改善する自由がもたらされます(たとえば、サードパーティシステムに新しいコネクタを追加したり、欠けているREST APIを追加することによって)。あるサービスまたはコンポーネントを別のサービスまたはコンポーネントに置き換えられる自由があります(たとえば、デフォルトの認証サービスまたはSSOサービスを置き換えること)。他の推奨ソリューションと組み合わせる自由があります(たとえば、特定のトランザクションマネージャ、データベース、アプリケーションサーバ、継続的インテグレーションツールを使用するなど)。開発者向けのローコードプラットフォームは、コードに対する自由を許可する必要があります。
異機種混在チーム向けのグラフィカルツールとコーディングの適切な組み合わせ
開発者はコードを書くことを好むかもしれませんが、彼らは一般的に車輪の再発明を望んでいません。Webページをデザインしたり、プロセスのパラメータをグラフィカルに設定したりするための、使いやすく強力でグラフィカルな方法がある場合は、喜んで使用する人は常にいるでしょう。もちろん、「使いやすい」ツールと思っていない、または必要としていない人も常にいます。本当にコードを好む開発者にとっては、自分の好きなJavaScriptライブラリを使用してそのWebページを作成するか、プロセスパラメータを設定するためにXMLファイルを使用するオプションがあれば、ローコードアプローチで問題ないでしょう。 開発者向けのローコードプラットフォームは、さまざまな好みやスキルレベルを持つ技術チームを効果的にサポートします。
コラボレーションと継続的デリバリーのためのツール
デジタル変革とは、新しい機能を迅速に構築し、何が機能し、何が機能しないかを確認し、フィードバックに基づいて変更を加えることとアジャイルを活用することです。プロの開発者やDevOpsチームの関与なしにどのように機能するか。今日のソフトウェアの構築とは、コラボレーションとリポジトリ管理のためのGithub、配信の自動化のためのDocker、継続的インテグレーションのためのJenkins、アプリケーションとプラットフォームのプロビジョニングとデプロイのためのAnsibleなどのテクノロジとのネイティブインテグレーションを使うことを意味します。開発者向けのロコードプラットフォームでは、開発者が好みのメソッドやフレームワークを使用できるようにする必要があります。
多くの専門分野にわたる開発チームのサポート
エンタープライズ実装では、分散開発チーム間で機能する変更管理機能が非常に重要です。開発チームは頻繁に異なるプロファイル(フロントエンドとバックエンド)で構成されますが、上記のように混合開発アプローチを使用しているかもしれません。開発者の中には、ユーザインタフェース開発のためにグラフィカルツールを好む人もいれば、HTML5を使ったハンドコーディングを好む人もいれば、Javascriptを使う人もいます。ローコードプラットフォームは、それがチーム間でのコラボレーションを可能にするのと同じくらい異質な「実施する必要があるすべてのプロジェクトをサポートするための開発者が不足している」という問題を解決するのに役立ちます。
アーキテクチャとスケーラビリティの柔軟な選択
アプリケーションがSaaSを介してオンプレミスにデプロイされているか、あるいは、パブリック、プライベート、ハイブリッドのクラウドにデプロイされているかにかかわらず、プロの開発者はプラットフォームで構築されるアプリケーションのアーキテクチャーを明確に把握したいと思っています。これにより、パフォーマンスとスケーリングを考慮してそれらのアプリをモデル化および設計したり、アプリケーションコンポーネントとサービス間の通信を改善したり、ユーザーインターフェイスとデータをビジネスプロセスから切り離したりできます。アーキテクチャを明確に把握し、拡張性とコードの自由度を組み合わせることで、開発者はさまざまな環境で実行および拡張するエンタープライズアプリケーションを構築できます。
購入する前に試してください;学び、共有する
開発者は、他の人と同じように、もちろん、使用するツールを選択するプロセスの一部になることを望みます。ここではオープンソースとフリーミアムモデルのプラットフォームが市場をリードしています。オープンソース製品の利点は、誰でもダウンロードしてそれを使い始めることができるということです。一般的に、質問をしたり、意見を述べたり、ベストプラクティスを共有したりするコミュニティもあります。
ローコードは高度なコラボレーションのためのものである
デジタル変革のイニシアチブには、革新的なエンタープライズアプリケーションの作成に成功するために、コードと共に、ビジネスユーザ、技術スキル、エンドユーザの優れたチームが必要です。デジタル変革チームを強化するための適切なローコードプラットフォームの選択は、それが提供するツール、拡張ポイント、インテグレーション機能、API、基盤となるテクノロジ、継続的インテグレーションとそれが提供するデプロイオプションを明確に理解することを意味します。
現実には、プロの開発者は複雑なローコードプロジェクトの実装に関与する必要があります。これは、これらのプラットフォームを使用することによる複数の利点(開発速度を含む)を排除するものではなく、実際の問題に集中するのに役立ちます。それは、ローコードプラットフォームのコンテキストでどのようにしてプロの開発者により良いサービスを提供するか、およびそれらのプロジェクトのさまざまなペルソナ間のコラボレーションをどのようにして改善するか(シチズンディベロッパーを含む)。
著者について
Miguel Valdes Faura氏は、Bonitasoftの最高経営責任者兼共同創設者であり、企業のミッションをリードしています。Bonita BPMベースのデジタルビジネス自動化プラットフォームを使用して、シームレスで魅力的でパーソナライズされたユーザーエクスペリエンスを備えたアプリケーションを開発するための開発チームの可能性を最大限に引き出しています。
Bonitasoftの前は、Valdes Faura氏はヨーロッパの大手システムプロバイダであるBull Information SystemsのBPM部門のプリセールスおよびサポートを率いていた。Valdes Faura氏は、ビジネスプロセス管理における今後の方向性を示す指導者であり、オープンソースコミュニティ構築に熱心です。彼は、O’Reilly主催の国際会議Global Expansion Summit and Web Summitで定期的に講演し、Forbes、CNN、Mashableなどのメディアで紹介されています。Valdes Faura氏は、2014年に名誉あるCEO World Awardを受賞しました。そして、2018年にWorkflow Management CoalitionとBPM.comから「Business Transformation Personality of the Year」を受賞しました。