今回は、アプリケーションマネジメントについて次の観点で説明します。
アプリケーションマネジメントの概要
アプリケーションマネジメント(Application Management、略してAM)とは、ビジネス要件(戦略の実現、各種報告の信頼性確保、各種法規の遵守)を実現するアプリケーションの機能や品質を確保するために、アプリケーションマネジメント組織が、アプリケーションマネジメントプロセスに従って、アプリケーションのライフサイクルを管理することです。
次の図は、アプリケーションマネジメントの全体像を表したものです。
これを見ると、アプリケーションマネジメントは、次の4つの構成要素から成ることがわかります。
アプリケーションマネジメント組織の役割であるアプリケーションアーキテクトが、アプリケーションマネジメントの論理的基盤となるアプリケーションアーキテクチャを設計し、必要に応じて、それを物理的基盤であるアプリケーション基盤に実装します。
アプリケーションアーキテクトは、経営者やビジネスアーキテクトと協力して、アプリケーションマネジメントプロセスに定義された手順にしたがって、アプリケーション基盤を運用し、アプリケーションマネジメントを遂行し、アプリケーション機能や品質を維持、向上させます。
なお、アプリケーション基盤は、データマネジメントのデータ管理基盤のデータ連携基盤と同義になります。
それから、アプリケーションマネジメントは、DX戦略マップのマネジメント基盤の一要素になり、データドリブン経営の土台となります。
それでは、各要素を一つひとつ見ていきましょう。
アプリケーションマネジメントの構成要素
ここでは、アプリケーションマネジメントを構成する3つの要素について説明します。
アプリケーションアーキテクチャ
アプリケーションマネジメントの論理的基盤となるアプリケーションアーキテクチャは、静的モデルであるアプリケーション構成と、動的モデルであるアプリケーション連携モデルから成ります。
アプリケーションアーキテクチャの設計方法についての詳細は、記事アプリケーションアーキテクチャの設計方法を参照してください。
アプリケーションマネジメント組織
アプリケーションマネジメント組織を設計するときは、設計フェーズでアプリケーションマネジメントを遂行するジョブを設計し、戦略フェーズでジョブを実際に行うアプリケーションマネジメント部門を設計します。
アプリケーションマネジメントに関係するジョブは次のようになります。
- CDXO
DXの最高責任を持つ執行役員。 - 業務担当者
業務の執行にアプリケーションを利用する者。 - ビジネスアーキテクト
ビジネスプロセスマネジメントを執行する役割。 - アプリケーションアーキテクト
アプリケーションマネジメントを執行する役割。 - アプリケーションエンジニア
アプリケーションアーキテクトの下で、個別アプリケーションを開発、保守・運用する役割。
このうち、実際にアプリケーションマネジメントを担う役割は、アプリケーションアーキテクトです。
アプリケーションアーキテクトは、CDXOと一緒に戦略マップの学習と成長の視点の情報資本目標を考えます。
また、アプリケーションアーキテクトは、ビジネスアーキテクトにジョブや戦略マップの情報を確認し、アプリケーション構成を設計します。
それから、アプリケーションエンジニアは、業務他担当者に対してアプリケーションの利用の支援を行います。
次の図は、アプリケーションアーキテクトから成るアプリケーションマネジメント部門を表した図です。
アプリケーションマネジメント部門は、DXを推進する組織を構成する一要素になります。
アプリケーションマネジメントプロセス
アプリケーションマネジメントプロセスは、アプリケーションの品質、特に保守性や生産性を上げるために、次のソリューションを組み込みます。
- マイクロサービス
- DevOps
- アジャイル開発
- ユースケース駆動開発
- ドメイン駆動設計
アプリケーションマネジメントプロセスの設計では、主に次のプロセスを設計します。
- アプリケーション開発プロセス
- アプリケーション運用・保守プロセス
アプリケーション開発プロセスは、ユースケース駆動開発×ドメインモデル駆動設計で設計し、アプリケーション運用・保守プロセスにはDevOpsを適用します。
アプリケーションマネジメントの導入方法
アプリケーションマネジメントは、次の図のように一つの戦略サイクルで導入します。
アプリケーションマネジメント成熟度でいうと、設計フェーズで、アプリケーションマネジメントモデルを設計した段階で、レベル3,定義された状態になり、アプリケーションマネジメント戦略を策定し、それにもとづいてアプリケーションマネジメント組織を構築し、1回以上運用することでレベル4、管理された状態になります。
そして、この段階で、データドリブン経営が実現された状態になり、データドリブン経営を繰り返すことでレベル5、最適化された状態になります。
アプリケーションマネジメント成熟度とは、そのプロセスの状態によってアプリケーションマネジメントの成熟度を評価するものです。
アプリケーションマネジメント成熟度レベル(Application Management Maturity Levels)は、組織がアプリケーションをどのように管理し、利用しているかを評価するための枠組みです。以下の5つのレベルに分けることができます。
- レベル 1: 場当たり的な状態 (Initial)
アプリケーション管理はアドホックであり、プロセスや手順は正式に文書化されていません。
アプリケーションの品質が低く、アプリケーションの開発は個々のプロジェクトに依存します。 - レベル 2: 繰り返し可能な状態 (Repeatable)
基本的なアプリケーションマネジメントプロセスが確立され、繰り返し可能な手順があります。
しかし、そのプロセスは依然としてプロジェクトごとに異なり、標準化が進んでいません。 - レベル 3: 定義された状態 (Defined)
アプリケーションマネジメントプロセスが組織全体で定義され、標準化されています。
しかし、そのプロセスの実行が一貫しておらず、完全な実施には至っていません。 - レベル 4: 管理された状態 (Managed)
アプリケーションマネジメントプロセスが実行、監視され、測定されており、プロセスの効率化が図られています。
継続的な改善が必要ですが、プロセスの監視と測定は定着しています。 - レベル 5: 最適化された状態 (Optimized)
アプリケーションマネジメントプロセスが最適化され、継続的に改善されています。最新の技術やベストプラクティスが取り入れられています。
イノベーションと最適化が組織の文化として根付いています。
これらのレベルは、組織がアプリケーションをどの程度効果的に管理し、利用できるかを評価するための基準となります。
さて、アプリケーションマネジメント導入プロセスの概要は次のようになります。
- アプリケーションマネジメントモデルの設計
アプリケーションマネジメントの目的、体制、方法など本質となる型を設計します。
その際、あるべき(To-Be) アプリケーションアーキテクチャ、アプリケーションマネジメント組織、アプリケーションマネジメントプロセスを概念レベルで設計します。
アプリケーションマネジメントプロセスは、アプリケーションの品質、特に保守性や生産性を上げるために、次のソリューションを組み込みます。- マイクロサービス
- DevOps
- アジャイル開発
- ユースケース駆動開発
- ドメイン駆動設計
- アプリケーションマネジメント戦略の策定
アプリケーションマネジメントモデルを具体的にどう実現するのか戦略を策定します。
その際、アプリケーションマネジメントのビジョン、および、あるべき(To-Be) アプリケーションアーキテクチャ、アプリケーションマネジメント組織を論理レベル(製品レベル)で設計します。
あるべき(To-Be) アプリケーションアーキテクチャ(論理レベル)は、現行(As-Is)のアプリケーションアーキテクチャ(論理レベル)を分析した上で設計します。
その結果を踏まえて、アプリケーションマネジメントを実現すべくアプリケーションマネジメント組織の構築計画と、アプリケーション開発計画、および、アプリケーション運用・保守計画を策定します。 - アプリケーションマネジメントの構築
戦略フェーズで策定したアプリケーションマネジメント組織の構築計画に従ってアプリケーションマネジメント組織を構築します。 - アプリケーションマネジメント計画の実行
戦略フェーズで策定したアプリケーション開発計画、および、アプリケーション運用・保守計画を遂行します。
アプリケーション開発と保守は、DevOpsの開発部分になり、アプリケーションの運用は運用部分になります。
なお、DXの一環としてアプリケーションマネジメントを導入する場合は次のようになります。
DXの設計フェーズでアプリケーションネジメントモデルを設計し、戦略フェーズでアプリケーションマネジメント戦略を策定します。
そして、構築フェーズでアプリケーション基盤とアプリケーションマネジメント組織を構築し、運用フェーズで、それを運用してデータドリブン経営を実現します。