ブログ

ryuzeeによるブログ記事。不定期更新

直近開催のScrum Alliance認定スクラムマスター研修のご案内

継続的デリバリーとは何か?

みなさんこんにちは。@ryuzeeです。

継続的デリバリー(Continuous Delivery)の定義を改めて整理してみました。

まず1つめの定義は以下の通りです。

Continuous DeliveryとはリリースのスケジュールをIT部門が握るのではなく、ビジネス部門が握るということだ。 Continuous Deliveryを実装するということは、全体のライフサイクルを通じて常にソフトウェアが本番環境にリリース可能であるということを意味する。すなわちどのビルドもボタン一発で、完全に自動化されたリリースプロセスを通じて、秒とか分の時間で利用者にリリース可能である、ということだ。

Jez Humble

もう1つみてみましょう。 これもJez Humble氏が、Continuous Delivery: The Value Propositionで語っている内容です。 以下で該当部分を抜粋・意訳にて紹介しましょう。

Continuous Deliveryとは何か?

ユーザーとプロジェクトチーム(顧客やプロダクトオーナーも含む)の間に固いフィードバックループを作ることは、結局のところ、試験的な変更や新しいアイデアを実装した新しいバージョンのプロダクトを継続的に届けること、そして、それらの変更の収入面での影響を測定できるかどうかにかかっている。

数ヶ月に一度新しいバージョンのソフトウェアをリリースすることに慣れている多くの企業では、この一日に何度も変更をリリースするという考え方は不可能だと思うだろう。しかし、Thoughtworksでは、Continuous Deliveryの本に書いた原則とプラクティスを使って、年に数回しかリリースできなかった組織を月に数回もしくはもっと頻繁にリリースできるようにしている。 これは巨大な競争面での優位性を表していて、あなたの組織のムダな時間や努力の大幅な削減につながることを意味している。

Continuous deliveryはそれゆえ2つの重要なビジネス上の利点を持っている。

一つ目は、ビジネスプランがどのくらい良いものなのかをより素早く評価することができ、現実の利用者のフィードバックを受けて修正を行うことが可能になるということだ。特に、ビジネスプランに根本的な欠陥があった場合には、何ヶ月や何年もたって大量のお金をプロジェクトにつぎ込んだあとではなく、できる限り早くそれを知りたいと思うだろう。

二つ目は、長いプロジェクトの最後に行う伝統的な「ビックバン」リリースと比較して、絶対的にリスクが少ないデリバリーのプロセスを提供してくれることだ。これが意味するところは、コストの予測可能性が上がるということだ。

さらにはIT面でも2つの強力な利点がある。

一つ目は、「ユーザーに価値を届けている本番環境で動作しているソフトウェア」という単純だが有用な完成の定義に基づいて、プロジェクトの進捗に関する本当のフィードバックを得ることが可能になることを意味している。

二つ目は、小さい増分を日常的にリリースすることによって、個々のリリースのリスクを減らすことができるということだ。

次は、Youtubeに上がっている動画をみてみましょう。 話されているのは、ThoughtWorks社のTrevor Mather氏とCyndi Mitchell氏です。 5分ほどの短い動画だが、Continuous Deliveryが何なのか分かるはずです。

このビデオの中にあるContinuous Deliveryの定義に関する一枚絵が分かりやすいので、以下に図を書き起こしました。

端的に言えば、Continuous Deliveryは、Iterative Development(繰り返し型の開発)、Continuous Integration(継続的インテグレーション)、Continuous Delivery(継続的デプロイ)を積み重ねていくことで、価値を創出していく全体の流れである、と言えます。

まとめると以下のようになります。

  • Continuous Deliveryは、Iterative Development(繰り返し型の開発)、Continuous Integration(継続的インテグレーション)、Continuous Delivery(継続的デプロイ)を積み重ねていくことで、価値を創出していく全体の流れである
  • ソフトウェアは常に本番環境にリリース可能とし、簡単な操作でリリースできる
  • 素早くリリースすることで、継続的なフィードバックを得られる仕組みを作る
  • 継続的なフィードバックはビジネス価値の向上とムダの削減に役にたち、競争優位性を築き上げる

なお、Continuous Deliveryの8つの原則と4つのプラクティスについてはこちらに書きました。

それでは。

アジャイル開発チーム向けのコーチングや、技術顧問、Scrum Alliance認定スクラムマスター研修などのトレーニングを提供しています。お気軽にご相談ください(初回相談無料)
前の記事 バグ修正のスケジュールをどのようにたてるべきか
次の記事 ユーザーストーリーをうまく使えていない5つの兆候

プロダクト開発で、こんな課題を感じていませんか?

  • 何を作るべきか、順位の決め方が定まらない
  • プロダクトの方向性をチームで共有できていない
  • 開発組織の体制や役割がうまく機能していない
  • 開発プロセスが形骸化し、目的を見失っている
  • アジャイルを導入したが、組織に定着しない

プロダクトマネジメント、組織構造、開発プロセスの課題について、組織全体の視点から支援します。

お問い合わせ(初回相談無料)

契約を前提にした相談でなくて構いません。相談に際して事前の整理や準備は不要です。

Aligned ―プロダクト開発におけるステークホルダーとの関係性の築き方
ダイナミックリチーミング 第2版
Tidy First?
脳に収まるコードの書き方
プロダクトマネージャーのしごと 第2版
エンジニアリングマネージャーのしごと
チームトポロジー
スクラム実践者が知るべき97のこと
プロダクトマネジメント
SCRUM BOOT CAMP THE BOOK
みんなでアジャイル
レガシーコードからの脱却
Effective DevOps
変革の軌跡
ジョイ・インク
アジャイルコーチの道具箱
カンバン仕事術
Software in 30 Days
How to Change the World