スクラム開発によりプロダクト開発を行う際には、その具体的な流れや実施すべきイベントについて理解しておくことが重要です。スクラムのイベントにはプロダクトバックログの作成やスプリントレトロスペクティブの実施など、様々なものがあります。これらはどのような概念のものであり、どのように進めるべきなのでしょうか。
この記事では、スクラム開発をはじめとしたアジャイル開発に精通した当社、スパイスファクトリーが、スクラム開発の流れとスクラムイベントについて詳しく解説します。
Contents
スクラム開発について簡単に整理
まずはじめに、スクラム開発の概要について簡単に整理します。
スクラム開発とは、少人数のチームで「スプリント」と呼ばれる一定の開発期間を繰り返し、システムを作り上げていくシステム開発の手法のことです。
スクラム開発はアジャイル開発手法の一つであり、アジャイル開発の理念を実現するための一つの手段となります。スクラム開発以外にも XP(エクストリームプログラミング)や FDD(ユーザー機能駆動開発)など様々なアジャイル開発手法が存在しますが、スクラム開発は中でも代表的なものといえます。
スクラム開発の詳細については以下の記事も併せてご覧ください。
参考記事:スクラム開発とは?アジャイル開発との違いやメリット・デメリット、プロジェクトの進め方例を解説
スクラム開発の流れとスクラムイベント
以下では、スクラム開発の具体的な流れについて詳しく解説していきます。以下の内容は、スクラム開発のバイブルである「スクラムガイド※」に沿ったものとなります。
スクラム開発は 5つのイベントと 3つのロール(役割)で構成されています。
※参考:Ken Schwaber & Jeff Sutherland「スクラムガイド」
スクラムチームの体制構築
まず、スクラム開発を実施していく上では体制の構築が必要です。スクラム開発では、実際に開発を進めていくロール(役割)を以下の3つに分けています。
- プロダクトオーナー
- スクラムマスター
- 開発チーム
上記の 3つの役割のメンバーたちをあわせて「スクラムチーム」と呼んでいます。
以下で、それぞれの役割について解説していきます。
プロダクトオーナー(PO)
プロダクトオーナーとは、プロダクトに求める要求に責任を持つメンバーであり、プロダクトに実装する機能の洗い出しや優先順位付けを行います。また、完成したシステムの品質が要望通りとなっているかをチェックします。
プロダクトオーナーの役割を一言で表すと「スクラムチームから⽣み出されるプロダクトの価値を最⼤化すること」となります。
プロダクトオーナーは開発するプロダクトの結果に責任を持ち、プロダクトの方向性を決める責任者です。また、プロダクトオーナーは 1プロダクトにつき 1人であり、合議制の委員会のような組織にはしません。
プロダクトオーナーについては以下の記事にて詳しく解説しておりますので、よろしければご覧ください。
参考記事:スクラム開発のプロダクトオーナーとは?スクラムマスターとの違いや役割・必要なスキルを解説
スクラムマスター(SM)
スクラムマスターはチームにおいてスクラムの手法を有効に機能させるべく活動するメンバーです。
スクラムマスターの位置づけを一言で説明すると、「スクラムを確立させる責任者」といえます。
スクラムマスターは、スクラム開発においてスクラムの理論と実践方法をメンバー全員に理解してもらえるよう、支援します。もしくは、スクラムの実施においてチームが上手くいかないことを抱えている場合にはその障壁を取り除くこともあります。
その名前の通り、スクラムマスターはスクラム開発に関する有識者として、スクラムを成功させるために活動します。
スクラムマスターはいわゆるプロジェクトマネージャーや管理者としてチームを統括するというよりかは、スクラムのスタイルでプロジェクトを円滑に実施できるよう、陰になり日向になり組織に奉仕するサーバントリーダーとなることが望ましいといえます。そのため、基本的にはタスクのアサインや進捗管理も実施しません。
スクラムマスターについては以下の記事でも詳細に解説していますのでぜひ参考にしてみてください。
参考記事:スクラムマスターとは?役割やスキル、責任について分かりやすく解説
開発チーム(DEV)
開発チームは、システムの開発を担当するメンバーのことです。
開発チームの位置づけを一言で説明すると、スプリントにおいてプロダクトを改善していくためのあらゆる作業を担う「専門家」であるといえます。
スクラムにおける開発チームは3~9人の間が適切とされています。3人未満ではお互いの開発作用が少なかったり、属人化しやすくなり、10人以上の場合はコミュニケーションコストが上昇し、開発の効率が悪くなるためです。
テストチームや要件定義チームといったように、特定のことしか実施しないサブチームは作りません。このようなことから、スクラムにおける開発チームは「機能横断的」といわれます。
そのため、開発チームの各メンバーに必要とされるスキルは実に多様です。設計・コーディング・サーバー構築・テスト・完成品のデモやドキュメントの作成に至るまで、幅広いスキルが求められます。
さらに、スクラムの開発チーム内では肩書や役割はありません。
開発チームでの仕事の進め方はチームメンバーの合意の下で決められ、外部から(プロダクトオーナーやスクラムマスターであっても)仕事の進め方を指示されることはありません。あくまで開発チーム全体で責任をもって作業を進める、「自己組織化」が特徴です。
開発チームはシステム開発に関する専門家として、プロダクトの品質に対する責任を持つことが求められます。
プロダクトゴールおよびプロダクトバックログの作成
体制の構築が出来たら、いよいよ実際のスクラム開発の流れに入ります。
スクラム開発においては、チームが達成すべき目標はプロダクトゴールとして、また具体的に作り上げていくプロダクトの機能はプロダクトバックログというリストとして整理を行います。
たとえば、新規事業開発において ECサイトの MVP(Minimum Viable Product)を構築する場合、プロダクトゴールは MVP の構築となり、プロダクトバックログはユーザー管理機能や商品検索機能、決済機能などとなります。
プロダクトバックログで整理した要求項目は、ビジネス上の必要性や機能の価値・効果などから優先度をつけます。
各スプリントにおいては、優先度の高いものから開発を行っていきます。
そのため、プロダクトバックログの上位の項目ほど内容が具体的で詳細になります。
また、プロダクトバックログは一度作って整理をしたら終わりではありません。要求が変わったら項目や順序を変えますし、新しい要求が追加されることもあります。
プロダクトを作っている間は、絶えず更新をし続け、最新の状態に保たなくてはなりません。
プロダクトゴールやプロダクトバックログの作成は、プロダクトオーナーが責任をもって実施します。一方で、スクラム開発の進め方に慣れていない場合は、必要に応じてスクラムマスターがプロダクトオーナーを支援します。
スプリントプランニング
スクラム開発においては、一定の固定期間の「スプリント」を繰り返すことで開発を行っていきます。開発チームは、1つのスプリントの中で計画・設計・開発・テストなどのプロダクトバックログの項目を完成させるために必要な作業を全て行います。
プロジェクトにもよりますが、スプリントの期間は 1週間から最大でも 1か月程度の期間で設定されます。
スプリントの期間は、チームの成熟度や開発チームの人数、ビジネスの状況などによって決定されることが一般的です。
スプリントを始めるにあたっては、スプリントの実施計画を立てます。これをスプリントプランニングと呼びます。スプリントプランニングでは、このスプリント内でどの機能を開発するか、また本スプリントのゴールをどうするかを定義します。
各スプリントにおいては、開発チームのリソースと各機能の見積を踏まえ、スプリント期間中に実現可能な範囲で開発を行います。
スプリント期間中に開発する機能について、開発チームは「スプリントバックログ」として開発内容を具体化します。スプリントバックログをうまく作成するためには、プロダクトバックログが開発に着手できるレベルで十分に記載されていることが必要です。プロダクトオーナーの意思がうまく開発チームに伝わっていない場合、必要に応じてスクラムマスターが支援を行います。
スプリントの実施
各スプリントにおいては、コーディング作業だけではなくテストも実施し、スプリント完了時には最低限動作するシステムとすることを目指します。
スクラムにおいては、何度もコードを修正し、テストを実施していくことから、テストの自動化やリファクタリングによるコード品質の向上など、高い効率と品質で業務をこなすことが重要です。このような考え方は DevOps と呼ばれ、スクラム開発においては重要視されています。本記事では詳細な解説は控えますが、ご興味があれば以下の記事も参照ください。
参考記事:DevOpsとは?アジャイル開発との違いや導入方法を詳細に解説
スクラム開発では、スプリント単位で評価可能な「インクリメント」を作ることが求められます。
インクリメントとは、過去に作ってきた成果物と今回のスプリントで完成したプロダクトバックログの項目を合わせたものです。多くの場合は動作するソフトウェアとして提供され、スプリント終了時点では完成して正常に動作しないといけません。
どんな条件を満たせば「完成」とするかはプロダクトオーナーと開発チームが完成の定義を明確に合意し、プロダクトゴールに向けてスプリント期間中にプロダクトのインクリメントの作成を進めていきます。
より詳細に知りたい方は以下の記事をご参照ください。
参考:アジャイル・スクラム開発の「スプリント」とは?意味とその特徴を解説
デイリースクラムによるコミュニケーション
スプリント期間中は、デイリースクラムとして日々ミーティングを実施し、本日の実施作業やこれまでの進捗・達成状況をチーム内で報告します。
進め方に絶対的なルールは存在しませんが、具体的には以下の3点についてメンバーが共有していく形が一般的です。
- 「昨日実施したこと」
- 「本日実施すること」
- 「直面している問題、懸念点」
デイリースクラムは負荷を下げるために同じ場所・時間で、15分程度の時間で実施することが望ましいとされています。
基本的には開発チームによるミーティングとなりますが、スクラムマスターやプロダクトオーナーが開発に参加している場合は、これらの役割のメンバーもミーティングに参加します。
デイリーでメンバーの状況を把握し、課題があれば速やかに対応することが重要ですが、デイリースクラムは問題解決の場ではないことに注意が必要です。
問題が発生し、対応の検討が必要な場合はデイリースクラムの終了後に改めて時間を設けて、デイリースクラム自体は 15分で終了するようにします。
デイリースクラムを経て、開発チームは残りのスプリントの期間でどのように開発を進めるのかをプロダクトオーナーに報告できるようにしておきます。
スプリントレビューの実施
スプリントの終了時には、レビューを実施してスプリントの成果を確認します。スプリントレビューは主要なステークホルダーを含めて実施し、インクリメント(これまでのスプリントで作ってきた実際に動く成果物)をデモしながら行うことが特徴です。ステークホルダーに対して作業の結果を示し、プロダクトゴールに向けた進め方について話し合います。
要求通りにプロダクトの開発が進んでいるか、またできていなければどのような改善が必要なのかを検討します。
スプリントレビューの結果を踏まえ、プロダクトオーナーは必要に応じてプロダクトバックログを見直します。
スプリント期間が 1か月程度の場合、スプリントレビューの時間は最大で 4時間程度が望ましいとされています。
スプリントレビューについての詳細は以下の記事で詳細に解説しております。ぜひ参照してみてください。
参考:スプリントレビューとは?アジャイル・スクラム開発でのやり方や目的を徹底解説
スプリントレトロスペクティブによる振り返り
スプリント完了時に、レトロスペクティブとしてそのスプリントの実施内容の振り返りを行います。レトロスペクティブを通してスプリントの進め方に関しての課題の洗い出しや改良の提案を行うことで、次回以降のスプリントをより良いものとすることができます。
レトロスペクティブで整理された改善策を計画し、今後のスプリントに反映させていくことを繰り返すことで、チームを発展的に高めていきます。このような継続的な改善は、アジャイル開発の本質といえるでしょう。
スプリントレトロスペクティブをスプリント完了時の振り返りと考えると、前項のスプリントレビューと同じでは?と感じる方もいらっしゃるかもしれません。
違いとしては、スプリントレビューではスプリントの「成果物」に、スプリントレトロスペクティブではスプリントの「プロセス・人との関係・ツールなど」にフォーカスします。
スプリントレトロスペクティブに使える時間は、1カ月のスプリントの場合は 3時間でスプリント期間が短くなればそれに応じて短縮するのが一般的です。
スプリントレトロスペクティブに関しての詳細な解説や効果的な進め方については以下の記事にて解説していますのでぜひご覧ください。
参考:アジャイル開発におけるレトロスペクティブって何?効果的な振り返りの方法
スクラムイベントと流れをおさえてスクラムを成功させよう
この記事では、スクラム開発の全体的な流れについてご紹介しました。
スクラム開発に取り組む経験が少ない方にとっては、まず全体的な流れと各スクラムイベントの概要を抑えることが重要です。
実際にスクラム開発を進めていく際には、各イベントにおいてプロダクトオーナーや開発チームを支援するスクラムマスターの役割も重要です。スクラム開発がうまくいくかどうかは、スクラムマスターのスキルによるところも大きいといえます。
高いスキルを持ったスクラムマスターがチームに存在することで、スクラム開発を成功に導くことができます。
スパイスファクトリーでは、アジャイル開発・スクラム開発によりこれまで多数のお客さまのシステム開発を支援してまいりました。スクラムマスターやプロダクトオーナーの認定資格である「認定スクラムマスター/Certified ScrumMaster®」を保有しているメンバーも数多く在籍しています。スクラム開発でプロジェクトを実施したいものの、経験や知識が少ないという方は、当社へぜひお声がけください。
参考文献
Ken Schwaber & Jeff Sutherland(2020).『スクラムガイド』.https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf,(参照 2023‐6‐19).
西村 直人 永瀬 美穂 吉羽 龍太郎(2020).『SCRUM BOOT CAMP THE BOOK』.翔泳社
About The Author
スパイスファクトリー公式
スパイスファクトリーは世界がより良い⽅向に向かうよう、変化を加速させる “触媒”(スパイス)としての役割を全うすることをミッションとしたDXエージェンシーです。最新テクノロジー、UIUX、アート、マーケティングなどの技術・メソッドを⽤いて、モノゴトを素早く、美しく、本質的に再定義し、幅広いクライアントのデジタルトランスフォーメーションを⽀援しています。