スクラム開発とは?メリットやデメリットから基本的な流れまで解説
目次[非表示]
- 1.スクラム開発とは?
- 2.スクラム開発の特徴
- 2.1.開発は少人数で行う
- 2.2.コミュニケーションを重視
- 2.3.短期間で開発を繰り返す
- 3.スクラム開発に必要なチーム構成
- 4.スクラム開発とアジャイル開発の関係性
- 5.スクラム開発とウォーターフォール型開発の違い
- 6.スクラム開発のメリット
- 6.1.作業を効率的に行える
- 6.2.柔軟な仕様変更が可能
- 6.3.問題の早期発見ができる
- 6.4.工数の見積がしやすい
- 7.スクラム開発のデメリット
- 7.1.高い技術力が必要となる
- 7.2.全体像を把握しづらい
- 7.3.コミュニケーションが必要不可欠
- 8.スクラム開発の基本的な流れ
- 8.1.①プロダクトバックログを作成する
- 8.2.②スプリントプランニングの実施
- 8.3.③デイリースクラムで情報を共有
- 8.4.④スプリントレビューで確認や改善
- 8.5.⑤スプリントレトロスペクティブで振り返る
- 9.スクラム開発に適している案件
- 10.まとめ
スクラム開発とは?
システム開発の手法にはさまざまなものがあり、スクラム開発も開発手法のひとつです。ラグビーのプレー「スクラム(scrum)」が語源とされています。全員で開発を進め、コミュニケーションを取りつつもチームで役割やタスクを分散する手法です。チームメンバーに役割やタスクを振り分けて、それぞれがタスクを達成することによってプロダクトの完成を目指します。
スクラム開発の特徴
スクラム開発には、以下のような特徴があります。
開発は少人数で行う
スクラム開発は、一般的に5~10名程度の少人数で進めます。メンバー同士が密接にコミュニケーションを取ってプロジェクトを進めていくのが特徴です。顧客も巻き込み、メンバー全員がすべてのフェーズに関わっていきます。プロジェクトマネージャーを置かず、進捗やスケジュール管理は開発チームで行なうのも特徴です。スクラムチームを率いるスクラムマスターを設置することもあります。
※スクラムマスター(SM):プロジェクトを円滑に進行させるための調整役を担う役割。チームとチーム外の関係者の間に立ち、必要に応じて交渉や相談を行う。開発メンバーへ適切に業務を配分し、特定のメンバーに負担が集中しないように考慮するほか、開発メンバーを兼任するケースもある。
コミュニケーションを重視
スクラム開発は、それぞれが役割やタスクを持って開発を進めるので、非常に効率良く開発できます。密接なコミュニケーションが重視されるため、コミュニケーションが取れない場合は、開発がスムーズに進みません。ゆえに最もコミュニケーションが重視される開発手法です。スクラムマスターには、メンバーの意見を聞きながら意見を出し合える雰囲気作りも求められます。
短期間で開発を繰り返す
スクラム開発では、基本的に要件を「スプリント」という単位に分けて開発を進めます。1つのスプリントは4週間以内の短期間です。スプリントには、要件定義、設計、実装、テスト、リリースなどの一連の工程が含まれます。スプリントを繰り返すと、顧客が使える機能も徐々に増えていく仕組みです。
スクラム開発に必要なチーム構成
スクラム開発は一般的に、以下のようなチーム構成で行われます。
プロダクトオーナー(PO) |
開発プロジェクトのオーナー。システムの開発に決定権をもつ。 |
スクラムマスター(SM) |
プロジェクト全体の調整役。全体の進行をサポートする。 |
ステークホルダー |
資金提供を行うスポンサー。開発には従事しないが発言権がある。 |
開発エンジニア |
実際にシステム開発を行うスタッフ。システムエンジニアやデザイナーなど。 |
スクラム開発とアジャイル開発の関係性
システム開発やソフトウェア開発では、目的や開発環境、企業の状況に応じた枠組み(手法)が採用されます。これまで一般的だったウォーターフォールモデルに始まり、近年少しずつ普及してきたアジャイルソフトウェア開発などです。
アジャイル開発は、何か一つの開発手法を指すのではなく、類似する開発手法に共通した価値観と行動原則に名前がつけられた総称で、広い意味で、スクラム開発はアジャイル開発に含まれます。スクラム開発とよく比較される開発手法では、XP(エクストリーム・プログラミング)、カンバンという開発手法もあります。
アジャイル開発は、小単位で開発やテストを素早く繰り返し、開発フローを進めていく手法です。アジャイル開発はスクラム開発など、ほかの手法と組み合わせて使用されることが多い手法です。
■関連記事:
スクラム開発とウォーターフォール型開発の違い
ウォーターフォール型開発は、プロジェクトを「企画」「設計」「実装」「テスト」など、いくつかのフェーズに分類し、前のフェーズが終わったら次のフェーズへと順番に進めていく手法です。スクラム開発は開発期間中であれば、変更に対して柔軟な対応ができるのが特徴です。しかし、ウォーターフォール型開発は、順番に作業を進めていくという特徴から、開発前に要求を確定しなければなりません。アジャイル開発では、スプリントのたびにサービスを提供できます。しかし、ウォーターフォール型開発の場合は全工程が終わった後にサービスを提供するので、提供までに時間がかかるという特徴があります。
スクラム開発のメリット
スクラム開発には、以下のようなメリットがあります。
作業を効率的に行える
チームメンバーが協力しながらそれぞれの役割やタスクを果たすため、作業を効率的に行えるのが特徴です。スプリント単位で期間を設定するので、短いスパンで必要とされる機能の開発・実装を行えます。スプリントそれぞれで動作可能な機能を開発し、必要な機能が揃ったタイミングでリリースできるのも特徴です。短期間で成果が出しやすく、生産性向上にもつながります。
柔軟な仕様変更が可能
前のフェーズが終わったら次のフェーズへと進めていくウォーターフォール型開発は、急な仕様変更に対応できません。しかし、システム開発では、急な仕様変更が必要になるケースもあります。スクラム開発は、成果物に対して受けたフィードバックを次のスプリントに反映できるため、仕様変更に対応しやすい点がメリットといえるでしょう。
問題の早期発見ができる
スクラム開発は、コミュニケーションを密に行うことを目的とし、ミーティングを頻繁に行います。ミーティングでは、問題の共有も行われるため、問題を早期に発見しやすい点がメリットです。メンバーで問題を共有して解決を目指すので、プロジェクトがスムーズに進みやすいという特徴もあります。
工数の見積がしやすい
スクラム開発では、スプリントごとに工数見積もりを行います。機能ごとの小さな単位で見積もりを行うので、高い精度の見積もりが可能です。また、工数を正確に把握できるというメリットもあります。
スクラム開発のデメリット
作業を効率的に行え、柔軟な仕様変更も可能なスクラム開発ですが、いくつかデメリットもあります。
高い技術力が必要となる
スクラム開発は短期間・少人数で開発を行うため、メンバーには一定以上のスキルが求められます。チームが一丸となって作業を進めるので、初心者がいたり途中で離脱者が出たりした場合は、プロジェクトがスムーズに進まないこともあるでしょう。一定以上のスキルを持ったメンバーを集め、最後までメンバーを変えずに開発するのがベストです。
全体像を把握しづらい
スクラム開発は柔軟な仕様変更が可能ですが、開発の内容が仕様変更の度に変わると全体的なスケジュールが把握しづらくなるデメリットがあります。スケジュールを把握しやすいという点では、ウォーターフォール型開発のほうが優れています。
コミュニケーションが必要不可欠
スクラム開発は、メンバー同士のコミュニケーションが必要不可欠です。個人の能力や開発スキルが高くても、コミュニケーションが取りづらい人はスクラム開発には向いていません。メンバーを編成する際に、開発メンバーそれぞれの相性やコミュニケーション能力も考慮しなければならない点が、デメリットになることもあります。
スクラム開発の基本的な流れ
スクラム開発の特徴やメリット・デメリットがわかったところで、具体的にどのような流れで進めていけばよいのかを詳しく解説します。
①プロダクトバックログを作成する
プロダクトバックログとは、プロダクトへの要望をまとめたリストです。顧客やユーザーへの価値が一覧化されています。プロダクトオーナーによって定義づけられることが多く、各項目には優先順位が付けられます。プロダクトバックログの作成時には、開発システムがユーザーにどのような価値を与えるのかを示す概念である「ユーザーストーリー」も必要です。プロダクトバックログは、発注者と開発者の共通言語としても用いるため、一般的な言葉で記述する必要があります。ユーザーの視点を見失わずに開発を行うために必要な要件です。
②スプリントプランニングの実施
次に、スプリントで実装する項目を一覧形式でまとめた「スプリント・バックログ」を作成するために「スプリントプランニングミーティング」を行います。スプリントでの目標を明確にし、仕様や項目、作業内容などをどのメンバーが担当するかを決め、工数見積もりを行います。スプリントバックログは、発注側には共有されません。開発側が開発のために作成します。
③デイリースクラムで情報を共有
デイリースクラムとは、毎日同じタイミングにメンバー全員で集まって行うミーティングです。進捗状況、問題の共有、作業予定などを話し合い、開発チーム全体でコミュニケーションを取ります。デイリースクラムの内容は、プロダクトオーナーに共有されます。
④スプリントレビューで確認や改善
スプリントレビューとは、スプリントの最終日にデモンストレーションを行い、プロダクトオーナーが成果物をチェックすることを指します。スプリントバックログの要求が満たされているのかを確認するのが目的です。問題が見つかれば、リリースは先送りとなります。営業担当、顧客、ステークホルダーなども参加すれば、さまざまな視点から条件を満たしているかを判断できます。
⑤スプリントレトロスペクティブで振り返る
スプリントレトロスペクティブとは、今回のスプリントの振り返りを行うミーティングです。スプリントの良かった点、悪かった点を振り返り、次回のスプリントへ向けてメンバー同士で議論し、課題を改善することが重要になります。場合によっては、次のスプリントのゴールを決める場合もあります。
スクラム開発に適している案件
スクラム開発は、常に更新が必要とされる運用型のWebサイトやアプリケーション開発に向いています。また、最終的な納期よりも品質を優先したい案件にも向いている開発手法です。要件定義がある程度は固まっているものの、残りの要件はプロジェクトの状況を見ながら並行して固めていきたいという場合にも向いています。
まとめ
スクラム開発は、コミュニケーションを重視したチーム主体の開発手法です。仕様変更への柔軟な対応ができ、スピーディーな開発や要求を反映させやすいというメリットがありますが、スケジュール全体が把握しづらい、メンバー編成に慎重さが求められるなどのデメリットもあります。ご紹介した特徴などを十分理解したうえで、スクラム開発に適した案件かどうかを見極めてください。
オフショア開発会社のリソースをうまく活用する
日本国内で優秀なエンジニアを確保するのは時間や投資コストの面などでハードルが高いのも事実であり、システム開発、さらにはその先のDXで課題を抱えている企業のすべてに適用できるアプローチではありません。
このため、弊社コウェルをはじめ、ベトナムで多数エンジニアを抱えるオフショア開発会社をうまく使い分けながら、テストや開発を進めていく方法も有効な選択肢のひとつです。
実際にどのように開発を進めていくのかについては大きく分けて2パターンが存在します。ひとつは、仕様書をもとにオフショア開発会社が決められた期間までに所定の成果物を完成させる「受託開発型」、もう一つはオフショア開発会社に在籍するエンジニアの中から、指定のメンバーを「専属チーム」として組成し、各メンバーのスキルや経験に応じて決められた人月単価(月額料金)が発生する「ラボ型」です。
オフショア開発会社と組んで海外で開発を進める場合、仕様書などの要件定義はもちろんこと、異なる言語や文化に起因するコミュニケーションギャップが生じるのは避けて通れない課題と言えます。このため、自社のパートナーとして適切な開発会社を選定する上では、それらのコミュニケーションギャップをいかに埋めながら、プロジェクトを推進していくことができるかどうかを見極める視点が欠かせません。
コウェルでは日本語能力の高いベトナム人エンジニアがテストや開発に従事する体制を基本としています。加えて、日本のお客様とテスト・開発の現場をつなぐ役目を果たす日本人ブリッジSEも多数在籍しており、日本人とベトナム人のエンジニアが協力しながらプロジェクトを管理、運営することでコミュニケーションを円滑にし、高い品質を実現できる体制を構築しています。
なお、コウェルに関する詳細資料は以下でダウンロードすることが可能です。また、具体的なご相談がございましたら、以下のお問い合わせからもお気軽にご連絡ください。
コウェルのサービスメニュー>>>
コウェルは、日本とベトナムから世界中のお客さまへ高品質なソフトウェアテスト・品質保証・オフショア開発サービスを提供しています。
コウェルの開発導入事例>>>
コウェルは情報通信、金融、流通・小売サービス、医療・ヘルスケアなど、さまざまな業界のお客様の導入を支援しています。