リリース管理 (英: release management)は、さまざまな段階と環境を通じてソフトウェアビルドを管理、計画、スケジュール、制御を行うプロセスのこと。ソフトウェアリリースのテストと展開も含む[1]。
リリース管理は比較的新しいが、ソフトウェアエンジニアリング内で急速に成長している分野である。ソフトウェアシステム、ソフトウェア開発プロセス、およびリソースがより分散されるにつれて、それらは常により専門的で複雑になる。さらに、ソフトウェア製品(特にWebアプリケーション)は通常、開発、テスト、リリースの継続的なサイクルにあり、複雑さが増す進化するプラットフォームで実行されることがよくある。このようなシステムには、開発、テスト、展開、およびサポートの統合とフローを監視するための専用のリソースが必要である。
アジャイルソフトウェア開発を採用している組織では、リリースの頻度がはるかに高い傾向がある[要出典] 。アジャイル開発の人気が高まるにつれ、継続的デリバリーと呼ばれるソフトウェアリリースへの新しいアプローチが、ソフトウェアリリース方法に影響を及ぼしている[2]。継続的デリバリーとDevOpsの1つの目標は、より信頼性の高いアプリケーションをより速く、より頻繁にリリースすることである。継続的デリバリーパイプラインの一部として、アプリケーションの「ビルド」から「リリース」としての本番環境への移行が含まれている[3]。 リリースマネージャーは、アプリケーションリリース自動化や継続的インテグレーションツールなどのツールを利用して、継続的デリバリーのプロセスを前進させ、タスクを自動化することでDevOpsの文化を取り入れて、タスクをより迅速、確実に、繰り返し実行できるようにしている。より多くのソフトウェアリリースにより、これらの複雑なアプリケーションリリースプロセスを実行するためのリリース管理および自動化ツールへの依存度が高まっている。
リリース管理は、単一のプロジェクトまたは関連プロジェクトの開発からテストおよびリリースへの移行を取り扱うが、エンタープライズリリース管理(ERM)は、大規模な組織内の個々のリリースの調整に焦点を当てている。複数のアプリケーション開発グループを持つ組織では、大規模なシステムを実装するために、数か月または数年にわたる高度に調整された一連のリリースが必要になる場合がある。 ERMには、 ITポートフォリオのコンテキストでリリースを同期するための複数のリリースマネージャーの協調的な取り組みが必要となる。
ITサービス管理パラダイム、特にITILフレームワークを使用してIT運用を管理する組織では、リリース管理はITILの概念と原則に基づいて行われる。リリース管理に関連するいくつかの正式なITILプロセスがある。主に、「テスト環境およびライブ環境へのリリースの移動を計画、スケジュール、および制御することを目的としたリリースおよび展開管理プロセス[4]」、 および変更管理プロセスである[5] 。 ITIL組織では、リリースの頻度はアジャイル開発環境と比べて低い傾向にある。リリースプロセスは、ITサービス管理チケットシステムを使用してIT運用チームによって管理され、リリースプロセスの自動化にはあまり重点が置かれていない[6]。