- コラボレーター
- SELECK編集部
スクラム開発とは?アジャイル開発との違い、目的とメリット、導入事例までを徹底解説!
近年、ソフトウェア開発においてアジャイル開発を取り入れる企業が増加しており、SELECKでもこちらの記事で徹底解説しました。
アジャイル開発は機敏・迅速・柔軟なソフトウェア開発の手法の「総称」を指し、一例としてスクラム、XP、FDD、LeSSといったものがあります。
その中でも最も有名な開発手法が「スクラム開発」です。
スクラム開発では少人数のチームを編成し、「プロダクトオーナー」や「スクラムマスター」がそれぞれの責任を持ちながら、複数人のメンバーが短期間の開発サイクルを繰り返す形で開発を進めていきます。
この記事では、スクラム開発についてより理解を深めたいという方に向けて、具体的な手法や導入のメリット、スクラム開発を用いた実際の開発事例をご紹介します。ぜひご参考ください。
<目次>
- 【まずは定義から】スクラム開発とは?アジャイル開発との違いは?
- スクラム開発を導入する目的と、そのメリット
- スクラム開発を導入するために必要な役割は?
- スクラム開発のルールと、よく使われる用語
- 【事例5選】スクラム開発に取り組む企業のベストプラクティス
【まずは定義から】スクラム開発とは?アジャイル開発との違いは?
スクラム開発はアジャイル開発の一種です。そのため、まず先にアジャイル開発の説明をしなければなりません。
アジャイル開発とは、「要件定義→設計→実装→テスト→リリース」を1つのサイクルとして繰り返す開発手法です。
開発工程の上流から下流に沿って順番に開発を進める従来のウォーターフォール開発と比較すると、アジャイル開発では優先度の高い機能から完成させて順次リリースするため、その開発スピードの速さが1番のメリットとなります。(詳しくはこちらの記事をご参照ください)
そして、アジャイル開発の中にいくつかの開発手法があり、現在最も多くの企業で使われている手法が「スクラム開発」となります。
スクラム開発の主な特徴は、以下の2つです。
コミュニケーションを重視した少人数での開発
5~10名程度の少人数で構成されたチームで、メンバー同士が綿密にコミュニケーションをとりながら開発を進めます。チームが一体となって開発を進める様子がラグビーのスクラムに似ていることから「スクラム開発」と名付けられました。
なお、開発における「スクラム」という言葉は、1986年に野中郁次郎らが書いた「The New New Product Development Game」という論文で初めて用いられました。
従来のウォーターフォール開発では、進捗管理や開発などの役割を細かく分担していましたが、スクラム開発では、各メンバーに臨機応変に役割が割り振られます。そのため、各メンバー間でのコミュニケーションがより重要な開発手法と言えるでしょう。
全員がすべての役割を果たすことから、チーム内には固定のプロジェクトマネージャーは存在しません。状況に応じて、全員がプロジェクトマネージャー相当の役割を担う可能性もあります。
短期間のスプリントを繰り返しながら進行
スクラム開発では、要件定義からリリースまでのサイクルを「スプリント」と呼びます。1つのスプリントはおおよそ1カ月程度で、このスプリントを繰り返し行うことで、プロダクトの機能を充実させていきます。
スプリントを活用するメリットとしては、重要な機能を優先して開発できることが挙げられます。また、万が一リリース後に不具合が発覚しても、後のスプリントでクイックに修正するため、大きな支障を生みません。
スクラム開発を導入する目的と、そのメリット
開発者とプロダクトを使う顧客の双方にメリットがあることから、スクラム開発を導入する企業が増えています。
あらためてそのメリットをまとめると、主に以下のようなものがあります。
- 顧客の細かい要望に対応しやすい
- 正確な見積もりを立てやすい
- メンバーのスキルを最大限に発揮できる
- 属人的な作業を削減できる
まず、あらかじめリリース後に仕様の変更が必要だとわかっているケースでは、開発過程において細やかな修正が可能なスクラム開発が向いています。顧客の要望に対して、双方の認識のずれを無くしながら、短いサイクルで開発を進められるでしょう。
また、スクラム開発ではスプリント単位で開発する機能の見積もりができるため、精度高く作業工数を予測することが可能です。正確な見積もりを立てやすいということは、顧客にとっても重要なポイントとなります。
そして、スクラム開発では、ウォーターフォール開発のように役割が固定されない傾向にあり、メンバー全員が幅広い役割を担います。
これによって、進捗管理やマネジメントなど、さまざまな役割に関するスキル向上が期待できると共に、全員が流動的に業務を経験する中で属人的な作業を減らすこともできるでしょう。
スクラム開発を導入するために必要な役割は?
スクラム開発を行うメンバーは、大きく3つの役割に分けられます。注目すべきは、役割の中にプロジェクトリーダーが存在しないことです。
ここでは、各役割の特徴を解説します。
プロダクトオーナー
プロダクトオーナーは、成果物に対する明確なビジョン掲げ、プロダクトの価値を最大限まで高める責任を担っています。実質的なプロジェクトの最高責任者ともいえるでしょう。
要件定義を把握してスケジュールの管理を行い、それらをほかのメンバーと共有します。
スクラムマスター
スクラムマスターは、プロダクトオーナーの支援や、トラブル発生時の解決役など、プロジェクト全体の調整や進行のサポートをします。開発者へのアドバイスや、進捗・品質管理など、開発の指揮を取るケースもあります。
なお、スクラムマスターが前面に出るような状況は、プロジェクトに何らかの問題が発生していることを意味するため、好ましくありません。あくまでも縁の下の力持ちのような存在です。
開発者
開発者は、プロダクトオーナーやスクラムマスターの指示に従い、実際に開発を進めるメンバーで、チームの大半を占めています。開発の実働部隊ともいえるでしょう。
開発手法の選定や、トラブル発生時の対応など、開発業務に関するすべての役割を担います。
スクラム開発のルールと、よく使われる用語
スクラム開発のルールは、「スクラムガイド」というルールブックによって定義されています。
本ガイドによると、スクラムは複雑な問題を扱うのに適しており、「3つのロール・5つのイベント・3つの作成物(3-5-3)」で構成されていると記されています。
ここでは、それぞれの内容について詳しく解説していきます。
(出典:https://www.slideshare.net/SrinivasanGanesan10/overview-of-agile-methodology-scrum)
3つのロール
ロールとは人の役割のことで、前項で解説した「プロダクトオーナー・スクラムマスター・開発者」の3つを指します。詳しい説明は前項をご覧ください。
5つのイベント
イベントとは、プロジェクトの計画作成や、実装した機能の動作確認、反省会など、メンバー間の情報共有を目的とする会議を指します。具体的には、以下の5つを表しています。
1.スプリント
スプリントとは、プロジェクトを機能や項目で区切った単位のことで、1つのスプリント内で1つの機能を実装します。スプリントを最長でも1ヵ月以内に設定することがスクラム開発の特徴です。2.スプリントプランニング
スプリント内での計画のことです。「スプリントが目指すべきゴールは何か」「目標達成に向けて何に取り組むか」「どう実現するのか」といった内容とスケジュールを共同で計画します。3.デイリースクラム
スプリントの進捗の確認や、トラブルに応じた対策を確認するミーティングです。今後の作業計画や、スプリントゴールに対する進捗確認をすることで、計画との乖離や作業を進めるうえでの障害が明らかになるため、軌道修正ができます。4.スプリントレビュー
スプリント期間の終盤に、実装した機能についてレビューを行うことです。のちに解説するプロダクトバックログに、ステークホルダー(顧客)からフィードバックをもらった修正内容や必要な項目を反映したり、優先順位の変更を行ったりします。5.スプリントレトロスペクティブ
スプリントの最後に、成果よりもスクラムチームがどう動いたかなどの過程に焦点を当てて、良かった点や課題、解決できた事例などを振り返ります。今後のスプリントをより効果的に実施し、成果物の品質を上げるためにも欠かせないプロセスです。
▼スクラムの全体像(出典:Scrum.org)
3つの作成物
スクラムでは開発では、プロジェクト全体を通じて以下の3つの作成物(成果物)が生まれます。
1.プロダクトバックログ
より優れた成果物を生み出すために必要なことをリスト化し、それに対して優先順位を付加したものです。スプリントを何度も繰り返すうちに、さまざまな変更が加えられます。2.スプリントバックログ
スプリント内において、開発者が行うべき作業を可視化したものです。スプリント期間中に常に更新され、1日以内の作業項目に細分化することで、進捗状況が確認できます。スプリントバックログは以下の3つから構成されています。
- スプリントゴール(why)
- スプリントで選択されたプロダクトバックログアイテム(what)
- インクリメントを提供するための実行計画(how)
3.インクリメント
インクリメントとは、実際に開発者が作成した成果物のことです。最新のスプリントで完成した成果物を、以前のスプリントで完成させた成果物に結合して、納品できる状態にします。すべてのインクリメントが正常に動作し、品質が保証されるまで検証を繰り返します。
【事例5選】スクラム開発に取り組む企業のベストプラクティス
ここでは、実際にスクラム開発の手法を取り入れて成功した事例を5つご紹介します。
大規模なスクラム開発体制「LeSS:Large-Scale Scrum」を導入 / Retty
日本最大級の実名型グルメサービス「Retty」を展開するRetty株式会社。
2019年時点の同社の開発体制は「検索」「SEO」「ネット予約」といった目的別のチームに分かれ、それぞれで部分最適を進めていました。チームが個別に動くことで、プロダクト全体の優先順位がつけられなくなる、ユーザー体験のズレが発生するなどの課題が生じたといいます。
そこで同社ではより良い開発体制の構築を目的に、大規模なスクラム開発体制「LeSS:Large-Scale Scrum」を導入しました。
組織全体でひとつのスクラムを回すという考え方を持つLeSSでは、メンバーがそれぞれの目的別に動くのではなく、幅広い領域について協力し合いながら開発を進めます。
このLeSSの導入によって、同社では「チーム間のコラボレーションの意識の向上」「事業全体で優先したいもの集中する」といった変化が生まれたそうです。
また結果として、「ユーザーのニーズ」に焦点をあてた議論が増え、ユーザーにより早く価値を届けることができるようにもなりました。
同社のLeSSへの移行が良い影響を与えたプロジェクトとしては、コロナ禍のGo To Eatキャンペーンへの対応が挙げられます。全社の最優先事項に位置づけ、みんなでスクラムを回すことで、無事にリリースまでたどり着くことが出来たといいます。
こちらの記事ではより詳しくRetty社の取り組みをお読みいただけます:
「ひとつのプロダクトを全員で作る」大規模スクラム(LeSS)を導入したRetty開発組織の進化
デザイナー、エンジニア、PdMが集結したレーン制スクラム / クラウドサイン
弁護士ドットコム株式会社が2015年より展開する、契約マネジメントプラットフォーム「クラウドサイン」。
同サービスを開発をする際には、デザイナー、エンジニア、PdM数名ずつから組成されるLane(レーン)と呼ばれるスクラムチームで開発を進めているそうです。
Laneのメンバーは基本的には固定されていて、四半期や半期、長い場合は年間を通して一緒に動くことで、Laneの練度やメンバー同士の信頼関係を上げることを意図しているといいます。
▼クラウドサインの製品開発プロセス(同社提供)
同社の製品開発プロセスでは、事業戦略と製品戦略を定めた上で、全体の優先順位を決めるエピックリスト(ロードマップ)の整理とリストの仮説検証を経て、スクラム開発プロセスに入っていくそうです。
エピックリストは、「どの順番でお客様の課題を解決していくか」という優先順位を表したリストです。
その中で、解像度が低い部分についてはユーザーヒアリングや分析といった検証を行いながら、課題の深掘りと構造を見極め、さらにその課題に対するソリューションや狙う市場、顧客ペルソナ、初期リリース時点の機能スコープを定めていきます。
そして、ユーザーストーリーマッピングから初期スコープを切った、ユーザーストーリーリストをもって、アジャイル開発へと進んでいきます。
アジャイル開発では、仮説検証プロセス担当のPdMからアジャイル開発プロセス担当のPdMが、ユーザーストーリーリストを受け取るところからスタートします。そのPdMは、Laneのプロダクトオーナーとして、ユーザーストーリーリストをプロダクトバックログに転換し、アジャイル開発を推進していきます。
そして、無事にデリバリーが完了したら、リリース後の検証を経て、またエピックリストに新しい課題として戻っていく…というサイクルになります。基本的にはこのプロセスに沿って開発しています。
こちらの記事ではより詳しくクラウドサインの取り組みをお読みいただけます:
スケールするプロダクトマネジメント組織を作るには? クラウドサインに学ぶPdM育成術
2016年、電力事業参入のアプリ構築からスクラム開発を導入 / KDDI
KDDI株式会社は、2013年からアジャイル開発に取り組み、2016年にはアジャイル開発センターを社内に設立し、現在はバックオフィス業務でもアジャイルの手法を採用しています。
そんな同社では、2016年4月の電力小売りの自由化を機に電力事業への参入を決断。他社サービスとの差別化を図るべくアプリ開発にも力を入れ始めます。しかし、与えられた時間が非常に少なく、短期間での開発が求められたといいます。
そこで、電力事業のアプリ構築にあたりAWSとスクラム開発手法を取り入れ、通常8ヶ月はかかる開発をわずか4ヶ月間で成功させたそうです。
プロジェクトにおいては「優先順位の明確化」「必要最小限の開発」「判断のスピード」を重視し、開発にかかるコストも従来の見積もりと比べて約67%削減。
開発者と企画者が共同で作業をすることでチームワークも高まり、メンバーの仕事への満足度やモチベーションも高まったとのことです。
(出典:https://scruminc.jp/scrum-consulting-and-coaching/casestudies/kddi/)
社員9割がスクラム開発を実践 / トヨタグループ・TRI-AD
トヨタグループは自動運転のソフトウェア開発のために、2018年3月に新会社を立ち上げました。この新会社が「トヨタ・リサーチ・インスティテュート・アドバンスト・デベロップメント株式会社(TRI-AD)」です。
同社は従来のエンジンやブレーキなどの開発をウォーターフォール型で行っていましたが、自動運転はAIデータの更新頻度が高いため、臨機応変に対応できるスクラム開発が最適だったといいます。
そのことから、同社ではほぼ全ての社員がスクラムの研修を受け、9割の社員がスクラム開発に携わっています。
また、トヨタのカルチャーとスクラム開発の親和性は非常に高いといえます。例えば、トヨタの工場では朝と夕方に毎日ミーティングが開催されますが、これはデイリースクラムと同じ要領といえるでしょう。加えて、チームで協力しながら課題の早期解決を図る点も、トヨタのスタイルと重なる部分があります。
同社ではスクラムの導入にあたり、「顧客が期待する価値を把握する」とともに、「チーム全体で意思決定に対する意識を変えていくこと」を重視したとのこと。
スクラム導入の効果としては「情報共有の効率化」を通して、「優先の順位づけ」が明確になったことが挙げられています。また、チームワークがより強固なものとなり、社員の満足度も向上したそうです。
(出典:https://scruminc.jp/scrum-consulting-and-coaching/casestudies/tri-ad/)
スプリントは1週間。素早く直せるシステム設計も実行 / AnyMind Group
2016年の創業後、世界13ヵ国、17拠点で事業を展開するAnyMind Group社。
ブランドの生産・EC構築・マーケティング・物流をワンストップで支援するプラットフォームを提供する同社では、「Product Developmentチーム」が7つのプロダクトの開発を担っています。
開発においてはスピーディーに成果を発揮することを何よりも重視し、「チームは小さく」「スプリント(開発サイクル)は1週間で回す」「マネジメントは現場の邪魔をしない」「個人よりチームの目標達成にフォーカスする」といった方針のもとで組織づくりを行っているといいます。
Product Developmentにおいては、エンジニアやプロダクトマネジャーがプロダクトごとにチームを編成し、それぞれが開発を行っています。これを、社内では「縦の軸」と呼んでいます。
それぞれのチームは、多くても15人、少ないチームでは3、4人ほどです。エンジニアって、一人ひとりが独立して動けるわけじゃないんですよね。プロダクトはひとつなので、最終的にはひとつのソースコードにマージする必要がある。
人数が増えるとコミュニケーションコストも増え、整合性も取れなくなるので、増えてきたら分割することになります。
マネジメントに関しては、そもそも多数のプロダクトを抱えるエンジニア組織を束ねることを考えると、「マネージャーが全部見る」というのは無理なんですね。ですから基本的には、現場が何でも決定していくことを良しとする、という大前提があります。
なので、あくまでも現場の意思決定の邪魔をしない、彼らがタスクに集中できるように整える、というサーバントリーダーシップに近いことを意識していますね。
こちらの記事ではより詳しくAnyMind Group社の取り組みをお読みいただけます:
創業5年で13ヵ国に展開!AnyMind社の「現場の意思決定を邪魔しない」開発チームの在り方
今回は、アジャイル開発の一種である「スクラム開発」をテーマに、その定義から各社の事例までご紹介させていただきましたが、いかがでしたでしょうか?
本記事が、スクラム開発についての理解を深める機会になれば幸いです。(了)