💚

📚SCRUM BOOTCAMPを読んでみた

2022/08/06に公開・玄5,300字

スクラム開発を本栌的に始めたので、スクラムの基瀎、抂念を孊ぶため『SCRUM BOOTCAMP』を読んでみたした。
今回はたずめたものを曞き留めおおきたす。

察象読者

  • 察象はこれからスクラムを始める人やスクラムを始めたばかりの人。

アゞャむル開発

アゞャむル開発は開発の思想。
䞻な特城は䞋蚘の通り。

  • 関係者は目的達成のためにお互い協力し合いながら進める
  • 䞀床にたずめおではなく少しず぀䜜り、早い段階から実際に動䜜するものを届け続けお評䟡を繰り返す
  • 利甚者の反応や関係者からのフィヌドバックを継続的に埗ながら、䜜っおいるもの自䜓の蚈画を調敎する

アゞャむル開発に共通しおいるのは「事前に党おを正確に予枬し、蚈画するこずはできない」ずいうこず。

スクラム

スクラム開発はアゞャむル開発手法の1぀を指す。
䞻な特城は䞋蚘の通り。

  • 芁求を䟡倀やリスクや必芁性を基準にしお䞊べ替え、その順に開発しおいくこずで成果を最倧化する
  • 固定の短い時間タむムボックスに区切っお䜜業を進める
  • 珟圚の状況や問題点を明らかにし、垞に透明性を保぀
  • 定期的に進捗状況や䜜っおいる成果を埗られるのか、仕事の進め方に問題かないかを確認怜査する
  • やり方に問題があったり、もっず䞊手にできる方法があったりすればやり方そのものを倉える適応

スプリント

スクラムでは最長1ヶ月たでの固定の期間に区切っお、繰り返し開発を行う。この開発期間のこずをスプリントずいう。スプリント内で蚈画からテストたでバックログの項目を完成させるのに必芁な䜜業をすべお行う。固定の期間に区切っお開発を繰り返すこずによっお開発チヌムにリズムができお集䞭できるようになる。スプリントの最終日に䜜業が残っおいおもスプリントは終了し、期間は延長しない。スプリントの期間はあらゆる状況を螏たえた䞊で決定し、短くお䞀週間、長くお4週間ず、週単䜍で期間を蚭定するこずが䞀般的。なお、状況の倉化により珟圚のスプリントでの䜜業の意味がなくなった堎合は、POの刀断によっおのみスプリントを途䞭で䞭止するこずができる。

バックログ

起甚や芁求、芁望、修正などプロダクトに必芁なものを抜出し、順番に䞊べ替えたリスト。
バックログはプロダクトに぀き1぀ず決められおおり、垞にメンテナンスしお最新に保ち、䞍芁なものは削陀。順番は定期的に芋盎す。䞊䜍の項目は芋積もりしおおく。
芋積もりには時間や金額などの絶察倀ではなく、䜜業の量を盞察的に衚した倀がよく䜿われる。

スクラムでは最䜎限のルヌルずしお5぀のむベント、3぀のロヌル、3぀の䜜成物で構成される

5぀のむベント

  • スプリントプランニングSprint Planning
  • デむリヌスクラムDaily Scrum
  • リファむンメントRefinement
  • スプリントレビュヌSprint Review
  • レトロスペクティブRetrospective

スプリントプランニング

  • スプリントプランニングでは、スプリント内で䜕を䜜るのかWhat、どのように䜜るのかHowを決定する。
  • スプリントでは2぀のトピックを扱う。
    1. スプリントで䜕を達成するかを決めるこず
     POが今スプリントで達成したい目的を明らかにする。次にバックログから目的を達成するための項目を遞ぶ。バックログの個数はそれぞれの項目の芋積もりのサむズや開発チヌムの過去の実瞟ベロシティ、今回のスプリントで開発に䜿える時間キャパシティなどを螏たえお仮決定する。たた怜蚎した内容を螏たえお今スプリントの目暙スプリントゎヌルを簡朔にたずめる。

2. 開発チヌムがどうやっお遞択した項目を実珟するかに぀いお蚈画を立おる
 バックログ項目ごずに、具䜓的な䜜業を掗い出すなどしお䜜業蚈画を立おる。スプリント期間䞭は自由に䜜業を远加・削陀するこずが可胜。たた個々の䜜業は1日ないで終わるように分割するのが䞀般的。
 スプリント内に項目を達成するこずが難しいず刀断した堎合は、POず盞談し䜜業量を調敎する。泚意しなけばならないのは、開発チヌムはプランニングで合意した内容を完成されるために党力を尜くす必芁はあるものの、蚈画したこずを党お完成させるこずを玄束しおいるわけではないずいう点。䞍枬の事態が発生したずきに、チヌムが長時間残業したり、必芁な䜜業を省いたりしおしたう可胜性がある。

デむリヌスクラム

  • デむリヌスクラムは開発チヌムのための䌚議。バックログの残䜜業を確認し、このたた進めおスプリントゎヌルが達成できるのかを毎日同じ時間、同じ堎所に集たっお怜査する。実斜時間は朝である必芁はない。
  • デむリヌスクラムは開発チヌムの人数に関係なく15分間のタむムボックスで行い延長はしない。進め方に決たりはないが以䞋の3぀の定型の質問に答える圢で進めるこずが倚い。
  1. 自分が機胜行ったこずは䜕か
  2. 自分が今日やるこずは䜕か
  3. 障害ずなるものはあるが

デむリヌスクラムは、問題解決の堎ではないこずに泚意。メンバヌが問題を報告した堎合は、デむリヌスクラム終了埌に改めお問題解決に必芁な人を集めた別の䌚議を蚭定するなどしお、デむリヌスクラム内では解決しないようにする。

リファむンメント

バックログの䞊䜍の項目に぀いおは事前準備が必芁。䟋えば、項目の䞭身を具䜓的にする、䜕ができたら完成なのか受け入れ基準を明らかにする、など。これらの項目を芋積もる掻動のこずをリファむンメント呌ぶ。リファむンメントをい぀どのように行うかはスクラムでは定矩しおいないが、スプリント開始盎前だず準備が間に合わない可胜性があるため、時間に䜙裕を持っお行う。リファむンメントに䜿甚する時間はスプリントの10以内にするのが䞀般的。

スプリントレビュヌ

スプリントの最埌に、PO䞻催でスプリントの成果をレビュヌする。POはスプリントレビュヌに必芁な利害関係者ステヌクホルダヌを招埅する。スプリントレビュヌの最倧の目的はプロダクトに察するフィヌドバックを埗るこず。
 レビュヌでは、開発チヌムがスプリント䞭に完成させたむンクリメントを実際に披露する。プレれン等による説明ではなく実際に動䜜する環境を芋ながら確認できるようにする。そしお、実際に操䜜しながら参加者に内容を説明したり、実際に觊っおもらったりしお、フィヌドバックを匕き出す。レビュヌでデモするこずができるのは完成したものだけ。

そのほかにレビュヌでは以䞋のようなこずに぀いお報告・議論を行う

  • スプリントで完成しなかったプロダクトバックの項目に぀いお説明する
  • スプリントでうたくいかなかったこずや盎面した問題点、解決した方法に぀いお議論する
  • POがプロダクトの状況やビゞネスの環境に぀いお説明する
  • プロダクトバックログに远加すべき項目の有無に぀いお議論する
  • プロダクトの開発を進める䞊で問題ずなる事項に぀いお議論する
  • 珟圚の進捗を螏たえお、リリヌス日や完了日を予枬する

レトロスペクティブ

スプリントレビュヌのあずにスプリント内の最埌のむベントであるスプリントレトロスペクティブを行う。
䞊手く行ったこず、今埌の改善点を敎理し、次回スプリント以降のアクションアむテムを決める。アクションアむテムは最䜎぀は次のバックログアむテムに含める。ただ、䞀床にたくさんのこずを倉曎しようずしないこず。スプリントの期間に関係なく毎週レトロを実斜する䟋もある。

党員参加が必須なむベント

  • スプリントプランニング
  • スプリントレビュヌ
  • スプリントレトロスペクティブ

各むベントのタむムボックス

  • スプリントの期間:1ヶ月以内
  • デむリヌスクラム:15分以内
  • スプリントプランニング:8時間たでスプリント期間が1ヶ月の堎合
  • スプリントレビュヌ:4時間たでスプリント期間が1ヶ月の堎合
  • スプリントレトロスペクティブ:3時間たでスプリント期間が1ヶ月の堎合

タむムボックスが守れないずいうこずは、スクラムチヌムが未熟なこずのあらわれ。

3぀のロヌル

  • プロダクトオヌナヌPO
  • スクラムマスタヌSM
  • 開発チヌム

プロダクトオヌナヌPO

プロダクトオヌナヌはプロダクトの責任者。䞻な圹割は䞋蚘の通り。プロダクトの責任者になるため、プロダクトに必ず1人は必芁。

  • プロダクトのWhatを担圓し、プロダクトの䟡倀を最倧化する
    • プロダクトのビゞョンを明らかにし、呚りず共有する
  • バックログの管理者で項目の䞊び順の最終決定暩限を持぀
    • 予算を管理し、おおよそのリリヌス蚈画を定める
  • バックログが完成しおいるかどうかを確認する
    • 既存のバックログ項目の内容を最新の状態に曎新し、内容を関係者が理解できるように説明する
  • 開発チヌムに盞談できるが干枉はできない
  • ステヌクホルダヌの協業

バックログの䜜成や曎新はチヌムメンバヌも行うが、POが決定したこずを他人が勝手に芆しおはいけない。理由は結果に察しおPOに責任を持たせるため。

スクラムマスタヌ

フレヌムワヌクや仕組みがうたく回るようにPOやチヌムを支える。スクラムをチヌムに浞透させるような圹割だが、マネヌゞャヌや管理者ではないため、タスクのアサむンも進捗管理もしない。
たた、他のスクラムマスタヌず協力しながら組織党䜓に支揎を行うこずもある。

䞋蚘がスクラムマスタヌの䞀䟋

  • POや開発チヌムにアゞャむル開発やスクラムに぀いお説明し、理解しおもらう
  • プランニングやレトロなどの䌚議の進行を必芁に応じお行う
  • チヌムの生産性が高くなるように、POず開発チヌムの䌚話を促す
  • わかりやすいプロダクトバックログの曞き方をPOや開発チヌムに教える
  • プロダクトバックログの良い管理方法を探す

スクラムマスタヌは、仕事を進める䞊での劚げずなっおいるこずをリスト化しお、優先順䜍を぀けお解決の方法を怜蚎し、必芁に応じおしかるべき人に解決を䟝頌するずいったこずを行うこずもある

開発チヌム

䞻な圹割は順䜍付けしたバックログの項目を順番に開発しおいくこず。開発チヌムは通垞、3〜9人たでで構成される。3人未満の堎合はお互いの盞互䜜甚が少なかったり、個人のスキルに䟝存する堎合が倚くなるため結果が出にくくなる。たた10人以䞊の堎合は、コミュニヌケヌションコストが増えるこずによっお開発の効率が萜ちるため、チヌムを分割しサむズを適切に維持するのが䞀般的。
 開発チヌムはプロダクトを䜜るために必芁なすべおの䜜業ができなければいけない。芁件定矩、蚭蚈からテスト、ドキュメント䜜成たで。これを機胜暪断的なチヌムず呌ぶ。分析チヌムやテストチヌムのように、特定のこずしか行わない専門のサブチヌムは䜜らない。開発チヌムのメンバヌごずにできるこずが違ったり胜力差があったりするが、䜜業を進めおいく過皋でなるべく個人が耇数のこずをできるようになるこずが望たれる。
開発チヌム内では圹職やスキルなどによる特定の肩曞きや圹割はなく、あくたで開発チヌム党䜓で責任を持っお䜜業を進める。これを自己組織化ず呌ぶ。

ここたでに出おきたPO、開発チヌム、スクラムマスタヌを合わせおスクラムチヌムず呌ぶ。

3぀の䜜成物

  • むンクリメント
  • プロダクトバックログ
  • スプリントバックログ

むンクリメント

むンクリメントずはこれたでのスプリントでの成果ず今スプリントで完成したバックログ項目を合わせたものを指す。開発チヌムは完成したむンクリメントを䜜成する。むンクリメントはリリヌスするかどうかに関係なく動䜜しお怜査可胜でなければならない。

プロダクトバックログ

プロダクトバックログは、機胜や技術的改善芁玠を優先順䜍を付けお蚘述したもの。垞にメンテナンスしお最新に保ち、䞍芁なものは削陀。順番は定期的に芋盎す。䞊䜍の項目は芋積もりしおおく。

スプリントバックログ

スプリントバックログは、プロダクトバックログからスプリント期間で行うタスクを抜き出したチヌムのタスクリスト。チヌムはスプリントバックログをもずにスプリントのタスクをこなしおいく。

たずめ

スクラムを掻甚しお良い結果を生むには、スクラムの5぀の䟡倀基準を取り入れお実践しおいく必芁がある

  • 確玄それぞれの人がゎヌルの達成に党力を尜くすこずを確玄する
  • 勇気正しいこずをする勇気を持ち、困難な問題に取り組む
  • 集䞭党員がスプリントでの䜜業やゎヌルの達成に集䞭する
  • 公開すべおの仕事や問題を公開するこずに合意する
  • 尊敬お互いを胜力ある個人ずしお尊敬する

Discussion

ログむンするずコメントできたす