アプリやシステム開発の開発手法の中でも、アジャイル開発の中でも特に広く採用されるスクラムは、効果的な柔軟性のあるプロジェクト管理手法として多くの組織に利用されています。
本記事では、スクラム開発の基本的な概念と、スクラムチームの構成・人数や役割、また円滑なスクラムチーム運営のポイントを解説します。
スクラム開発とは
スクラム開発は、アプリ開発・システム開発の一つの手法で、プロジェクトを効果的に管理するために幅広く使われるフレームワークです。
【意味・定義】スクラム開発とは?
スクラム開発とは、スクラム(スクラム開発)とは、アジャイル開発の1つで、スクラムチームと呼ばれる開発チームを組み、短期間・少人数でスプリント(一定期間の開発)を繰り返し、コミュニケーションを重視する開発手法をいう。
柔軟で自己組織化されたメンバー全員でコミュニケーションを取りながら開発を進めるため、迅速に価値のある成果物の提供が可能です。
スクラム開発では、少人数で構成されるスクラムチームで短時間の開発サイクル(スプリント)を繰り返し行います。
スプリントには主に「スプリント計画会議」「デイリースクラム」「スプリントレビュー」「スプリントレトロスペクティブ」の4つのイベントで成り立っています。
スクラム開発の主なイベント4つ
- スプリント計画会議:スプリント開始前にプロダクトバックログから実装するタスクを選択
- デイリースクラム:毎日短い時間で、前日からの進捗、当日のタスク、その他課題の共有を行う
- スプリントレビュー:スプリント中に完成した成果物のデモを行い、フィードバックを受け取る
- スプリントレトロスペクティブ:スプリント終了後にプロセスを改善するための振り返りを行う
またスクラム開発は「透明性」「検査」「適用」の3本柱を実現できるように設計されています。
3つの柱は、スクラムチームが効果的なプロセスとプロダクトを確立し、継続的に成長や改善するための基本原則を表しています。
スクラム開発の3本柱
- 透明性:作業内容、進捗内容、課題を明確にすることで、すべての関係者が現在の状況を把握できるようにする
- 検査:進捗やプロセスに問題がないかの評価を行うため、定期的かつ頻繁に検査を実施する
- 適用:検査の結果を基にできるだけ早く軌道修正を行う
スクラムチームとは
スクラムチーム=スクラム開発の開発チーム
スクラム開発の中核を担うのが、プロダクトの開発に責任を持つスクラムチームです。
【意味・定義】スクラムチームとは?
スクラムチームとは、スクラム開発において開発を担当するチームをいう。
>少人数で構成されるスクラムチームは、アプリやシステム等のプロダクト開発と成果物の提供に責任を持つ協力チームです。
プロダクトの成功はスクラムチームの連携と協力が鍵となります。
スクラムチームの人数
スクラムチームの人数として、通常は、5人〜9人程度が、望ましい人数として推奨されています
この5人~9人のスクラムチームが、プロジェクトの進行のための自己組織化された効率的なスクラムチームです。
一般的に、多人数のチームよりも、少人数のチームの方が生産性が高いと言われています。
これは、より効率的なコミュニケーションが期待できるからです。
また意思決定の迅速化、自己組織化の容易さ、継続的な改善の促進なども小さいチームのメリットとしてあげられます。
スクラムチームの特徴
スクラムチームには、以下の5つの特徴があります。
スクラムチームの特徴5つ
- クロス機能性:異なるスキルや専門性を持つメンバーでチームを組むことで、幅広いタスクに対応が可能
- 自己組織化:自ら作業を計画、実施、改善する能力を持つため、チーム自らの判断でタスクに対応が可能
- 共通のゴール:共通のビジョンを持つことで、スプリントゴールに向けて協力をしながら作業が可能
- 顧客志向:顧客のニーズやフィードバックに敏感で、顧客志向のプロダクト開発の追求が可能
- コミュニケーション:スプリントレビューやデイリースクラムを通じてコミュニケーションを活発に行うことが可能
スクラムチームの構成・責任・役割
スクラムチームは「スクラムマスター」「プロダクトオーナー」「開発チーム」の3つのメンバーで構成されます。
スクラムチームの構成メンバー
- プロダクトオーナー:発注側の責任者・管理者
- スクラムマスター:受注側の責任者・管理者
- 開発メンバー:実際にアプリ・システム等のプロダクトを開発するエンジニア
各ロールの責任や役割を正しく理解することは、役割同士の連携と柔軟性が求められるスクラム開発において非常に重要です。
チームはより効果的に協力し、アプリ・システム等のプロダクトの成功やスプリントゴールの達成に向けて一体となって取り込むことができるようになります。
プロダクトオーナー(PO)
【意味・定義】プロダクトオーナーとは?
プロダクトオーナーとは、アジャイル開発における発注側の責任者であって、製品(プロダクト)開発において、製品や開発の方向性を決める責任者をいう。
プロダクトオーナーは、プロダクトの価値を最大化させることに責任を持ちます。
価値のあるアプリ・システム等のプロダクトの最適化のために明確な方向性を設定し、チーム全体で認識を合わせます。
また、プロダクトオーナーは、顧客とチームの橋渡し役としても機能します。
スクラム開発の最終的な意思決定権はプロダクトオーナーに委ねられています。
プロダクトオーナーの主な役割5つ |
|
---|---|
プロダクトビジョンの策定 | プロダクトのビジョンを明確にし、ステークホルダーやチームに共有することで、チームが共通の目標に向かって作業することが可能になる。 |
プロダクトバックログの明確化と管理 | 重要度や顧客のニーズに基づいて、プロダクトバックログ(要件や機能リスト)の項目を定義し、継続的に更新や管理を行う。 |
優先順位の決定 | ビジネス上の価値や顧客ニーズを考慮しながら、チームが最も価値のある機能や要件から取り組めるように、プロダクトバックログのアイテムに優先順位を付ける。 |
スプリントの成果物の受け入れ | スプリントの成果物のレビューを行い、プロダクトの成果物として受け入れるか否かを判断。 |
ステークホルダーとのコミュニケーション | 顧客やステークホルダーとのコミュニケーションをリードする。 また、関係者による要望やフィードバックを収集し、プロダクトの改善や方向性の調整に反映させる。 |
発注側の責任者であるプロダクトオーナーが構成メンバーとなっている点は、他の開発手法の開発チームとスクラムチームの大きく異なる点です
このため、スクラム開発では、発注側の意向が反映されやすい、という特徴があります。
逆に言えば、プロダクトオーナーにも、アプリ・システム等のプロダクトの開発について、一定程度の責任があります。
また、プロダクトオーナーがその責任を果たしていないと、スクラム開発の利点を活かせないことになります。
この他、プロダクトオーナーにつきましては、詳しくは、以下のページをご覧ください。
スクラムマスター(SM)
【意味・定義】スクラムマスターとは?
スクラムマスターとは、受注者側の管理者・責任者であって、開発そのものの調整などを行い、プロダクトオーナーと開発メンバーのサポートをする役割をいう。
スクラムマスターは、スクラムフレームワークで定義されたスクラムを実践させることに責任を持ちます。
スクラムのプロセスに関する専門知識を持ち、チームにスクラムの原則とプラクティスを理解してもらえるように手助けをします。
またプロセスの導入だけではなく、各プロセスを連携させ、スクラムをうまく機能させるための役割を果たします。
スクラムマスターの主な役割6つ |
|
---|---|
スクラムの導入と促進 | 組織にスクラムを導入し、スクラム開発のプロセスの採用を促進するために、組織内のメンバーやステークホルダーにスクラムの理念やメリットを伝え、理解を広める。 |
ファシリテーション | スプリント計画会議、デイリースクラム、スプリントレビュー、スプリントレトロスペクティブなど各イベントを適切に実施し、チーム内のコミュニケーションの向上を図る。 |
障害解決 | チームが直面する課題や問題をいち早く特定し、それらを解決するためのサポートを行うことで、目標達成に向けてスムーズに解決を図ることが可能となる。 |
自己組織化のサポート | チームが自己組織化するために必要な環境とサポートを提供することで、チームの自らの目標を設定する力を向上させることができる。 |
指導(コーチング) | スクラムの理念、原則、プラクティスについてチームや関係者に指導し、理解を深めるようコーチングを行う。 |
透明性の確保 | プロジェクトの進捗と問題に対する透明性を確保し、チーム内外への情報の共有やステークホルダーとのコミュニケーションを密に取る。 |
この他、スクラムマスターにつきましては、詳しくは、以下のページをご覧ください。
開発チーム(DT)
開発チームは、自己組織化と成果物の提供に責任を持つプロダクトの開発者です。
自己組織化は、作業のキーパーソンになるメンバーが自ら問題解決に必要なことを実施できるため大きなメリットとなります。
クロス機能的であり、さまざまな専門領域や機能をカバーできるメンバーで構成されるのが開発チームです。
開発チームの主な役割7つ |
|
---|---|
プロダクトバックログアイテムの選択 | スプリント計画の際、プロダクトバックログからスプリントゴールを達成するためのアイテムを選択することで、取り組む作業を明確にする。 |
タスクの見積もりとプランニング | 選択したプロダクトバックログアイテムに対してタスク量を見積もり、スプリント期間内に実装するための計画を立てる。 |
自己組織化とタスクの実行 | スプリントが開始されると、開発チームは自己組織化され、自らの専門スキルを活かしながらプロダクトバックログアイテムの実装に取り組む。 |
デイリースクラムの実施 | 前日の進捗と本日の予定について毎日報告し、チーム全体で進捗と課題を把握する。 |
進捗の共有とコミュニケーション | 進捗を正しく追跡し、必要に応じてプロダクトオーナーやスクラムマスターとコミュニケーションを取ることで課題を解消する。 |
インクリメントの作成とスプリントレビュー | インクリメント(スプリント期間中に実装した機能)をプロダクトオーナーやステークホルダーに提供し、スプリントレビューを通じてフィードバックを受ける。 |
スプリントレトロスペクティブ | チーム全体でスプリントの振り返りを行い、プロセスの改善点の特定を行う。 |
スクラムチームを円滑に運営するためのポイント
スクラムチームを円滑に運営するために覚えておきたいポイントとして、「確約」「勇気」「尊敬」「公開」「集中」の5つの価値基準をチーム内で共有することが有効です。
これらの価値基準は、スクラムチームが効果的に働き、価値の高い成果を生み出すための基盤となります。
覚えておきたい5つ価値基準!
- 「確約」目標達成のためにお互いをサポートし、全力でタスクに取り組むことを確約
- 「勇気」新たなアイディアや改善点を提案し、困難な課題にも取り組む勇気を持つ
- 「尊敬」お互いを尊重し、多様性を認める
- 「公開」オープンで透明なコミュニケーションを重視し、進捗や課題を公開
- 「集中」スプリント内の優先順位の高い作業に集中をし、ゴールに向けて進歩
5つの価値基準は、スクラムチームが共通の目標を持つための指針となります。
チームワークの向上のためにも、チームの約束事として浸透させるのが良いかもしれません。
まとめ
細かな単位でのリリースを繰り返しながら一つのプロダクトを作り上げるスクラム開発。
スクラム開発に関わるスクラムチームは、お互いに密にコミュニケーションを取りながら、共通のゴールに向かって日々対応を進めます。
顧客のニーズに適応した成果物を短期間で提供するのに有効なスクラム開発の導入をぜひ検討してみてください。
スクラムチームについてよくある疑問
- スクラムチームのメンバーは全員がフルタイムでプロジェクトに参加する必要がありますか?
- スクラムチームのメンバー全員がフルタイムでプロジェクトに参加することが望ましいですが、実際の状況によっては部分的に参加することもあります。
例えば、スクラムマスターがチームに対してどのような支援をする必要があるかは、チームの力量や状況によって異なります。
上手く機能しているチームの場合、スクラムマスターのタスクは少なくなるため、同時に複数プロジェクトを担当することも可能です。
ただし、フルタイムでプロジェクトに参加しない場合であっても、スクラムの原則を尊重し、チームのコミットメントと目標の達成に対して責任を持つことは重要です。
- スクラムチームのメンバーは固定されていますか?
- 通常、スクラムチームのメンバーはスプリントの間は固定されること場合が多いです。
スプリント期間中にチーム構成を変更してしまうと、チームの良好なコミュニケーションと予測可能な進捗の妨げになってしまう可能性があります。
生産性に影響が出てしまうので、本当に必要な場合以外はスクラムチームのメンバーの変更は望ましくないです。