スクラム開発初心者向けに、スクラム開発における基本的な用語を説明します。
本記事は、スクラムガイドを参考に記載しております。
一般用語
スクラム
システム開発におけるスクラムは開発フレームワークの一つで、アジャイル開発の1種です。
スクラムには、チームを組んで役割やタスクを分散し、コミュニケーションを取りながら開発を進めるという特徴があります。
理論
経験主義
スクラムは、「経験主義」に基づいています。経験主義とは、知識は経験から生まれ、意思決定は観察に基づく、というものです。
そして、その経験主義を支える三本柱が、後述する「透明性」「検査」「適応」となります。
透明性
スクラムにおけるプロセスや作業は、作業を実施する人とその作業を受け取る人に見える必要があります。透明性が高いことで、検査が可能になります。透明性のない検査は誤解を生む可能性があり、無駄を生みます。
検査
スクラムにおける成果物や各開発の進捗状況は、頻繁に検査される必要があります。そうすることで、変化や問題に柔軟に対応することができます。
そして、検査によって適応が可能になります。
適応
成果物やプロセスに問題があり許容範囲を逸脱している場合、その逸脱を最小限に抑えるために調整する必要があり、その調整結果に適応する必要があります。
また、スクラムチームは検査によって新しく学んだことを瞬間に適応させることが期待されています。
イベント
スプリント
スプリントとは、スクラムチームが一定量の作業を完了させる際の、短く区切られた期間を指します。
スプリントによって、プロダクトゴールに対する進捗の検査と適応が少なくとも 1 か⽉ごとに確実になり、予測可能性が⾼まります。スプリントの期間が⻑すぎると、スプリントゴールが役に⽴たなくなり、複雑さが増し、リスクが⾼まる可能性があります。スプリントの期間を短くすれば、より多くの学習サイクルを⽣み出し、コストや労⼒のリスクを短い時間枠に収めることができます。つまり、スプリントは短いプロジェクトと考えることもできます。
スプリントプランニング
スプリントプランニングでは、スプリントで実施する作業の計画を立てます。スプリントプランニングは、次の3つのトピックで成り立ちます。
トピック1:このスプリントはなぜ価値があるのか?
プロダクトオーナーは、プロダクトの価値と有⽤性を今回のスプリントでどのように⾼めることができるかを提案します。次に、スプリントプランニング終了までに、スクラムチームでスプリントゴールを定義します。
トピック2:このスプリントで何ができるのか?
開発者は、プロダクトオーナーとの話し合いを通じて、プロダクトバックログからアイテム(プロダクトバックログアイテム(PBI))を選択し、今回のスプリントに含めます。
トピック3::選択した作業をどのように成し遂げるのか?
開発者は、選択したPBIごとに、完成の定義を満たすインクリメントを作成するために必要な作業を計画します。これは多くの場合、PBIを1⽇以内の⼩さな作業アイテムに分解することによって⾏われます。
デイリースクラム
デイリースクラムは、スクラムチームの開発者のための 15 分のイベントです。複雑さを低減するために、スプリント期間中は毎⽇、同じ時間・場所で開催します。
デイリースクラムの⽬的は、計画された今後の作業を調整しながら、スプリントゴールに対する進捗を検査し、必要に応じてスプリントバックログを適応させることです。
スプリントレビュー
スプリントレビューは、スプリントの最後から2番⽬のイベントです。
スプリントレビューの⽬的は、スプリントの成果を検査し、今後の適応を決定することです。スクラムチームは、主要なステークホルダーに作業の結果を提⽰し、プロダクトゴールに対する進捗について話し合います。
スプリントレトロスペクティブ
スプリントレトロスペクティブをもってスプリントは終了します。いわゆる、スプリントの振り返りです。
スプリントレトロスペクティブの目的は、今後のスプリントをより良く実施し、スプリントの効果と成果物の品質を上げることです。
スプリントレビューは「スプリントの成果」にフォーカスしますが、スプリントレトロスペクティブはスクラムチームの動きなど、プロセスにフォーカスすることが特徴です。
役割
スクラムチーム
スクラムの基本単位は、スクラムチームという⼩さなチームです。
スクラムチームは、スクラムマスター1 ⼈、プロダクトオーナー1 ⼈、複数⼈の開発者で構成されます。スクラムチーム内には、サブチームや階層は存在しません。
スクラムマスター
スクラムマスターは、スクラムチームのリーダーで、以下の責任を持ちます。
スクラムガイドで定義されたスクラムを確⽴させることの結果
スクラムマスターは、スクラムチームと組織において、スクラムの理論とプラクティスを全員に理解してもらえるよう⽀援することで、その責任を果たします。
スクラムチームの有効性
スクラムマスターは、スクラムチームがスクラムフレームワーク内でプラクティスを改善できるようにすることで、その責任を果たします。
プロダクトオーナー
プロダクトオーナーは、スクラムチームから⽣み出されるプロダクトの価値を最⼤化することの結果に責任を持ちます。組織・スクラムチーム・個⼈によって、その⽅法はさまざまです。
プロダクトオーナーは、効果的なプロダクトバックログ管理にも責任を持ちます。たとえば、
- プロダクトゴールを策定し、明⽰的に伝える。
- プロダクトバックログアイテムを作成し、明確に伝える。
- プロダクトバックログアイテムを並び替える。
- プロダクトバックログに透明性があり、⾒える化され、理解されるようにする。
開発者
開発者はスクラムチームの⼀員です。各スプリントにおいて、利⽤可能なインクリメントのあらゆる側⾯を作成することを確約します。
開発者が必要とする特定のスキルは、幅広く、作業の領域によって異なります。ただし、開発者は常に次の結果に責任を持ちます。
- スプリントの計画(スプリントバックログ)を作成する。
- 完成の定義を忠実に守ることにより品質を作り込む。
- スプリントゴールに向けて毎⽇計画を適応させる。
- 専⾨家としてお互いに責任を持つ。
成果物
プロダクトバックログ
プロダクトバックログとは、目標達成に必要なアイテムやフィーチャーを、優先順位をつけてリスト化したものです。
プロダクトオーナーは、プロダクトバックログの所有者であり、責任者です。
スプリントバックログ
スプリントバックログは、開発者による、開発者のための計画です。スプリントバックログは以下で構成されます。
- (なぜ)スプリントゴール
- (何を)スプリント向けに選択されたいくつかのプロダクトバックログアイテム
- (どのように)インクリメントを届けるための実⾏可能な計画
インクリメント
インクリメントとは、スクラムガイドでは、「プロダクトゴールに向けた具体的な踏み石である」と定義されています。 たとえば、ソフトウェア開発においては、新たに追加された機能や改善されたパフォーマンスなどがインクリメントに該当します。
まとめ
ここまで、スクラム開発の用語を簡単ですが説明してきました。
少しでも参考になれば幸いです。