見出し画像

スクラムの成果物とコミットメント:チームの成功に不可欠な要素

こんにちはこんばんは。スクラムマスターの いのもえ です。

先日、スクラムガイドで定義されている「成果物」をテーマに同僚と話す機会がありました。話す中で、スクラムガイドで定義される「成果物」「確約(コミットメント)」について印象が薄いように見受けられました。
この会話を受けて「ガイドの中でもほぼ終盤に記載されているし、もしかすると印象に残りづらいのかも?」と思いました。

今回はスクラムガイドの「成果物」「コミットメント」について自分なりの解説記事を書いてみたいと思います。


前提: ベースにするスクラムガイド

今回は 2020 年度版のスクラムガイドをベースに話を進めます。

概要: スクラムの成果物とコミットメント

スクラムは「成果物」として 3 つのものを定義しています。

  • プロダクトバックログ

  • スプリントバックログ

  • インクリメント

これらは「任意で作ったら良いよ」というものではなくて、「スクラムを効果的に利用するためには作らないといけないよ」というものです。逆に言うとこの 3 つをきちんと作っていれば良く、スクラムの実践においてもとくに丁寧に扱うべきだと考えられます。

成果物は闇雲に作れば良いわけではありません。例えば「インクリメント」は実際に作っているサービス全体を指すことが多いですが「期限内(スプリント中)に作業を終えられたがバグばかり」という状況は許容できません。こういった状況を避けるために、それぞれの成果物には「コミットメント」という制約のようなものが存在しています。

以降では、それぞれの成果物とコミットメントについてより詳しく解説してみます。

プロダクトバックログとプロダクトゴール

プロダクトバックログは以下のように定義されています。

プロダクトバックログは、創発的かつ順番に並べられた、プロダクトの改善に必要なものの⼀覧である。これは、スクラムチームが⾏う作業の唯⼀の情報源である。

スクラムガイド 「プロダクトバックログ」より

プロダクトバックログのコミットメントは、「プロダクトゴール」とされています。

プロダクトゴールは、プロダクトの将来の状態を表している。それがスクラムチームの計画のターゲットになる。プロダクトゴールはプロダクトバックログに含まれる。プロダクトバックログの残りの部分は、プロダクトゴールを達成する「何か(what)」を定義するものである。

スクラムガイド「確約(コミットメント):プロダクトゴール」より

つまり、プロダクトバックログは改善に必要なものが順番に並んでいればよいだけでなく、その改善をこなしていく中でプロダクトゴールを達成(または放棄)できるようになっていないといけないということです。

プロダクトゴールは 2020 年版のガイドから導入された言葉なので、ピンとこない方もいらっしゃるかもしれません。以下の資料でわかりやすくまとめられていましたので、よろしければご参照ください。

スプリントバックログとスプリントゴール

スプリントバックログは以下のように定義されています。

スプリントバックログは、スプリントゴール(なぜ)、スプリント向けに選択されたいくつかのプロダクトバックログアイテム(何を)、およびインクリメントを届けるための実⾏可能な計画(どのように)で構成される。

スクラムガイド「スプリントバックログ」より

スプリントバックログのコミットメントは「スプリントゴール」とされています。

スプリントゴールはスプリントの唯⼀の⽬的である。スプリントゴールは開発者が確約するものだが、スプリントゴールを達成するために必要となる作業に対しては柔軟性をもたらす。スプリントゴールはまた、⼀貫性と集中を⽣み出し、スクラムチームに⼀致団結した作業を促すものでもある。

スクラムガイド「確約(コミットメント):スプリントゴール」より

つまり、スプリントバックログはスプリント全体の計画がわかるだけでなく、その計画をこなすことでスプリントゴールが達成できるようになっていなければならない、ゴール達成に向けて柔軟に計画(スプリントバックログ)を変更できる必要があるということです。
プロダクトバックログ、プロダクトゴールの関係性と似ていますね。

インクリメントと完成の定義

インクリメントは以下のように定義されています。

インクリメントは、プロダクトゴールに向けた具体的な踏み⽯である。インクリメントはこれまでのすべてのインクリメントに追加する。また、すべてのインクリメントが連携して機能することを保証するために、徹底的に検証する必要がある。価値を提供するには、インクリメントを利⽤可能にしなければならない。

スクラムガイド「インクリメント」より

ガイドで説明される文章だと「インクリメント」自体が結構難しい概念だと思います。私はよく補足で「"今スプリントの開発を経てインクリメントがこのようにパワーアップしました"のように扱うもの」と説明したりします。web サービスを提供している場合、 web サービスそのものだけでなく周りの運用ツールやプロセスなども含めるイメージがあります。

インクリメントのコミットメントは「完成の定義」とされています。

完成の定義とは、プロダクトの品質基準を満たすインクリメントの状態を⽰した正式な記述である。
プロダクトバックログアイテムが完成の定義を満たしたときにインクリメントが誕⽣する。

スクラムガイド「確約(コミットメント):完成の定義」より

インクリメントはサービス全体を指します。インクリメントが一定の品質を保つためには、各スプリントが終わったときや各 PBI が終わったときにこの品質基準を満たさないといけませんよ(その品質基準をまとめたものが完成の定義)、ということです。
完成の定義はその性質上、「ユニットテストを通過していること」「レスポンスが N 秒以内に返ること」などの非機能要件が入りやすくなります。

スクラムガイドを読んだ以上になにか具体的なイメージが伝わるといいなと思いながら書いてみました。いかがでしょうか…。
特に「完成の定義」は道理を理解していないとさらっと流してしまいそうだと思います(名前も相まって PBI ごとの完了条件を確認する…みたいになっちゃいそう)

よろしければサポートお願いします!いただいたサポートは入浴剤や飲み物など、息抜きに使わせていただきます🤗