スクラムにおける継続的インテグレーションと継続的デリバリー、継続的デプロイメント

一般的に使用される用語——「継続的インテグレーション」、「継続的デリバリー」、および「継続的デプロイメント」——は、アジャイルソフトウェア開発これらの実践は「継続的」という接頭語を共有しており、段階的な統合(納品可能なソフトウェア)と結果の同時デプロイメントを示し、従来の順次開発で通常見られる遅延を回避できる。現代のアジャイル環境では、これらの用語はパイプラインを通じた完了したインクリメンタルな成果物の提供を意味し、アップグレードとして自動デプロイメントを可能にする。
継続的デリバリーの核心原則は、短い反復周期で動作するソフトウェアを段階的に提供することである。言い換えれば、継続的デリバリーとは、コードを頻繁に開発し、ビルドし、チェックインし、自動テストを行い、デプロイする短サイクルの実装である。
Continuous Delivery
継続的デリバリー
注記:
短いリリースサイクルを必要としない——必要なのは、コードのコミットを準備ができ次第いつでも許可できる能力だけである。これにより、開発者は1日数回製品を更新でき、ユーザーに継続的に価値を提供できる。これは高水準のテストとデプロイメントの自動化によって実現される。

スクラムにおける継続的デリバリー

においてスクラム、固定期間のスプリント(1〜4週間)が推奨され、テスト、デモンストレーション、スプリントレビュー、最終承認、リリースで終了する。今、私たちはさらに頻繁にリリースしたい——継続的デリバリーである。
継続的インテグレーションとは、開発者が1日数回、コードを中央リポジトリに統合する必要があるソフトウェア開発の実践を指す。並行的かつ自動的な更新に加えて、異なるチェックイン時間の確認により、問題を簡単に検出できる。
継続的デリバリーは、すべての種類の変更(新機能、構成変更、バグ修正、実験など)を、持続可能な方法で生産環境またはエンドユーザーに安全かつ迅速に配信できる。
継続的デプロイメントは、コーディングとデプロイメントの時間間隔を最小限に抑えることで、継続的インテグレーションのアプローチをさらに拡張する。
Continuous Delivery in Scrum
スクラムにおける継続的デリバリー

継続的デリバリーの利点

人々は、ソフトウェアを頻繁にリリースすることは、システムの安定性や信頼性を低下させることを意味すると考えがちである。しかし、多くの研究では、これは事実ではないことが示されている。実際、1つの機能ずつリリースすることで、各デプロイメントのリスクを大幅に低減できる。チームは顧客に機能をより迅速に提供でき、迅速なフィードバックを得られる。継続的デリバリーのパイプラインは、チーム、ビジネス、ユーザーに多数の利点をもたらす:
  • 市場投入までの時間の短縮
  • コストの削減
  • 迅速なフィードバック
  • 満足度の高い顧客
  • リスクの低いリリース
2014年の調査によるとXebia Labs調査レポート、継続的デリバリーが先頭を走り、アジャイルがそれに続く形でした。2014年に、回答者の36.4%がDevOpsを重要な取り組みとして挙げており、以下のチャートに示されています:
Software Project Initiative Application (2014)
ソフトウェアプロジェクトイニシアチブ応募書類(2014年)

概要

これほど良い話は信じがたいと感じたなら、思い出してください:継続的デリバリーは魔法ではありません。ソフトウェアのリリースには多くの規律が必要です。スクラムにおける継続的デリバリーは、より頻繁に小さな変更をリリースすることで、日々の継続的な改善を実現し、全員が定期的で予測可能なペースに慣れ、変化に応じる余地を残すことができます。最も重要なのは、成功したリリースが共有の成功となること——全員が一緒に祝えるものになるということです。

コメントを残す