本記事は、Professional Scrum Trainer (PST) のRalph Jochamさんによる「What is the Increment?」の翻訳です。翻訳・公開は、Ralphさんの許諾を得ています。誤字脱字・誤訳などありましたらぜひご指摘ください。
はじめに
スクラムでは、プロダクトオーナーとプロダクトゴール、プロダクトバックログがあります。それなのになぜ、プロダクトではなく、インクリメントがあるのでしょうか。
この答えは、歴史的で、本質的なものなのです。
スクラムは、ソフトウェアプロダクト開発のための反復的かつ漸進的なアプローチとしてスタートしました。
スクラムは、一般的に用いられる反復的/漸進的なオブジェクト指向の開発サイクルを強化したものである。
OOPSLA 1995 Scrum Paper
すべてのスプリントで(省略)、リリース判断可能な最終プロダクトのインクリメント[単数形]を納品する。
[単数形]は、訳者による補足
スクラムガイド(2009年5月)
インクリメントが検証と妥当性の確認に必要なすべての側面を満たす場合、インクリメントはプロダクトの一部となるかもしれません。そのため、プロダクトとインクリメントを区別するのは重要です。
個人的には、「インクリメント」という用語の最大の問題点は、すべてのスクラムガイドにおいて単数形( one)でも複数形(many)でも用いられていることになると考えています。
インクリメント[単数形]は、プロダクトゴールに向けた具体的な踏み⽯である。インクリメント[単数形]はこれまでのすべてのインクリメント[複数形]に追加する。また、すべてのインクリメント[複数形]が連携して機能することを保証するために、徹底的に検証する必要がある。価値を提供するには、インクリメント[単数形]を利⽤可能にしなければならない。
スプリントでは、複数のインクリメント[複数形]を作成可能である。インクリメント[複数形]をまとめたものをスプリントレビューで提⽰する。それによって、経験主義がサポートされる。ただし、スプリント終了前にインクリメント[単数形]をステークホルダーにデリバリーする可能性もある。
[単数形]、[複数形]は、訳者による補足
スクラムガイド(2020年11月)
簡単な比喩表現を用いて、この混乱を解きほぐしていきましょう。
シャボン玉
子供の誕生日会やサーカスで、シャボン玉を使ったショーを見たことがあるでしょう。シャボン玉のイメージを思い浮かべてください。
顧客によって既に使われているプロダクト(プロダクトについては後述します)は、図1のような大きなシャボン玉です。スプリントプランニングでは、スクラムチームが価値のあるスプリントゴールを定義します、例えば、8つのプロダクトバックログアイテムからなるスプリントバックログを作成します。
プロダクトバックログアイテムが完成の定義を満たしたときにインクリメント[単数形]が誕⽣する。
[単数形]は、訳者による補足
スクラムガイド(2020年11月)
図2のように、スプリントにおいて、既存のインクリメントの隣で、より小さなインクリメントが多数作成されます。
完成とは、すべての受け入れ基準を満たしており(こちらの記事を参照のこと)、既存のインクリメントと共に機能していることを暗に示しています。以前の機能はどれも壊れていないはずです。さらに、「完成の定義」を通じて、まだ対処する必要があるアイテムが他にもあるかもしれません。規制や、ガバナンスを考えてみましょう。
インクリメント[単数形]は、プロダクトゴールに向けた具体的な踏み⽯である。インクリメント[単数形]はこれまでのすべてのインクリメント[複数形]に追加する。また、すべてのインクリメント[複数形]が連携して機能することを保証するために、徹底的に検証する必要がある。
[単数形]は、訳者による補足
スクラムガイド(2020年11月)
図3は、作成されたばかりのインクリメントが、既存のインクリメントと検証され、妥当性が確認される様子を示しています。
新しい小さなインクリメントのテストの一つが、「完成の定義」のいずれかのポイントを満たしていなかったら、それは(既存の)インクリメントに統合されません。
「(既存の)」は訳者による注釈
プロダクトバックログアイテムが完成の定義を満たしていない場合、リリースすることはできない。ましてやスプリントレビューで提⽰することもできない。そうした場合、あとで検討できるようにプロダクトバックログに戻しておく。
スクラムガイド(2020年11月)
「完成の定義」を満たすと、新しいインクリメントは既存のインクリメントに吸収され、図4のようにインクリメントが成長します。
なぜ、「反復的かつ漸進的なプロダクト開発」と呼ばれるのか、お分かりいただけたでしょう。
インクリメントがユーザーの手に渡った瞬間に、それはプロダクトとなります。
インクリメント(単数形または複数形)は、内部的なものですが、プロダクトは、ユーザーの手に渡るので外部的なものです。
本記事の翻訳者:
長沢 智治 - アジャイルストラテジスト
サーバントワークス株式会社 代表取締役。Helpfeel Inc. アドバイザリーボード。DASA アンバサダー/認定トレーナー。
『More Effective Agile』、『Adaptive Code』、『今すぐ実践!カンバンによるアジャイルプロジェクトマネジメント』、『アジャイルソフトウェアエンジアリング』など監訳書多数。『Keynoteで魅せる「伝わる」プレゼンテーションテクニック』著者。
Regional Scrum Gathering Tokyo 2017, DevOpsDays Tokyo 2017, Developers Summit 2013 summer 基調講演。スクー講師。