継続的インテグレーションはスクラムのフレームワークではありませんが、反復、漸進的にプロダクトを進化していくために不可欠なエンジニアリング手法です。
常に動くソフトウェアを維持するために、プログラムに変更が入る度にメインラインに結合します。小さな変更を追加する度に、トランクに結合し、動作不具合がないかチェックします。
そして、不具合が生じたらただちに修正します。
こうして常にヘルシーで動くソフトウェアを維持し続けます。
通常、継続的インテグレーションには自動テストを含んでおり、コードをチェックインする度に、自動でテストし、不具合の有無を判定します。
継続的インテグレーションの仕組みのおかげで、以下のことが可能になります。
- 常時結合し動作確認を行う事で、常に動くヘルシーなソフトウェアを維持できる
- ソフトウェアが壊れていないことが心理的な安心感を与え、エンジニアはインクリメンタルな開発に専念できる
- 同じコードを多くのエンジニア、チームが触ることを可能にする
- 共通のコードを通して、コミュニケーション・コラボレーションが促進される
継続的インテグレーションはベーシックスクラムでも必要な技術プラクティスですが、マルチチームスクラムで実装するには欠かせない仕組みです。