😽

スクラムガイドを読んでスクラム開発の理解を深める

はじめに

スクラム開発は11の異なるソフトウェア会社でCTO/CEOを務めた経験のあるJeff Sutherlandと、30年以上のソフトウェア開発業界での経験があるKen Schwaberによって1990年代前半に共同開発されました。

スクラム開発は公式から"スクラムガイド"という詳細なガイドラインが出ており、30ヶ国語以上に翻訳されていて日本語のバージョンも公開されています。

本記事ではスクラムガイドを要約をしました。スクラムガイドを読んだことがある人の復習になったり、読んだことのない人の全体的な理解の助けになればと思います。

日本語版ではなく英語版をもとにこの要約を作成したので、日本語版とは一部言葉遣いが違っている可能性がありますがご了承ください。要約したスクラムガイドはこちら
Scrum Guide | Scrum Guides

Scrum Guideについて

スクラムガイドはスクラム開発の理解を助けるために2010年に初版が公開され、少しづつアップデートされています。スクラムに含まれるフレームワークの各要素は全体的な結果に不可欠な特定の目的を果たします。Scrumの核心デザインやアイデアを変更したり、要素を省略したり、Scrumのルールに従わないことは、問題を隠し、Scrumの利益を制限し、無効にする可能性があります。

Scrumの定義

Scrumは、複雑な問題に対して適応的な解決策を通じて価値を生むためのフレームワークです。

全体の流れ

  1. プロダクトオーナーが複雑なタスクをプロダクトバックログに出す。
  2. スクラムチームは選択したいくつかのタスクを通してスプリント中に価値に生み出す。
  3. スクラムチームとステークホルダーは結果を検査、検証して次のスプリントを調整する。
  4. 1~3を繰り返す。

スクラムは反復的でincrementalなアプローチを採用することで常に先に起きることを調整しリスクをコントロールします。

Scrum理論

Scrumは経験主義リーン思考をもとに作られました。

経験主義(Empricism)とは

Scrumにおける経験主義とは、経験や観察から得られる知識をもとに意思決定をすることです。

リーン思考(Lean Thinking)とは

リーンとは、少ない資源と少ない無駄で、必要な価値を生み出すための考え方です。

https://www.lean.org/explore-lean/what-is-lean/#:~:text=Lean is a way of,perfect value with zero waste

Scrum3つの柱

1. 透明性(Transparency)

作業やその工程は作業を行う人にもそれを受け取る人にも見えるものでなければならない。スクラムでは重要な意思決定は成果物の認識状態に基づいて行われます。透明性は検査を可能にします。透明性のない検査は誤解を招き、無駄を多く発生させます。

2. 検証、検査(Inspection)

進捗は、潜在的に望ましくない差異や問題を検出するために、頻繁に、熱心に検査されなければなりません。検査は調整を可能にします。適応を伴わない検査は無意味だと考えられます。

3. 調整(Adaptation)

工程が許容範囲から逸脱した場合や出来上がった製品が受け入れられないものであった場合、工程か生産されるものを調整しなければなりません。調整は、さらなる逸脱を最小限に抑えるために、できるだけ早く行う必要があります。

スクラムチームは検査を通じて何か新しいことを知った瞬間に調整することが求められるので、スクラムチームに調整を行う権限が与えられていないとスクラムは難しくなります

Scrumチーム

スクラムチームは一人のスクラムマスター、一人のプロダクトオーナー、および複数の開発者からなる小さなチームです。

スクラムマスター(Scrum Master)

スクラムマスターは、スクラムガイドで定義されたスクラムを確立する責任を負います。次のような方法でスクラムチームに貢献します。

  1. チームメンバーの自己管理と機能横断的なコーチングを行う
  2. スクラムチームが価値の高いインクリメントを作成することに集中できるようにする
  3. スクラムチームの進捗を阻害する要因を取り除く
  4. すべてのスクラムイベントが開催され、生産的で、制限時間内に収まるようにする

プロダクトオーナー(Product Owner)

プロダクトオーナーは、スクラムチームの作業から得られるプロダクトの価値を最大化する責任を負います。また、プロダクトバックログ管理の責任者でもあり、以下のことをやる必要があります。

  1. プロダクトゴールを作成し、明確に伝える
  2. プロダクトバックログ項目を作成し、明確に伝える
  3. プロダクトバックログ項目の順序付け
  4. プロダクトバックログが透明化され、可視化され、理解されるようにする

複数の開発者(Developers)

開発者は各スプリントで価値をインクリメントすることにコミットする人々です。

開発者は常に以下の責任を負います。

  1. スプリントの計画(スプリントバックログ)を作成すること。
  2. 完了の定義に従うことで、品質を浸透させること。
  3. スプリントゴールに向けて毎日計画を修正すること。
  4. プロフェッショナルとしてお互いに責任を持つこと。

Scrumイベント

SprintはScrumの他の全イベントを含む容器であり、Sprint Planning、Daily Scrum、Sprint Review、Sprint RetrospectiveがSprintの間に行われます。

Sprint(スプリント)

スプリントはスクラムの心臓であり、アイデアを価値に変える場所です。スプリントは1ヶ月以内の固定された長さのイベントです。スプリントプランニング、デイリースクラム、スプリントレビュー、スプリントレトロスペクティブなど、目標を達成するために必要な作業はすべてスプリント内で行われます。

スプリント中は:

  1. スプリント目標を危険にさらすような変更は行わない
  2. 品質は低下させない
  3. プロダクトバックログは必要に応じて修正する

スプリントの期間が長すぎると、スプリントゴールが無効になり、複雑さが増し、リスクが増大する可能性があります。より短いスプリントを採用することで、より多くの学習サイクルを生み出し、リスクをより小さな時間枠に限定することができます。

Sprint Planning(スプリントプランニング)

スプリントプランニングは、スプリントで実施する作業を明確にすることです。

プロダクトオーナーは最も重要なプロダクトバックログ項目と、それらがどのようにプロダクトゴールにマッピングされるかを議論できるように準備します。

トピック1: Why - なぜこのスプリントは価値があるのか?

プロダクトオーナーは、現在のスプリントでプロダクトの価値をどのように高めることができるか提案し、スクラムチーム全体が協力してスプリントゴールを定義します。

トピック2: What - このスプリントで何ができるか?

プロダクトオーナーとの議論を通じて、開発者はプロダクトバックログから現在のスプリントに含める項目を選択します。

トピック3: How - 選択された作業はどのように行われるのか?

選択されたプロダクトバックログ項目ごとに開発者は「完了の定義」を満たすインクリメントを作成するために必要な作業を計画します。

スプリントプランニングにかける時間は1ヶ月のスプリントで最大8時間で、より短いスプリントの場合はより短くなります。

Daily Scrum(デイリースクラム)

デイリースクラムの目的は、スプリントゴールに対する進捗を検査し、必要に応じてスプリントバックログを修正し、今後の計画作業を調整することです。

デイリースクラムは、開発者のための15分間のイベントで、毎日同じ時間と場所で行われます。デイリースクラムはコミュニケーションを改善し、障害を特定し、迅速な意思決定を促進し、結果として他の会議の必要性をなくします。

Sprint Review(スプリントレビュー)

スプリントレビューの目的は、スプリントの結果を検査し、将来の調整を決定することです。

スクラムチームとステークホルダーはスプリントで何が達成され、何が変化したかをレビューします。この情報に基づいて次に何をすべきかについて考えます。スプリントレビューはスプリントの最後から2番目のイベントで、かける時間は1ヶ月のスプリントで最大4時間で、より短いスプリントの場合はより短くなります。

Sprint Retrospective(スプリントレトロスペクティブ)

スプリントレトロスペクティブの目的は、品質と効果を高める方法を計画することです。

スクラムチームは、個人、相互作用、プロセス、ツール、および「完了の定義」に関して、前回のスプリントがどうだったかを検査します。チームを迷わせた思い込みを特定し、その起源を探ります。スプリント中に何がうまくいき、どんな問題に遭遇し、それらの問題がどのように解決されたか(または解決されなかったか)を議論します。

スプリントの有効性を向上させるために最も役立つ変更を特定し、できるだけ早く対処します。スプリントレトロスペクティブは、スプリントを締めくくるイベントで、1ヶ月のスプリントの場合最大3時間です。短いスプリントではより短くなります。

Scrum Artifacts(スクラムの成果物,人工物)

スクラムのアーティファクトは作業や価値を表し、情報の透明性を最大化するように設計されています。それぞれのアーティファクトには、透明性を高め、進捗を測定できることを確実にするための「コミットメント(約束)」が含まれています。プロダクトバックログではプロダクトゴール、スプリントバックログはスプリントゴール、インクリメントは完了の定義がそのコミットメントです。これらはスクラムチームとステークホルダーの経験主義とスクラムの価値を強化するために存在します。

プロダクトバックログ

プロダクトバックログは、プロダクトを改善するために必要なことの順序付けられたリストで、チームが行う作業の唯一の情報源です。コミットメントであるプロダクトゴールは、スクラムチームが計画を立てる際の目標となる、プロダクトの将来の状態を記述します。

スプリントバックログ

スプリントバックログは、スプリントゴール(なぜ)、スプリントのために選択されたプロダクトバックログ項目のセット(何を)、インクリメントを提供するための実行可能な計画(どのように)で構成されます。スプリントバックログはリアルタイムの情報で、スプリント中何か新しいことが分かるたびに更新されます。デイリースクラムの15分間で進捗状況を確認できるくらい詳細でなければなりません。

コミットメントであるスプリントゴールはスプリントの唯一の目標です。スプリントゴールは一貫性と集中力を生み出し、スクラムチームが別々の取り組みではなく一丸となることを促します。スプリントゴールはスプリントプランニングで作成され、スプリントバックログに追加されます。

インクリメント

インクリメントとは、プロダクトゴールに向けた具体的な進歩です。インクリメントは使用可能である必要があり、作業は「完了の定義(Definition of Done)」として決められた品質基準を満たさない限り、インクリメントの一部とはみなされません。完了の定義は、インクリメントが製品に必要な品質指標を満たしたときの状態を記述したものです。作業したものが完了のの定義を満たしていない場合はリリースすることもスプリントレビューで発表することもできず、将来のプロダクトバックログに戻ります。

おわりに

Scrumの核心デザインやアイデアを変更したり、要素を省略したり、Scrumのルールに従わないことは、問題を隠し、Scrumの利益を制限し、無効にする可能性があります。 と言っておきながらこの記事はScrum Guideに書かれた色々な要素を省略しているので、詳細はぜひ公式のスクラムガイドをご覧ください。この記事はあくまで要約として使っていただければと思います。
Scrum Guide | Scrum Guides

スクラムガイド全体を読んだ筆者の感想としては、スクラムは経験主義とリーン思考、この2つを追求するために作られたフレームワークだなという印象でした。頻繁に行われる振り返りによって過去に起きた良いこと悪いこと(経験)を元に未来の計画をより良い方向に修正していく経験主義。透明性を高めて検査検証を頻繁に行うことで、目標から大きく逸れることなく最小限の力で価値を生み出していくリーン思考。この2つを特に意識して、業務の中でスクラムの要素を取り入れていきたいと思いました。

Voicyテックブログ

Discussion