リリース管理とは?目的や手順を詳しく解説

 2022.11.11  株式会社システムインテグレータ

私たちが普段、ビジネスやプライベートで使用するソフトウェアは、サービスの品質を維持するため、必要に応じて改善と更新を繰り返しています。さまざまな媒体でソフトウェアのアップデートを経験される方も多いでしょう。このようなソフトウェアのアップデートを行う事を「リリース」といいます。

ソフトウェアをリリースするためには、リリースまでの工程を管理する「リリース管理」が必要不可欠です。この記事では、リリース管理の概要や目的、手順や評価基準を解説します。

リリース管理とは

リリース管理とは?目的や手順を詳しく解説 1

リリース管理とは、システムやソフトウェアの更新が安全かつ正確に行われるようにする管理のことです。リリースを行うと、改善を行った点とは別の箇所で問題が出たり、全体の不具合が起こったりする場合もあります。そのようなリスクを最小限にして、品質の高い製品を効率的かつ速やかに導入するために最適なプロセスを構築するのがリリース管理です。

リリース管理の目的

リリースを行うためには、システムやソフトウェアの開発だけでなく、計画や作業範囲の策定、役割分担、進捗管理、納期の管理など、多くの工程があります。それぞれの工程を別の部署で担当していると、上手く連携が取れず情報の共有が難しいことがあります。

こういったシーンにおいて、複雑な工程をすべてコントロールし、作業効率や速度、品質を向上させることこそがリリース管理の目的です。

変更管理との違い

リリース管理と似た言葉で「変更管理」というものがあります。どちらも、既存のシステムやソフトウェアに変更を加え、改善する際に使われる言葉です。

変更管理とは、稼働中のシステムやソフトウェアに関して変更をしようとする際に「その変更は本当に必要なのか」「変更したことにより問題は発生しないか」を検討し、計画や時期、変更のために稼働を止める期間など、その後のプロセスを構築するものです。

一方、リリース管理とは、変更をすることを前提に「どうしたら既存のシステムの品質を保ったまま変更を加えることができるか」「変更によるリスクを最小限に抑えるにはどうしたらよいか」という部分を検討しプロセスを構築していきます。

「DSL」と「DHS」

これまでに更新されたプログラムを全バージョン保管しておけば、更新後に何か問題が起きても、いつでも更新前の状態に復元できます。予期せぬ事態を想定して、変更したシステムやソフトウェアの保管は重要といえるでしょう。

プログラムの保管方法には、「DSL」と「DHS」の2種類があります。

・DSL

DSLとは「Definitive Software Library(確定版ソフトウェア保管庫)」という意味です。新規のソフトウェアが完成し実装された際に、確定版ソフトウェアとしてコピーが保管されます。また、そのソフトウェアに関連したライセンスなどの書類も一緒に保管されます。ただし、そのソフトウェアの開発途中やテスト環境などの関連のものは厳重に区別して別の場所に保管され、DSLに保管されることはありません。

保管形式は、物理的な場合もあれば、大規模なストレージにデータとして保管される場合もあります。

・DHS

DHSとは「Definitive Hardware Store(確定版ハードウェア保管庫)」という意味です。DSLのハードウェア版ともいえます。リリースし稼働しているものと同等の状態(構成アイテムなど)で保管され、いつでも使用できるように管理されます。

全く同じハードウェアを1台用意し、それを保管できる場所が必要であるため、DSLよりもコストがかかります。

このように、リスク管理の一環として行われるDSLとDHLの管理も、リリース管理の一部です。リリース管理では工程管理により効率や速度、品質の向上を目的としていますが、リリースを行う際にいかにリスクを最小限にとどめるかということも重大な課題になります。

DevOpsにおけるリリース管理の重要性

DevOpsとは、「development(ソフトウェア開発)」と「operations(技術運用)」を組み合わせた造語で、「デブオプス」と読みます。DevOpsとは、開発部門と運用部門が協同して開発からリリースまでをスピード感を持って行う仕組みです。

本来、開発部門は世の中の動きの先へ行くために素早く開発し素早くリリースしたいと考えています。一方運用部門は、リリース後のトラブルを避けるためにも時間をかけてテストを行い、慎重にリリースしたいと考えているのです。システム開発の現場では、この2つの部門の考え方の違いが原因で作業が滞り、リリースのタイミングを逃がしたり、社内で上手く連携が取れなかったりするなどの問題が起きることがありました。

DevOpsを取り入れることにより、開発部門は短いサイクルで質の良いソフトウェア開発が行えるようになり、一方の運用部門は必要なテストを効率的に行えるようになります。

なお、DevOpsが実現して開発からリリースまでをスムーズに迅速に行えるようになっても、リリース管理が必要なくなるわけではありません。リリース関連部署との調整やビジネスにおける優先事項の調整、プロセスの標準化、高品質な製品の確保などはリリース管理の重要な仕事です。

また、DevOpsの継続のため、DevOpsマネージャーと調整して適切な統合を行い、新しいリリース管理プロセスを構築していく必要があります。

なお、DevOpsの詳細についてはこちらの記事も併せてご覧ください。

DevOpsとは?目的や重要性、導入メリットを解説

リリース管理の手順

リリース管理とは?目的や手順を詳しく解説 2

続いて、実際にリリース管理を進めていく際の手順について見てみましょう。これは、一般的に「リリース管理プロセス」と呼ばれるものであり、大きく6段階の手順に分けられます。

・要求の確認と承認を行う

リリース管理プロセスの第一段階は、既存サービスやシステムに変更を加える要求(リクエスト)の確認作業です。要求内容の全てが必要とは限りません。中には、コスト面で実現が難しい場合もあるでしょう。「コスト」「顧客ニーズ」「実現できるかどうか」といった側面と照らし合わせつつ、要求の承認(または否認)を行い、第2段階に進みます。

・計画を立てる

要求内容が承認されたら、開発と展開、およびリリース後も視野に入れた計画立案を行います。計画立案に際しては、簡易的なチェックリストを作成するだけでも問題ありませんが、詳細な流れを記したワークフローを作成する方がより効果的です。

この段階で作成された計画は、後々の段階で何度も確認されることになるため、できる限り精密な内容にしておきましょう。また、別のリリースに際して再利用される可能性を視野に入れて計画立案を行うと、リリース管理の速度感が向上します。

計画立案を行うにあたって、「プロジェクトの全体像」「期限」「担当する人員やチーム」などについて、時系列に沿い、詳細かつ明確に設定する必要があることを覚えておきましょう。

・設計と構築を行う

計画立案が完了したら、開発段階に入ります。まずは計画に従い、人員・チームに作業を割り振り、開発(設計と構築)を進めましょう。第4段階として本格的なテストを行いますが、開発段階で初期テストを行ったり、問題があれば修正も行います。

・テストと修正を行う

開発が進んだら、本番と同じ環境下でテストを実行します。この際、開発チームだけでなく、エンドユーザーに体験してもらうことも重要です。テストの結果、修正が必要であれば開発チームに戻して改善作業を行いましょう。一般的には、テストと修正は品質向上のために繰り返し実行される段階となります。

・最終確認を行う

第5段階では、実際のリリースに向けた最終確認を行います。計画立案の際に作成された要件を満たしているか、バグは発生していないかなどを確認し、システムやソフトウェアの最適化を行いましょう。この際、外部からの視点を入れることでチーム内では気付けなかった問題が見つかる可能性もあるため、開発チームだけではなく、リリース管理に関係していない他の人員やチームにも確認してもらうことをおすすめします。

・展開する

最終確認の末、問題ないと判断されたらエンドユーザーに向けて実際に展開します。これが、リリース管理プロセスの最終段階です。

しかし、リリース管理自体は展開後も続きます。展開されたシステムやソフトウェアの分析を実行し、問題があれば必要に応じてサポートを行ったり、新たなリリース管理プロセスを実行したりする必要があるのです。

リリース管理の評価基準

リリース管理の「出来」を評価する際には、いくつかの基準が存在します。製品のリリースにあたって、システムやソフトウェアの品質という側面、顧客ニーズを満たしているかという側面が特に重要です。リリース管理が効果的に働いているかどうか、判断するには以下の点を踏まえて評価すると良いでしょう。

・設定された予算内で完結しているかどうか

高品質のサービスやソフトウェアを世に出すことは重要ですが、予算をオーバーしてまで完成させても、リターンが見込めない恐れがあります。計画段階で設定した予算は、展開後に得られる利益も踏まえて決められているはずですから、予算内でプロジェクトを完結させることが重要です。

・設定した期限内に完了できているかどうか

スケジュール通りにリリース管理が進まなかった場合、顧客やチームなどあらゆる利害関係者に損害を与える恐れがあります。計画段階で、スケジュールがタイト過ぎではないか、確実にチェックしておきましょう。

・新たな要求(リクエスト)を加えるにあたって、既存顧客に悪影響を及ぼしていないか

リリース管理を行う前からサービスやソフトウェアを利用していた既存顧客にとって、新たな要求内容が悪い影響を及ぼすものになっていないか、しっかりと確認しておきましょう。既存顧客にとっては、以前と変わらず(あるいは改善された状態で)利用できることが重要です。

・既存、および新規顧客の満足度は高いか

なぜリリース管理を行うのかという前提に戻ると、改善や更新が必要なシステムやソフトウェアをより良い状態にした上で展開する必要があるから、ということになります。既存、新規を問わず、エンドユーザーにとって、満足度が高い製品・サービスであることは最も重要な要素です。

概ね、この4点について納得のいく結果が出ていれば、リリース管理は成功したと捉えて問題ないでしょう。

まとめ

リリース管理は、高品質の製品・サービスを効率的かつ速度感を持って展開するためには必須のプロセスとなります。本記事を読み、システム開発におけるリリース管理が重要な位置にあることはご理解いただけたでしょうか。

システム開発を進めるにあたって、リリース管理を実行するのと同様に、プロジェクト全体の管理を行うことも大切です。また、リリース管理がしっかりと機能しているかどうかを評価することで、より良いシステム・ソフトウェア開発が行えます。

プロジェクト管理について詳しくまとめた資料もご用意していますので、こちらもぜひご活用ください。


RELATED POST関連記事


RECENT POST「プロジェクト管理」の最新記事


プロジェクト管理

システム開発におけるリスク管理の方法とは?対策法を知って適切なリスクヘッジを

プロジェクト管理

プロジェクト管理の代表的な管理手法をご紹介!特徴や活用方法を徹底解説

プロジェクト管理

構成管理とは?目的や管理方法、実施しない場合のリスクも解説

プロジェクト管理

プロジェクト管理の目的とは?管理の基本を解説

リリース管理とは?目的や手順を詳しく解説

OBPM Neo TOPへ

ブログ購読のお申込み

人気資料ランキング