海と山が好き

海と山が好きだけど埼玉に住むおっさんが遭遇したアジャイルとかのはなし

スプリントに割り込ませるとき

いつスプリントで実施する PBI を変更するのか

 

そもそもスプリント期間中は追加でやることを増やさない。とされている。気がする。なんとなく。

 

スプリント計画でやる PBI を決め、スプリント期間中はその達成に集中する、ってどこかで聞いた気がする。

 

だから、スプリント中に実施する PBI は変えない、というのが答えな気がする。

 

 

----

 

そもそもスプリントの目的ってなんだっけ?

 

スクラムガイドに書いてある通り、スプリントゴール がそのスプリントの目的になる。

 

スプリントで着手する PBI は、スプリントゴールを達成するために必要となるものを実施することになる。

 

逆に言えば、スプリントゴールに関係ない PBI は、そこまで頑張らなくてもいいかもしれない(本当か?)

 

(むしろゴールに集中できなくなるし入れない方がマシかもしれない。YAGNIYAGNI。)

 

スプリントゴールに向かって進む中で、スプリントゴールを達成するために、今やっている PBI だけじゃ足りない、とか、この PBI なくてもスプリントゴールは達成できるな、と分かったときは、どうしたら良いだろうか。

 

そんなときに、スプリントで予定していた PBI を追加したり、やめたりすればいい。

 

f:id:Bashiko:20210604015232p:image

 

----

 

本当にそうだろうか?例えば PBI でいえば。

 

PBI にも達成する内容が決まっていて、Done の定義がそれに該当する。

 

PBI を完成させるために何をすればいいか、作業内容を計画時点で洗い出す。

 

ところである PBI に着手したときに、予定外の作業をやらないと、Done にならないことがわかった。

 

そんなときにどうするか、となると、当たり前だが、計画外の作業をやらずに完成させない、、、のではなく、計画外の作業を実施して完成させることになる。当たり前すぎる。

 

PBI を完成させるのに作業が不足しているなら、追加してやればいい。

 

スプリントゴールについても同じで、スプリントゴールを達成すのに PBI が不足しているなら、追加してやればいい。

 

プロダクトゴールについても同じで、プロダクトゴールを達成するのにスプリントゴールが不足しているなら、追加してやればいい。

 

無駄ならやるつもりだったとしてもやめればいい。作業も PBI も一緒。

 

----

 

いつ PBI を追加するとか、やめるとか考えるといいのか?

 

要は、いつスプリントゴールに向かっているかを確認すればいいのか。

 

結局のところ、Daily Scrum がそれに当たることになる。

 

Daily Scrum でなにを話すと良いのか。要は進捗。

 

何に対する進捗を見ればいいのか?となると、お察しの通り、スプリントゴールに対する進捗であって、スプリント計画でやると決めたスコープが終わっているかどうかではない。

 

日々完成させた PBI を通じて、スプリントゴールを達成できるかを検査する。

 

となると、スプリントバーンダウンチャートなんて見てても、進捗なんて追えないってことがわかってくる。

 

バーンダウンチャートで進捗が追えると思っているということは、スプリントゴールが見えていないことの裏返しになる。

 

「計画したことが終わるかどうかが進捗であり、その過程での変化を拒絶する」

 

これって計画駆動の忌避したかったウォーターフォール脳じゃないの?

 

----

 

そもそもスプリントゴールは何で記載すべきか?

 

スプリントゴールは、スプリントで予定していた PBI の総量という訳ではないはず。

 

プロダクトゴールに進む上で、どういうステップで進んでいくかという作戦目標がスプリントゴールになる。

 

ゴールなので、「〜〜をやる」という表現ではなく、検査可能な “状態“ で記載されることが望ましくなる。

 

----

 

というわけで、

 

ゴールに向かって進むのであって、与えられた PBI をチームで仲良くやっていればいい訳じゃないよね、っていう話。(終わり)