革新的なアプリケーションのためのアプリケーション開発

デジタル発明によるデータの民主化」で説明したように、 データは、デジタル経済のほとんどのイノベーションの燃料です。 この例えで言うと、アプリケーションは、必要とする人々に燃料を届けるために必要な給油所であり、インフラストラクチャもあります。

場合によっては、データだけでも、変化を促し顧客のニーズを満たすには十分です。 しかし、一般的には、顧客のニーズに対するソリューションには、データを形にしてエクスペリエンスを生み出すアプリケーションが必要です。 革新的なアプリケーションは、ユーザーを引き付けてやり取りし、情報やガイダンスを提供します。 この記事では、検証予定の仮説に基づいて適切なアプリケーション開発ソリューションを見つけるのに役立つ、いくつかの原則をまとめます。

顧客のニーズを満たすエクスペリエンスを提供するアプリケーションを作成するのに役立つ要素を示す図。

共有コード

一般的に、最もイノベーションを推進させるのは、顧客からのフィードバック、市場の変化、および機会に迅速に対応するチームです。 革新的なアプリケーションの最初の原則は、グロース マインドセットの要素である、「コードを共有する」ことです。コードを共有することで、多様な視点および貢献が得られ、イノベーションが促進されます。 このため、アプリケーション開発を共有コード リポジトリから開始する必要があります。

コード リポジトリを管理するために広く採用されているツールは GitHub です。これを使用すると、共有コード リポジトリをすばやく作成できます。 別の方法として、Microsoft Azure Repos があります。これは、クラウドでホストされる無制限のプライベート リポジトリをプロジェクトに提供する Azure DevOps サービスです。 Azure Repos を使用する場合のバージョン管理では、分散型である Git、または一元化された Team Foundation バージョン管理 (TFVC) のいずれかを選択できます。 Azure Repos、Git、TFVC の詳細については、「Azure Repos のドキュメント」を参照してください。

市民開発者

プロ開発者はイノベーションにおいて重要です。 仮説が大筋で正しいことが証明されたら、ソリューションを安定させて大規模に準備する役割を果たすことができます。 残念ながら、プロ開発者は不足している場合があり、プロフェッショナル開発によりコストが増加し、イノベーションが失速するおそれがあります。

市民開発者は、企業の IT によって承認された開発およびランタイム環境を使用して、新しいビジネス アプリケーションを作成するユーザーです。 市民開発者を使用すると、開発作業を拡大し、初期仮説の検証を迅速化できます。 アプリケーション インターフェイスのための Power Apps、プロセスと予測のための AI Builder、ワークフローのための Power Automate、データ利用のための Power BI といったツールを使用して初期仮説を検証できる場合、この戦略が実用的で効果的な可能性があります。

Note

仮説のテストを市民開発者に頼るときは、サポート、レビュー、作業のガイドを行うプロ開発者も配置しておくことが推奨されます。 プロフェッショナルのサポートにより、イノベーションの成果をさらに得られる堅牢な設計を開発できます。 適切なタイミングでプロ開発者が関与すれば、後々の移行をよりクリーンにできる可能性があります。

インテリジェントなエクスペリエンス

インテリジェントなエクスペリエンスとは、最新 Web アプリケーションのスピードとスケールに、認識サービスやボットのインテリジェンスを融合したものです。 これらのテクノロジは個別でも顧客のニーズを満たすには十分かもしれません。 しかし、適切に組み合わせれば、デジタル エクスペリエンスによって満たすことのできるニーズの範囲を広げながら、アプリケーション開発コストを抑えることができます。

最新の Web アプリ

内部または外部の顧客のニーズを満たす最速の方法は、最新の Web アプリケーションです。 それらが提供するエクスペリエンスによって顧客を迅速に引き付け、ソリューションを急速に進化させることができます。

インテリジェンスの追加

プロおよび市民開発者は、顧客のニーズを満たし、対話型エクスペリエンスを作成するのに役立つ機械学習や AI 機能をいつでも簡単にアプリケーションに追加できます。 これらの機能の例を次に示します。

  • 音声テキスト変換
  • テキストを音声に変換する
  • Computer Vision
  • ビジュアルの検索
  • 予測 AI

イノベーションを起こすには、インタラクティブな最新エクスペリエンスを生み出すためにこうした機能を活用することを知っておく必要があります。

ボット

ボットは、従来のコンピューター アプリケーションを使用しているのではなく、人とやり取りしているようなエクスペリエンスをユーザーに提供する会話型の AI アプリケーションです。 ユーザーは、テキスト、インタラクティブ カード、および音声を使ってボットと会話します。 ボットとの対話では、ディナーの予約を行うなどの簡単な質問と回答から、サービスへのアクセスをインテリジェントに提供する洗練された会話までを行うことができます。

ボットは、ファイルの読み取りと書き込み、データベースや API の使用、一般的な計算タスクの処理といった、他の種類のソフトウェアと同じ操作を実行できます。 ボットの特徴は、人と人のコミュニケーションによく見られるメカニズムを使用する点にあります。 ボットは、最新の Web アプリケーションによく似ていて、インターネットに接続し、API を使ってメッセージを送受信します。 ボットの機能は、ボットの種類によって大きく異なります。 最新のボット ソフトウェアでは、さまざまなテクノロジーとツールを利用して、さまざまなプラットフォーム上でより複雑なエクスペリエンスを提供しています。 一方、シンプルなボットでは、コードをほとんど使わずに、メッセージを受信し、そのメッセージをそのままユーザーに返すことができます。

クラウドネイティブ ソリューション

クラウドネイティブ アーキテクチャを使用すると、急な変更に対応し、回復性があるスケーラブルなアプリケーションをより簡単に実行できます。 クラウドネイティブ アプリケーションは通常、コンテナー、マイクロサービス、マネージド サービス、サーバーレス関数、イベント ベースのプログラミングを使用して構築されます。 一般的に、クラウドネイティブ ソリューションでは、継続的デリバリーを使用して市場投入までの時間を短縮します。

クラウドネイティブ ソリューションにより、集中型の開発チームは、モノリシックな集中型ソリューションを必要とすることなく、ビジネス ロジックの制御を維持できます。 また、市民開発者と最新エクスペリエンスの入力の一貫性を推進する要としても機能します。 最後に、クラウドネイティブ ソリューションでは、市民開発者とプロフェッショナル開発者に、できるだけ阻害されずに安全にイノベーションを起こす自由を与えることで、イノベーションが加速されます。

既存のソリューションによるイノベーション

多くの顧客仮説は、既存のソリューションを最新化したバージョンによって最も良く実現できます。 これは、現在のビジネス ロジックで顧客のニーズをほぼ満たしている場合に当てはまります。

ほとんどの形式の最新化 (リファクタリングなど) はクラウド導入フレームワークの移行手法に含まれています。 その方法論により、クラウド導入チームがデジタル資産をクラウドに移行するプロセスがガイドされます。 Azure 移行ガイドでは、同じ方法論に対して、少数のワークロードや単一のアプリケーションにも適した合理化されたアプローチを提供しています。

ソリューションの移行と最新化が完了したら、さまざまな方法でそれを使用して、新しい革新的なアプリケーション ソリューションを作成し、顧客のニーズを満たすことができます。 たとえば、市民開発者が仮説を検証したり、プロフェッショナル開発者がインテリジェントなエクスペリエンスクラウドネイティブ ソリューションを作成したりできます。

既存のソリューションを拡張する

ソリューションの拡張は、最新化の一般的な形式の 1 つです。 顧客仮説が次の条件を満たす場合、これによって最速でイノベーションを実現できる可能性があります。

  • 既存のビジネス ロジックが顧客のニーズを満たしているか、それに近い。
  • 新しいエクスペリエンスはなく、改善されたものによって、顧客のニーズが最も満たされる。
  • 実用最小限の製品 (MVP) ソリューションに必要なビジネス ロジックが集中化されている。これは通常、n 層、Web サービス、API、またはマイクロサービス設計によって実現されます。 このアプローチでは、クラウドでホストされる新しいエクスペリエンスで既存のソリューションをラップします。 Azure では、このソリューションは Azure App Service で運用される見込みです。

既存のソリューションを再構築する

既存のソリューションが顧客のニーズを満たしているか、ほぼ満たしているが、簡単に拡張できない場合、リファクタリングが必要になることがあります。 このアプローチでは、アプリケーションはクラウドに移行されます。 アプリケーションを移行した後、その一部を Web サービスまたはマイクロサービスとして変更または複製し、既存のソリューションと並行してデプロイします。 並列サービスベースのソリューションは、拡張されたソリューションと同様に扱うことができます。 このソリューションでは、クラウドでホストされる新しいエクスペリエンスで既存のソリューションを単にラップします。 Azure では、このソリューションは Azure App Service で運用される見込みです。

注意事項

ソリューションのリファクタリングや再設計、またはビジネス ロジックの一元化は、顧客価値を生み出すのではなく、時間を消費する技術的スパイクをすぐに引き起こす可能性があります。 これは、イノベーションにとって、特に仮説検証の初期においてはリスクになります。 ソリューションの設計をわずかに創造的にするだけで、既存のソリューションのリファクタリングを必要としない MVP への道が開けるはずです。 初期仮説を大筋で検証できるまでは、リファクタリングを遅らせるのが賢明です。

運用モデルのイノベーション

アプリケーション開発のための最新の革新的なアプローチに加えて、アプリケーションの運用においても注目すべきイノベーションがあります。 これらのアプローチによって、多くの組織に変化が生じました。 最も顕著なものの 1 つは、クラウドのセンター オブ エクセレンス運用モデルです。 優れた人員が揃い、成熟したビジネス チームには、ソリューションに対して独自の運用サポートを提供するという選択肢があります。

クラウドのセンター オブ エクセレンスにみられる、このようなセルフサービス型の運用管理モデルでは、ソリューション環境内で制御を厳格化し、イテレーションを迅速化することができます。 これらの目標は、運用管理と説明責任をビジネス チームに移管することによって達成されます。

既存のソリューションのグローバル需要をスケーリングまたは充足しようとするのであれば、顧客仮説の検証にはこのアプローチで十分かもしれません。 ソリューションを移行して若干最新化した後、ビジネス チームはそれを拡張してさまざまな仮説をテストできます。 これらには、一般に、パフォーマンス、グローバル配信、および IT 運用によって妨げられているその他の顧客ニーズに関心を持つ顧客コーホートが含まれます。

オーバーヘッドと管理を削減する

革新的なアプリケーションまたはソリューション内で保守するものが多ければ多いほど、アプリケーションまたはソリューションのイテレーションには時間がかかります。 これは、利用可能な帯域幅に対する運用の影響を減らすことで、イノベーションを加速できることを意味します。

革新的なソリューションを提供するために必要な多くのイテレーションに備えるには、先を読むことが重要です。 たとえば、サーバーレス オプションを優先することによって、プロセス初期の運用負担を最小化します。 Azure では、Azure App Serviceコンテナーをサーバーレス アプリケーションの選択肢に含めることができます。

これと並行して、Azure でサーバーレスのトランザクション データという選択肢を検討します。これによってもオーバーヘッドを削減できます。 Azure 製品カタログ には、完全なデータ プラットフォームを必要とせずにデータをホストするためのデータベース オプションが用意されています。

次のステップ

仮説とソリューションにもよりますが、この記事の原則は、MVP の定義を満たしてユーザーを引き付けるアプリケーションの設計に役立てることができます。 次に紹介する導入の強化の原則では、アプリケーションとデータをより速く効率的に顧客のもとに届ける方法を示します。