いつスプリントで実施する PBI を変更するのか
そもそもスプリント期間中は追加でやることを増やさない。とされている。気がする。なんとなく。
スプリント計画でやる PBI を決め、スプリント期間中はその達成に集中する、ってどこかで聞いた気がする。
だから、スプリント中に実施する PBI は変えない、というのが答えな気がする。
----
そもそもスプリントの目的ってなんだっけ?
スクラムガイドに書いてある通り、スプリントゴール がそのスプリントの目的になる。
スプリントで着手する PBI は、スプリントゴールを達成するために必要となるものを実施することになる。
逆に言えば、スプリントゴールに関係ない PBI は、そこまで頑張らなくてもいいかもしれない(本当か?)
(むしろゴールに集中できなくなるし入れない方がマシかもしれない。YAGNI だ YAGNI。)
スプリントゴールに向かって進む中で、スプリントゴールを達成するために、今やっている PBI だけじゃ足りない、とか、この PBI なくてもスプリントゴールは達成できるな、と分かったときは、どうしたら良いだろうか。
そんなときに、スプリントで予定していた PBI を追加したり、やめたりすればいい。
----
本当にそうだろうか?例えば PBI でいえば。
PBI にも達成する内容が決まっていて、Done の定義がそれに該当する。
PBI を完成させるために何をすればいいか、作業内容を計画時点で洗い出す。
ところである PBI に着手したときに、予定外の作業をやらないと、Done にならないことがわかった。
そんなときにどうするか、となると、当たり前だが、計画外の作業をやらずに完成させない、、、のではなく、計画外の作業を実施して完成させることになる。当たり前すぎる。
PBI を完成させるのに作業が不足しているなら、追加してやればいい。
スプリントゴールについても同じで、スプリントゴールを達成すのに PBI が不足しているなら、追加してやればいい。
プロダクトゴールについても同じで、プロダクトゴールを達成するのにスプリントゴールが不足しているなら、追加してやればいい。
無駄ならやるつもりだったとしてもやめればいい。作業も PBI も一緒。
----
いつ PBI を追加するとか、やめるとか考えるといいのか?
要は、いつスプリントゴールに向かっているかを確認すればいいのか。
結局のところ、Daily Scrum がそれに当たることになる。
Daily Scrum でなにを話すと良いのか。要は進捗。
何に対する進捗を見ればいいのか?となると、お察しの通り、スプリントゴールに対する進捗であって、スプリント計画でやると決めたスコープが終わっているかどうかではない。
日々完成させた PBI を通じて、スプリントゴールを達成できるかを検査する。
となると、スプリントバーンダウンチャートなんて見てても、進捗なんて追えないってことがわかってくる。
バーンダウンチャートで進捗が追えると思っているということは、スプリントゴールが見えていないことの裏返しになる。
「計画したことが終わるかどうかが進捗であり、その過程での変化を拒絶する」
これって計画駆動の忌避したかったウォーターフォール脳じゃないの?
----
そもそもスプリントゴールは何で記載すべきか?
スプリントゴールは、スプリントで予定していた PBI の総量という訳ではないはず。
プロダクトゴールに進む上で、どういうステップで進んでいくかという作戦目標がスプリントゴールになる。
ゴールなので、「〜〜をやる」という表現ではなく、検査可能な “状態“ で記載されることが望ましくなる。
----
というわけで、
ゴールに向かって進むのであって、与えられた PBI をチームで仲良くやっていればいい訳じゃないよね、っていう話。(終わり)