Agile Mind for XP《26》継続的インテグレーション(Continuous Integration)
|記事一覧|
Smalltalk use: better "Agile Mind for XP"
継続的インテグレーション (Continuous Integration)
■ 概要
この連載では、XP によるオブジェクト指向プログラミングへの扉を開きます。
継続的インテグレーション(Continuous Integration)
コードを作成した後で、可能ならインテグレーションを実施します。インテグレーション待ちのタスクが規定数に達したら、それを消化するために「最優先の」タスクを設定して、特命ペアを任命します。理想は、ペアが「自主的に」未消化のタスクを選択することです。
インテグレーションの頻度に黄金則はありません。決めるのは顧客です。それを示すメタファーが「ニュース速報」です。顧客が知りたいニュース(最新リリース)を毎朝配達して欲しいのか、夕刊も欲しいのか、速報で欲しいのか、週刊誌/月刊誌で得られる後追い記事でもよいのか。理想は、タスクが完了(テストケースを検証)してすぐに、インテグレーション/リリースを繰り返すことです。
また、継続的インテグレーションには、定期的な健康診断(人間ドッグ)と同じ効用があります。早期発見は治療(デバッグ/コスト削減)を容易にするだけでなく、早期治癒(顧客に価値を提供)にもつながります。
《余録》顧客はいつでも(必要なら未完のタスクを含む)最新リリースを入手できます。スタブテストは必要ありません。未完成のタスクを起動すると「作業を中断する/デバッグを行う/エラーを無視して作業を継続する」という選択肢が与えられます。そのため、未完のタスクがあっても、顧客が望む最小価値の恩恵に浴することができます。□