目次
近年、従来のウォーターフォール型開発から、アジャイル開発へと開発手法の変遷が見られます。デジタルデバイスが一般層に普及したため、より市場の声を反映する目的で採用されるケースが増えているのです。このアジャイル開発を支える仕組みの中に、「スクラム」と呼ばれるものがあります。
本記事では、スクラムの概要とメリット・デメリット、スクラム開発のメンバーのと役割や開発の流れを解説します。アジャイル開発に興味のある方、移行しようと思っている方はぜひ参考にしてください。
スクラムとは
スクラムとは、アジャイル開発のフレームワークの一つとして位置づけられるものです。プロダクトオーナー、スクラムマスター、開発者といったロール(役割)をもったメンバーで10人以下のチームを組み、機能単位で「計画、設計、開発、テスト」、そしてリリースのサイクル(スプリント)を繰り返し、プロダクトを完成させます。ユーザーを巻き込みながら開発することで、顧客の価値を最大化しつつ、素早く、動くプロダクトを完成させることが特徴といえます。
スクラムの特徴
スクラムには次の3本柱があり、これらを実現することによって機能します。
・透明性:事実から現在の状況がわかる
・検査:チームメンバーの進捗やプロセスが問題なく進んでいるかの確認
・適応:検査結果を参考にしてプロセスやプロダクトを修正すること
(参照元:Ken Schwaber & Jeff Sutherland『スクラムガイド』)
上記の3つは密接に関係しており、透明性の上に検査が、検査の上に適応が存在しています。スクラムのチームは3~10人程度の人数が理想的とされており、多すぎても少なすぎてもいけません。スクラムの特徴を活かすにはスクラムマスターとプロダクトオーナーの支えが必須である一方、自分たちで考えるチームである必要があるのです。
スクラムの価値基準
スクラム価値基準とは、スクラムの成否を決める重要な基準のことで、以下の5つを実践できるかどうかで成否が決まるといわれています。
評価基準 | 概要 |
確約(Commitment) | スクラムチームは、ゴールを達成し、お互いにサポートすることを確約する |
集中(Focus) | スクラムチーム は、ゴールに向けて可能な限り進捗できるように、スプリントの作業に集中する |
公開(Openness) | スクラムチームとステークホルダーは、作業や課題を公開する |
尊敬(Respect) | スクラムチームのメンバーは、お互いに能⼒のある独⽴した個⼈として尊敬し、⼀緒に働く⼈たちからも同じように尊敬される |
勇気(Courage) | スクラムチームのメンバーは、正しいことをする勇気や困難な問題に取り組む勇気をもつ |
(参照元:Ken Schwaber & Jeff Sutherland『スクラムガイド』)
スクラムは3~10人程度のチームであり、価値基準が実践できているかどうかでスクラムの質が変わるとされています。価値基準は作業・行動・振る舞いにおける方向性を示しており、上記5つの価値基準が実践されることによって、スクラムの3本柱「透明性」「検査」「適応」が成り立つのです。
スクラム開発のメリット
スクラム開発のメリットは以下の点があげられます。
【スクラム開発のメリット】
・短い期間で最大限の成果を期待することができる
・工数の見積もりの正確さが増す
・チームづくりやメンバーの育成が促される
・ユーザーの要求にかなったプロダクトや機能をリリースしやすい
・プロジェクト終盤での手戻りの発生、それに伴うコスト増大・納期遅延を防ぐことができる
スクラム開発のメリットとして、開発の優先順位が高い機能から先に開発を進めるため、短い期間で最大限の成果を期待することができます。また、短いスプリントで開発を区切り、そのスプリントのなかで開発計画を見積もるため、工数の見積もりの正確さが増すというメリットも生まれます。さらに、スクラムのメンバーが各自の作業の工数を見積もることから、その作業に対する責任感が醸成されるため、結果としてチーム組成やメンバーの育成といったことにつながるのもメリットといえます。
スピーディーにプロダクトや機能をユーザーに届けることができ、また、ユーザーの要求を取り入れながら開発できるため、開発側にとってもユーザー側にとっても開発意図にかなったプロダクトや機能をリリースすることができます。都度要求を確認しながら短い期間で開発ができるため、プロジェクト終盤での手戻りの発生や、それに伴うコスト増大、納期遅延といった問題を防ぐこともメリットとなります。
これらに関連して、顧客との距離感が近く、クライアントと密接な関係を構築しやすいという特徴もあります。顧客満足度が向上するひとつのきっかけとなることも、現在スクラム開発が注目されている理由の一つと考えられるでしょう。
スクラム開発のデメリット
スクラム開発には上記メリットがある一方で、以下のようなデメリット、導入後に起こりうるリスクもあります。
【スクラム開発のデメリット】
・開発スケジュールの全体像を把握しづらい
・円滑なコミュニケーションがとれないとスムーズに進まない可能性がある
・離脱者がいる場合はプロジェクトが停滞する恐れがある
スクラム開発は、仕様変更の度に開発の内容が変わるため、スケジュールの全体像を把握しにくいというデメリットがあります。場合によってはスコープクリープに繋がる可能性もあるため、メンバー全員がプロジェクトに対して認識のズレが生じないよう、綿密にコミュニケーションをとることが必要です。
そのため、一定以上のスキルを備えているだけでなく、コミュニケーションをとることを苦手としない人材をメンバーとして選ばなければなりません。
また、短期間かつ少人数で開発を行うため、途中で離脱者が出てしまうとプロジェクトの進捗に影響する恐れがあります。プロジェクトに必要なスキルを有したメンバーを不足なく集め、最後までメンバーを変えることなくプロジェクトを遂行できるよう、チーム編成は慎重に行うようにしましょう。
スクラム開発のメンバーとロール(役割)
スクラム開発には、以下のメンバーが必要です。
・プロダクトオーナー
・スクラムマスター
・開発メンバー
それぞれの概要やロール(役割)を詳しく見ていきましょう。
プロダクトオーナー
プロダクトオーナーは、その名前のとおり、プロダクトの責任者としての役割を担います。スクラムチームから生み出されるプロダクトの価値を最大化し、プロダクトバックログ管理において優先順位決定を行う責任をもちます。メンバーから上がってきた判断の難しい事象に対しても責任をもって決定する存在であり、スクラム開発をサポートします。
スクラムマスター
スクラムマスターは、チームの仕事の進捗を追いかけ、困っていることがないかを確認し、作業の障害となる原因を取り除き解決していく立場です。チームを健全な状態に保つ役割であり、難解な問題に直面した場合はスクラムマスターが解決に向けて動くことで、チームが集中できる環境を整えます。また、プロダクトオーナーが機能していない場合のアドバイスを出す役割でもある重要な存在です。「調整役」や「サーバント」といった言葉で説明されることも多いですが、スクラムチームをより効果的に機能させることにコミットします。
開発メンバー
開発メンバーは、実際に開発を行うメンバーであり、設計やドキュメント作成、コーディング、テスト、運用などのひと通りのスキルが必要になります。これはあくまで理想ですが、苦手分野がある場合でも「専門外」と切り捨てず、スクラムチーム全体としての成果が求められるため、作業を調整しながらすべてのメンバーがすべての領域の業務を担当できるようになることを目指します。また、大前提としてメンバー全員は平等であり、優劣や上下関係がありません。
スクラム開発の流れ
スクラム開発では、短いサイクル(スプリント)を繰り返してプロジェクトを進めていきます。具体的な流れは以下の通りです。
1.プロダクトバックログの作成
2.スプリントプランニング(スプリント計画)
3.デイリースクラム
4.スプリントレビュー
5.スプリントレトロプロスペクティブ(振り返り)
それぞれ何を行うのか、詳細を見てみましょう。
プロダクトバックログの作成
プロダクトバックログとは、開発する製品の機能や技術的な改善要素に優先順位を付けたリストを指します。常に変化し、優先順位に基づいて定期的に整理されます。プロダクトオーナーはプロジェクト全体をあらゆる側面から判断して優先順位を判断することになります。また、関係する人物全員が参照可能ですが、プロダクトオーナーが作成する以外にも、開発メンバーが提案した意見が反映されることもあります。
スプリントプランニング(スプリント計画)
スプリングプランニング(スプリント計画)は、先に作成したスプリントバックログをもとに、開発メンバーが実施するタスクやスケジュールを決めたものです。決まった期間内でどこまでの工程が進められるかを明確にすることがポイントです。スプリントの長さは必ず一定の期間を決めますが、「2週間」とすることがもっとも一般的で、最長でも1ヶ月です。スプリントプランニングをもとにして、タスクごとのスプリントバックログを作成します。
こうして決まったそれぞれの作業を開発メンバーに割り当て、いよいよ実作業に移ります。
デイリースクラム
デイリースクラムとは、スクラムのメンバーの進捗や課題を把握するために行われるミーティングのことです。各メンバーが担当するタスクの進捗状況や、昨日終えたこと、今日取り組むこと、現在起きている問題や課題といったことをチーム内で共有します。毎日同時刻に5~15分程度で行われることが多いです。デイリースクラムはスクラムのコミュニケーションを改善し、課題の特定、改善のサイクルを促進します。
スプリントレビュー
スプリントレビューは、スプリント期間終盤に行う工程で、実装した機能に対するレビューのことです。このミーティングではプロダクトオーナーや主要なステークホルダーも参加し、ここまでのスプリントの成果のレビューを実施します。基本的には動くアプリケーションによってレビューを実施しなければなりません。バックログで定義された基準を満たしているかどうかを評価し、スプリントの成果を踏まえ今後の対応を決めます。
スプリントレトロプロスペクティブ(振り返り)
スプリントレトロプロスペクティブとは、スプリントの振り返りミーティングのことで、スプリントレビューと同様にスプリント最終日に開催されることが多いです。スプリントのよかった点や・課題点を洗い出し、その要因と改善策などをスクラム内で話し合って次回のスプリントに活かすのが目的です。
アジャイル開発白書
近年、市場の変化スピードやニーズに対応するために高速リリースの重要性が高まり、アジャイル開発を導入する企業が急速に増えています。そこで、SHIFTでは、アジャイル開発を検討中、導入済の企業に対し、課題や成果、プロジェクト体制などについての調査を行い、これから導入される企業様、既に導入されている企業様のプロジェクト成功にお役立ていただけるよう調査資料にまとめました。
近年、市場の変化スピードやニーズに対応するために高速リリースの重要性が高まり、アジャイル開発を導入する企業が急速に増えています。そこで、SHIFTでは、アジャイル開発を検討中、導入済の企業に対し、課題や成果、プロジェクト体制などについての調査を行い、これから導入される企業様、既に導入されている企業様のプロジェクト成功にお役立ていただけるよう調査資料にまとめました。
関連サービスについて
まとめ
アジャイル開発の手法のひとつとして多く採用されているスクラムについて、その特徴やメリット、進め方について解説しました。スクラム開発は、サービスの開発スピードを高め、変更に適応しやすい柔軟性を兼ね備えている手法であるといえます。スクラムの基本的な考え方を理解し、その効果を最大化できるよう進めていきましょう。