まだバックログ全部消化するスプリントで消耗してるの? 〜スプリントの唯一の目的、スプリントゴールについて〜
こんにちは、最近はめっきりエンジニアリングではなくアジャイルコーチングで飯を食ってるバシです。
最近、支援しているチームで「スプリントゴールを設定しようね」という話をたびたびしているのでこの際記事にしてみようと思います。
スプリントゴールとは
スクラムガイド2020にはこうあります。
上記のようにスプリント中の「唯一の目的」であり、スクラムチームの作業に「一貫性と集中」を与えるものなのです。これはスクラムチームの作業にゴールという名の軸が生まれ、その軸を中心にどう進んでいこうかという幅を持たせることができます。
具体的にはスプリントゴールがあることによって、たまに(よく?)発生する割り込みによる計画変更をスムーズに意思決定することができたり、ステークホルダーたちにこのスプリントが終わった時にプロダクトがどうなっているかの説明を一言で終わらせられるようになったりします。便利ですね。
具体例・ポイント
具体なイメージとしては以下のような感じかなと思います。
特に1つめのように目標値があるとゴールがより明確になり、ゴールが達成できているかどうかの計測もしやすいです。
またスプリントゴールを考える上でいくつか気をつけたいポイントがあります。
プロダクトゴールに向かっているか?
選択したバックログの要約になっていないか?
ゴールを複数設定していないか?
ゴールが達成できたかどうかの確認方法は考えてあるか?
などです。
以上を踏まえてスプリントゴールを考えていくことでスプリントゴールの恩恵を受けやすくなるのではないでしょうか。
ないのとあるのとではどう変わる?
では、実際にプランニングの最初でスプリントゴールを設定していないケースとしたケースでシミュレーションしてみましょう
スプリントゴールを設定していないケース
このケースではおそらく「選択したバックログアイテム全て終わらせる」が暗黙的にスプリントの目的になるはずです。
プランニングでベロシティに収まる範囲で優先順位順にバックログアイテムを選択し、開発者は完成までのタスクを起こします。
スプリント中にタスクの消化は予定通りか、無理そうなら優先順位の低いものを落とす相談をPOとしようかなどのコミュニケーションがされるでしょう。
そしていつも通りのスプリントレビューが終わり、レトロでなんで予定通り終わらなかったんだろうの深掘りが始まります。そして最終的に一番しっくり来たTryを決めて「次こそは計画通り全部終わらせるぞ!」と意気込んで次のスプリントに臨みます。
あれ、計画通りに機能を作ることが目的なんだっけ?
追求したいのは価値だよね?
というように「選択したバックログアイテム全て終わらせる」が暗黙的なスプリントゴールとして設定されていると価値ではなく機能や計画にフォーカスしてしまうのです。
スプリントゴールを設定したケース
では次にスプリントゴールを設定したケースを見てみましょう。
先ほどの例の「トップページのコンテンツを変えずに表示速度を2.5秒以内にする」をスプリントゴールとして設定したと仮定します。
プランニングではベロシティ、優先順位は気にしつつもスプリントゴールを満たすようにバックログアイテムを選択します。開発者もタスク切りの際、このスプリントが終わった時にゴールが満たせてるかを意識してタスクを切ります。
スプリント中は、このまま進んでゴールに到達しそうか、しなそうであればどうすればゴールに到達できるかを日々考えて活動するでしょう。またタスクをこなしていく中で学習し、よりよい実現方法を思いつくことがあるかもしれません。
そのように計画を日々変更しつづけ、選択したバックログアイテムを1つ2つ実施できなかったりもしたけど、なんとかゴールの「トップページのコンテンツを変えずに表示速度を2.5秒以内にする」を満たすことができました。
スプリントレビューではいつも参加してるステークホルダーとは別にゴールを満たせたプロダクトに興味のある人たちが見にくるかもしれません。そして新鮮な議論やアイディアが生まれることもあるでしょう。
そしてレトロは計画通りではなかったことを振り返りつつも、ポジティブな意見だったり、よりチャレンジングなTryに挑戦してチームの力を伸ばし続けるでしょう。
このようにゴールを目指すことによって計画に沿うことでも、ただ決められたものを作ることでもなくて、価値にフォーカスしそれが実現できるように自分たちで考えて動けるようになるのです。
いかがだったでしょうか?
都合のいい極端な例ですみません笑
ただ、イメージやスプリントゴールを設定する具体的な狙いとしては上記のようなものだと思っていただければいいのかなと思います。
もし、「スプリントゴールのことについてもっと知りたい!」や、「チームに導入してみたいんだけどどうしたら、、、」などがあればお気軽にTwitterのDMにでもメッセージいただければと思います。
自分もまだまだ修行中なのでみなさんのお話も聞けたら嬉しいです!
それでは!