アプリケーション・ライフサイクル・マネジメント

アプリケーション・ライフサイクル・マネジメント (英: Application lifecycle management、ALM)は、コンピュータープログラムの開発・保守における製品ライフサイクル管理のこと。各アプリケーションのライフサイクルにわたって継続的にプロセス管理をする考え方である。

ALMは、業務管理とソフトウェア開発の融合により、要件管理、要件分析、構成管理、ソフトウェア情報管理、アーキテクチャ、モデリング、設計、プログラミング、ビルド管理、テスト、保守、課題管理、変更管理、継続的インテグレーション、プロジェクト管理、リリース管理を、統合開発環境 (IDE) などのツールを使用してそれらの促進と統一化を実現することである 。

ソフトウェア開発ライフサイクルとの違い 
ALMは、ソフトウェア開発ライフサイクル（SDLC）よりも広い概念である。SDLCがソフトウェアの開発フェーズ（要求分析、設計、コーディング、テスト、コンフィギュレーション、プロジェクト管理、変更管理など）に限定したものであるのに対し、ALMは開発フェーズの後も、アプリケーションの利用が停止されるまで続くものである。

効果 

アプリケーション・ライフサイクル・マネージメントの提唱者たちにより、これらのことが言われている。

 開発のベストプラクティスを開発のチーム間で共有することで作業効率が上がり、その時の業務用件に開発者が集中することができる
 品質が向上し、最終的にユーザーの期待に合致するアプリケーション開発ができる
 コラボレーションの壁が無くなりスムーズに情報が流れる
 シンプルなシステム開発を推進する
 アプリケーションと設計の同期をすることで維持管理の時間を削減する
 スキルとプロセス、技術の向上のための投資を最大化できる
 状況に合わせるための時間を削減し、変化するビジネス戦略に合致するための柔軟性が向上する

統合ALM 
最新のソフトウェア開発プロセスは、さまざまな場所から複数のツールを使用してさまざまなチームが管理する個別のALM/SDLCステップに制限されない。高品質のソフトウェアを短時間で開発するためには、リアルタイムコラボレーション、一元化されたデータリポジトリへのアクセス、ツール間およびプロジェクト間の可視性、プロジェクトの監視とレポートの改善が必須である。

これにより、すべてのツールとツールのユーザーがアプリケーション開発段階全体で相互に同期される、統合アプリケーションライフサイクル管理または統合ALMの実践が生まれた。この統合により、すべてのチームメンバーは、開発プロセス中に行われた変更の誰が、何を、いつ、なぜ行うかを確実に把握できるため、納期の遅れやプロジェクトの失敗につながる最終段階でのサプライズの防止に役立つ。

今日のアプリケーション管理ベンダーは、サードパーティの最善のツール統合のためのAPI管理機能に重点を置いている。これにより、組織は、プロジェクトに必要なITまたはALMツールと簡単に統合できる内部ソフトウェア開発システムを備えることが可能となる。

調査会社ガートナーの調査ディレクターは、ALMという用語をADLM（Application Development Life-cycle Management）に変更して、ソフトウェア開発（Dev）とソフトウェア操作（Ops）の統合を目的としたソフトウェアエンジニアリングの文化と実践であるDevOpsをALMに含めることを提案した。

ALMソフトウェアスイート 
ALMに特化した以下のようなソフトウェアスイートが存在する。

批判 

アプリケーション・ライフサイクル・マネージメントの反論者たちにより、これらのことが言われている。

 アプリケーションのライフサイクルコスト（開発から運用使用停止までのトータルな費用）が大きくなる
 開発ベンダロックイン（他の開発企業への乗り換えが難しくなること）が高まる

関連項目 

 ソフトウェアプロジェクト管理
 システム開発ライフサイクル
 バグ管理システム

脚注

参考文献

外部リンク 

 Chappell, David, What is Application Lifecycle Management? (PDF), archived from the original (PDF) on December 7, 2014
 Gartner Analyst Sean Kenefick, Market Profile: Application Life Cycle Management (ALM) Tools, 2012
 Margaret Rouse, application lifecycle management (ALM)
 Dave West, Integrated ALM Tools Are Fundamental to Success
 Dominic Tavassoli, Integrating application lifecycle management (ALM) processes provides additional benefits
 Zane Galviņa1, Darja Šmite, Software Development Processes in Globally Distributed Environment

ソフトウェアプロジェクト管理