DevOps戦略:組織的リリース管理の戦略 – DDevOps#8

今回のテーマはリリース管理戦略をまとめ上げるにあたっての2つの課題について取り上げる。その2つとは、リリース管理のスコープをどうやって決めるかとチーム編成だ。

リリース管理作業のスコープを考慮する際に、2つの基本的な課題がある。

  1. パラダイムのサポート  あなたの組織のリリース管理プロセスがフォーカスをあてているのは単一のパラダイムのチーム・・・例えばアジャイル/リーンチーム・・・だけだろうか?あるいはもっと広範囲な・・・アジャイル/リーンチーム、従来型の手法を採用するチーム、反復型を採用するチーム、そしてアドホックでプロセスに則らないチームまで・・・サポートを検討しているだろうか?リリース管理については現在著述している人々の多くが単一のパラダイムにフォーカスをあてる傾向がある(そのように明確に記してはいないが)。しかし、実際には複数のパラダイムが必要とされているのが、エンタープライズの現実だ。
  2. ドメインのサポート  あなたのリリース管理プロセスは、ITに関連する課題だけにフォーカスをあてているだろうか?それともビジネスに関わるリリースの課題すべてを扱おうとしているのだろうか?ITに関連する課題には、新しいソフトウェアとハードウェアを運用環境にデプロイすることが含まれる。ビジネス面でのリリースの問題には、2,3例を挙げると、マーケティング·キャンペーンや販売組織へのトレーニング、エンドユーザーのための外部支援の枠組みの構築等がある。これは、エンドユーザに向けて構築されたコマーシャルなソリューションであれば、とりわけ重要な要素だ。

これら2つの課題から、リリース管理として扱われる可能性のある範囲を表現する次のグラフが導かれる。

Scope

ディシプリンドDevOpsの観点からは、我々はエンタープライズ全体を対象とする戦略を当然ながら推奨する。対象範囲についてどのような選択をしようが、リリース管理戦略は、デリバリチームがスケーリングすることに対応・支援できる必要がある。検討すべき要因には次のようなものがある:様々なサイズのチーム、地理的分布の度合い、様々なレベルのドメインや技術的な複雑さ、法令遵守が求められる状況下での異なる組織によって構成・分散されているチーム。

リリース管理チームを編成するために考慮すべき戦略には次の3つがある:

  1. 運用部門主導   多くの小〜中規模の組織におけるリリース管理は、運用チームによる多くの活動のうちのひとつとなっている。この”リリースチーム”・・・個人の場合もあるが・・・のアプローチでは、プロジェクト単位でのソリューションのリリースに組み入れられる。開発チームから運用チームへの引き渡しは何回か起こりうるが、運用チームは、開発チームから数名のメンバーがデプロイメント作業に積極的に関与するよう要求するかもしれない。
    運用部門がリリースを管理することの利点は、彼らが現在の運用環境に習熟しており、他のリリースが(もしあれば)並行して行われることを知っている点だ。それにより彼らは全体の状況を把握している。
    主な欠点は、新しいリリースの複雑さについて知らないだろうということであり、それゆえ開発チームメンバーの参画が必要なのだ。
  2. 別々のリリースチーム  より大規模な組織では、リリース管理チームを明確に設けている姿がしばしば見られる。運用部門のサブグループとして設けられることも珍しくない。別チームとする利点は、リリース管理の専門知識をより深めることが出来、本番運用環境に精通し、統合されたやり方でリリースを管理することができるという点だ。欠点は、リリースされるソリューションについては詳しくはなく、リリースプロセス全体でみると、瀬在的にオーバーヘッドをもたらす恐れがあることだ。
  3. デリバリーチームが主導  このアプローチは、開発チームとは別の運用チームを持っていない、非常に小さな組織では一般的であり、そのような組織のデリバリー·チームは、継続的デプロイのプラクティスを実現し、DevOpsに対して非常に統制の取れたアプローチを採用している。デリバリーチームによるアプローチの利点は、チームが、ソリューションがどのようにビルドされるかを知っていることであり、運用へのデプロイ作業を必要に応じて柔軟に行うことができることだ。欠点は、複数のチームの持つ環境でデプロイが衝突するリスクがあることと、異なるシステム間の運用環境への統合問題のリスクがあることだ。幸いなことに、これらの欠点は、開発チーム主導のDevOpsプラクティスと次回以降取り上げるリリース管理プラクティスとの組み合わせで対処することができるだろう。

 

 

オリジナル:Strategies for Organizing Release Management

http://www.disciplinedagiledelivery.com/devops-release-management-teams/

(翻訳 藤井智弘)

Pocket