スクラムはアジャイル開発の代表的な手法のひとつですが、その仕組みは「役割」や「イベント」、「作成物」といった独自の言葉で説明されるため、分かりにくいと感じている人も多いのではないでしょうか。そこで本記事では、スクラムについて、特にインクリメントなどの「作成物」に焦点を当ててその概要を分かりやすく解説します。
スクラムとは
スクラムとは、ソフトウェア開発の領域において最も広く採用されているアジャイル開発の手法のひとつです。フレームワークであるスクラムは、チーム内でメンバーごとにタスクを小さく分散させてそれぞれ取り組むことを特徴としています。このため、綿密なコミュニケーションが可能となり、整合的な開発を実現できます。
スクラムのもうひとつの特徴が、透明性・検査・適応という3つの主要な柱に基づいて開発を進めることです。具体的には、開発チーム内または顧客と開発チームのあいだで継続的かつ綿密なコミュニケーションを取ることを通して、作業プロセスや成果物の「透明性」を確保します。
そして、作業プロセスや成果物の内容を「検査」することを通して、そこから出てきた課題や要望に「適応」し、その後の開発に繋げていくという形です。これにより、製品は常に顧客のニーズと要求に最適化され、製品の品質や顧客満足度の向上が期待できます。
スクラムの構成要素には、「3つの役割」と「5つのイベント」、そして「3つの作成物」があります。3つの役割と5つのイベントの内容は以下の通りです。3つの作成物については記事の後半で詳しく解説するので、そちらをご参照ください。
【3つの役割】
- プロダクトオーナー:製品全体のビジョンを持つ人物であり、開発チームへの要件の伝達や優先順位付けを行います。
- スクラムマスター:スクラムフレームワークが組織内で正しく理解され、実践されていることを確認する役割です。
- 開発チーム:プロダクトオーナーが提示したビジョンに即して、期間内に製品の開発を担当するグループです。
【5つのイベント】
- スプリント:スクラムの基本的な作業単位です。一般的には2-4週間程度に設定されます。
- スプリントプランニング:各スプリントの開始時に計画を立てる工程です。
- デイリースクラム:進捗確認などを目的に、開発チーム内で毎日行われる短いミーティングです。
- スプリントレビュー:スプリントの終了時に、開発チームがスプリント中に達成した成果物をステークホルダーに示す機会です。
- スプリントレトロスペクティブ:各スプリントの終わりに行う、振り返りのためのミーティングです。
スクラムガイドとは
スクラムガイドは、スクラムの理論、実践、ルールを明確にするための包括的なマニュアルです。これはスクラムの共同考案者であるジェフ・サザーランドとケン・シュウェーバーによって作成されました。
スクラムガイドを参考にすることで、スクラムのあるべき姿を適切に理解し、効果的に実施するためのヒントを得られます。スクラムガイドには日本語版もあり、インターネット上に無料で公開されているので、ぜひ一読することをおすすめします。
アジャイル開発とは
アジャイル開発は、小刻みな開発サイクル(つまりスプリント)を反復することを通して、ソフトウェアを段階的に開発・リリース・改良していく開発手法です。「アジャイル(agile)」という名称は、リリースまでの期間や顧客のニーズなどに応える「迅速さ」「機敏さ」を表しています。
従来、ソフトウェア開発では「ウォーターフォール開発」という、最初に立てた計画に従って、製品全体の開発を一気通貫で行う手法が取られていました。しかしこの方法だと、製品全体が完成するまではリリースができず、開発途中に顧客のニーズや要件が変わったときに対応するのも難しくなります。
その点、アジャイル開発では、システムの核心部分から機能単位で順々に開発・リリースしていく手法を取るので、顧客のニーズへ柔軟に対応することが可能です。
スクラムに典型的に示されているように、アジャイル開発では基本的に、開発者-顧客間の密接なコミュニケーションや協力が重視されます。これにより、開発プロセスは常に顧客のニーズと期待に応じて調整され、その結果、顧客満足度と製品の品質が向上します。
スクラムの作成物
スクラムの作成物とは、スクラムの開発プロセスを通して作成される具体的なアウトプット(作業と価値)を指します。例えば、ソフトウェア開発プロジェクトにおける作成物の代表例は、ソフトウェアコードやデザインドキュメントなどです。
それぞれの作成物には、達成すべき目標などを明確に示した「確約(コミットメント)」が付随します。これの確約を通して、開発チームは何がどうなったら作成物が完成したことになるのか判断したり検証したりすることが可能になります。
以下で示すように、スクラムの作成物は以下の3種類に分類されます。
インクリメントとは
インクリメントは、スクラムフレームワークにおける作成物のひとつです。スクラムガイドでは、「プロダクトゴールに向けた具体的な踏み石である」と定義されています。
引用元:スクラムガイド
たとえば、ソフトウェア開発においては、新たに追加された機能や改善されたパフォーマンスなどがインクリメントに該当します。いわば、インクリメントの総体が最終成果物です。スプリントを通じて開発したインクリメントを作成済みのインクリメントに追加していきます。そうして積み重ねたものが、最終的な成果物となります。
確約(コミットメント):完成の定義
完成の定義とは、インクリメントにおける確約です。スクラムガイドでは、「プロダクトの品質基準を満たすインクリメントの状態を示した正式な記述である」と定義されています。
引用元:スクラムガイド
すなわち、インクリメントとは、プロダクトバックログアイテムがこの完成の定義を満たした状態でとして捉えられます。完成の定義をすることで、スクラムチーム全員が共通の認識を持ち、作業に透明性が生み出すことが可能です。
プロダクトバックログとは
プロダクトバックログは、プロダクトの開発・改善に必要なタスクや要求事項が優先順位をつけてリスト化されたものです。スクラムガイドでは、「創発的かつ順番に並べられた、プロダクトの改善に必要なものの一覧である」と定義されています。
引用元:スクラムガイド
例えば、新機能の追加やバグ修正、パフォーマンスの改善など、プロダクトの改善を目指す各種タスクがプロダクトバックログに含まれます。
確約(コミットメント):プロダクトゴール
プロダクトゴールはプロダクトバックログの確約です。スクラムガイドでは、「プロダクトの将来の状態を表している」と定義されています。
引用元:スクラムガイド
つまり、スクラムチームが追求する長期的な目標がプロダクトゴールです。スクラムチームは、次の目標に取り掛かる前に、まずは目の前のプロダクトゴールを目指さなければいけません。
スプリントバックログとは
スプリントバックログは、各スプリントで達成すべき作業項目をリストアップしたものです。基本的には開発チームが主導して作成するもので、スプリントガイドでは「スプリントバックログは、開発者による、開発者のための計画である」と説明されています。
引用元:スクラムガイド
たとえば、新しいユーザーインターフェースの実装や、特定のバグの修正など、スプリント期間中に取り組む予定のタスクが具体的に明記されます。
確約(コミットメント):スプリントゴール
スプリントゴールはスプリントバックログの確約です。スクラムガイドでは、「スプリントゴールはスプリントの唯一の目的である」と定義されています。
引用元:スクラムガイド
それはスクラムチームに一致団結した作業を促し、スプリント期間中の全てのタスクに共通の方向性を与えます。
まとめ
アジャイル開発の一手法であるスクラムは、複雑な問題解決に役立つフレームワークです。スクラムの作成物にはインクリメントをはじめとする3種類があり、それぞれの作成物は「確約」によってその要件や完成の定義が透明化されています。
アジャイル開発のプロジェクト管理については、過去に実施したウェビナーのの講演資料を公開していますのでこちらもぜひご覧ください。
関連内容はこちら
関連記事はこちら
- カテゴリ:
- キーワード: