多くの企業がDXに取り組んでいるなか、注目を浴びている開発手法としてスクラム開発があります。スクラム開発はアジャイル開発手法のひとつです。ウォーターフォールとはプロジェクトの進め方が大きく異なるため、よく知らずに導入すると失敗してしまうことが少なくありません。
スクラム開発を導入するには、事前に体系的な知識を学び、自社のプロジェクトに合わせ、どのように適用するのかを考えることが最初のステップです。
ここでは、スクラム開発とは何か、導入にあたって必要となる基本的な知識に加え、実際に導入する前に読んでおくと良いバイブルとなる書籍を紹介します。
目次
アジャイル開発とスクラム開発
スクラム開発はアジャイル開発の手法のひとつのため、ここではアジャイル開発と、スクラム開発について解説します。
アジャイル開発とは
アジャイル開発は、「設計、開発、テスト、リリース」を数週間から1ヶ月程度の短い期間で行い、これを繰り返しながらプロジェクトを進める方法です。
アジャイル開発が大切にする指針として、下記があります。
『私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。 』
アジャイル開発は、ただプロジェクトの成功率を上げる手法ではなく、顧客やユーザにとって正しいプロダクトを生み出すための手法で、上記のアジャイルソフトウェア開発宣言に沿うためにさまざまなフレームワークが用意されています。
アジャイルの開発手法として、スクラム開発(Scrum)の他に、エクストリームプログラミング(XP)、リーン開発、カンバンなどがあります。
スクラム開発とは
スクラム開発の「スクラム」の名称の由来は、ラグビーのスクラムからきており、スクラムを組むかのように、開発においてもチーム力を大事にするということを象徴しています。
スクラムガイドでは、スクラムを下記のように定義しています。
『スクラムとは、複雑な問題に対応する適応型のソリューションを通じて、⼈々、チーム、組織が価値を⽣み出すための軽量級フレームワークである。』
また、プロジェクトは下記を価値基準に進めるとしています。
『確約(Commitment)、集中(Focus)、公開(Openness)、尊敬(Respect)、勇気(Courage)』
スクラムガイドはスクラム開発の定義、全体像、具体的な進め方を解説しているため、一読することをおすすめします。
参照:スクラムガイド
【無料資料】工数管理を軸にした生産性向上・業務改善の5つのステップ
スクラム開発のメリット・デメリット
スクラム開発は、どんなプロジェクトやチームにも適しているかというと、そうではありません。メリット・デメリットを理解したうえで、導入を判断する必要があるでしょう。
メリット
ここでは代表的なメリット3点について解説します。
メリット1.顧客の要求に応える柔軟性の高い開発ができる
「設計、開発、テスト、リリース」を小さく繰り返すため、軌道修正がききやすく、柔軟性の高い開発が可能です。ビジネスを取り巻く環境は逐次変化するため、プロジェクト進行中に方向転換を行うこともあります。スクラム開発は変化に対応しやすいことが大きなメリットです。
メリット2.最後に炎上するリスクを下げることができる
例えば、ウォーターフォール開発では、テストの段階になって仕様の検討不足や認識違いの問題が発覚したり、大量のバグが発生したりなど、プロジェクトの後工程で炎上するリスクを抱えています。スクラム開発では、短い期間でテストや顧客への確認まで行うため、炎上のリスクをおさえることができます。
メリット3.生産性の向上が期待できる
スクラム開発では、開発サイクル(スプリント)ごとに「スプリント・レトロスペクティブ」というふりかえりを行います。レトロスペクティブでプロジェクトやチームの課題や問題点を明らかにし、それらに対応していくことで開発の効率化やスキルの向上が図られ、生産性の向上が期待できます。
デメリット
ここでは代表的なデメリット3点について解説します。
デメリット1.スコープクリープが発生しやすい
スクラム開発では、プロダクトバックログという優先順位のついたタスクリストに基づきプロジェクトを進めます。タスクや優先順位を柔軟に変更するため、開発責任者(スクラムマスター)が「No」と顧客に言える姿勢やスキルがなければ、要求やタスクが膨れ上がり、スコープクリープが発生しやすい状態になります。
デメリット2.人により、向き不向きがあると言われている
スクラム開発ではチームメンバー同士が密にコミュニケーションを取ります。毎日行われるデイリースクラム(チームのミーティング)やスプリントプランニング(次工程の計画)、レトロスペクティブ(ふりかえり)など、ミーティングをこまめに行う必要があります。また、ロール(役割)に関係なく、自分ごととして主体的な行動を取りプロジェクトに参画する必要があります。
そのため、コミュニケーションが不得手な人や、受け身で仕事を行いたい人には向かないと言われています。
デメリット3.大規模プロジェクトへの適用にはスキルが必要
スクラム開発はコミュニケーションを多く取ることや、次項で解説するチーム構成のありかたから、比較的小規模のチームに適しています。大規模開発でもスクラム・オブ・スクラムというスタイルでプロジェクトの進行は可能ですが、進行・管理が難しくなるためスクラムマスターのスキルがなければ失敗する確率が高いです。
【無料資料】プロジェクト生産性を高めて利益を最大化するには?
スクラム開発のチーム構成と役割
スクラム開発には3つのロール(役割)があります。
プロダクトオーナー
開発するプロダクトの方向性を決め、何を開発するのかなどプロジェクトに関わる最終決定権を持ちます。優先順位の要求もプロダクトオーナーが権利を持ちます。
スクラムマスター
プロジェクトマネージャーのようなポジションでプロダクトオーナーとコミュニケーションを取りプロジェクトの進行を担います。開発メンバーが働きやすいように立ち回ります。
開発者
開発者はプロダクトオーナーやスクラムマスターの支持に従い、実際に手を動かし開発するメンバーです。スプリントバックログ(優先順位の入ったタスクリスト)を作成する役割も担います。
スクラム開発で知っておくべき用語
スクラム開発には、進行する上で必ず覚えておくべき用語があります。ここであげる用語は必ず使うことになるため、言葉と定義を理解しておきましょう。
スプリント
設計、開発、リリース、テストの1サイクルをスプリントといいます。スプリントは固定の期間にする必要があり、長くても1ヶ月にとどめます。
スプリントの中で、開発、テスト、リリース、レビュー、次のスプリント計画、ふりかえりまでを完了させます。
スプリントプランニング
スプリント内でどの作業タスクを行うのかを計画することをいいます。
デイリースクラム
朝会や夕会など、1日1回チームが行う短い打合せを言います。
スプリント・レトロスペクティブ
スプリントのふりかえりのことを言います。ここで使われる手法としてはOKRやKPTがあります。
プロダクトバックログ
プロジェクト全体で行う優先度がつけられたタスクリストのことを言います。プロジェクトが本格的に始動する前までにリストを洗い出し、優先順位付けまでを行います。
スプリントレビュー
スプリントで開発したものが意図した通りに動くか、仕様の認識違いなどがないか確認することを言います。
スクラム開発の進め方、スプリントの流れ
スクラム開発はどのように進めるのでしょうか。ここではスクラム開発の大まかな流れを解説します。
バックログの作成
開発すべき作業タスクのリストを優先順位付きで作成します。プロジェクトの状況次第で作業タスクの増減が発生し、優先順位も変わるため、逐次アップデートを行います。
スプリントプランニング(スプリント計画)
バックログの中から、スプリントで行うべき作業タスクを決定します。ここでは、スプリントで生み出すべき価値(機能)をどのような手段、方法で実現するのかをチームで確認・協議し、認識を合わせます。
作業の着手とデイリースクラム
スプリントプランニングができたら、作業に着手します。また、チームは、デイリースクラムという短いミーティングを毎日決まった場所、決まった時間に行います。その日に行う作業や抱えている課題などをチームと共有します。
スプリントレビュー
スプリントで開発した成果のレビューを行い、対応すべきことがある場合は新たなタスクとしてバックログに追加するなどを行います。
スプリントレトロスペクティブ
スプリントのふりかえりを行います。スプリント中にうまくいったことや発生した問題、その問題にどのように対処したか、またはしなかったかについてチームでふりかえり、今後すべきことがあるかなどを話します。
スクラム開発で注意すべき6つのポイント
ポイント1.適正なチームメンバーを選ぶ
デメリットでも触れたように、チームメンバーには向き不向きがあります。可能な限り、アジャイル開発やスクラム開発の経験者や興味を持っている人、アジャイル開発で言われる「カイゼン」が好きな人を集めることができれば、プロジェクトの成功率は上がるでしょう。潤沢なリソースがない場合、少なくとも1~2名、スクラム開発の経験者で、軸を理解し、リードできる人を置くべきです。
ポイント2.スプリントの作業量を適正な量に保つ
スケジュールありきで、スプリント内に作業タスクを詰め込みすぎるとチームが疲弊し、品質の低下や、スクラムがうまくまわらない状態に陥ります。
逆に、余裕をもたせた作業ボリュームは一見良いように感じますが、緊張感がなくなるという点と、チームの正確な生産能力がわからなくなるため、マイナスに働きます。
ポイント3.ベロシティを計る
1スプリント内でどのくらいの作業タスクを消化できるチームなのか、プロジェクトの開始からベロシティ(平均作業量)を計ります。これにより、プロジェクトの終了可能時期の予測ができ、また、チームの生産性向上度合いも数字で確認することができます。
ポイント4.レトロスペクティブを省略しない
プロジェクトで問題が発生したり、稼働が高い状況になったりすることがありますが、そのような状況で一番削られやすいものがレトロスペクティブです。しかし、問題が発生している状況だからこそ、原因と解決策を探るためにもレトロスペクティブが重要になってきます。
また、スクラム開発が初めての場合、チームメンバーにレトロスペクティブの効果や必要性が浸透していないと、開催しにくい雰囲気になることがありますが、根気よく、また理解されるよう工夫して開催を続ける必要があります。
ポイント5.できることから始める
スクラム開発で使うテクニックや手法を一度に取り入れることは難しい場合があります。プロジェクトの状況や内容、チームの成熟度によって、必要なときに必要なやり方を順次取り入れていくと混乱なく進み、失敗のリスクを下げることができます。
ポイント6.アジャイルコーチの導入も検討する
スクラム開発が未経験のチームの場合、いきなりスクラム開発を取り入れるのは大きなチャレンジになります。プロジェクトをうまく進めながらチームをスクラム開発にスムーズに誘導するにはアジャイルコーチの導入が最適で、成功確率も格段に上がると言えます。
スクラム開発を進める際の必読書5選
ここでは、これからスクラム開発を始める方にとっては必読書ともいえる書籍を紹介します。いずれもアジャイル開発、スクラム開発のバイブルとされています。
SCRUM BOOT CAMP THE BOOK【増補改訂版】
SCRUM BOOT CAMP THE BOOKは、“はじめて「スクラム」をやることになったら読む本”として定番の書籍です。
実際の開発現場にどう適用すればよいのか、架空の開発現場を題材に、さまざまなシチュエーションでスクラム開発でのふるまい方や対処のしかたが理解できます。
アジャイルサムライ
アジャイルサムライは、アジャイル開発手法をどのように導入すれば良いのかをわかりやすく解説しています。アジャイル開発の考え方、見積もりのしかた、プロジェクトの運営のしかた、テストの方法などを親しみやすい図や言葉を用いてわかりやすく解説しています。
アジャイルな見積と計画づくり
アジャイルな見積と計画づくりは、アジャイル開発におけるポイント見積もりの考え方や方法、ノウハウを分かりやすく解説しています。従来の工数見積ではなく、アジャイル開発に即した見積方法にすることで、プロジェクトの現実に即した、誤差の少ない計画づくりができるようになるための本です。
アジャイル開発とスクラム
アジャイル開発とスクラムは、アジャイル開発とスクラムを体系的に解説しています。スクラムで用いる様々な手法の詳しい解説に加え、ビジネスの観点で見たスクラムが適用できる範囲の考察、スクラムを行うリーダーシップ像などにも触れ、スクラムを体系的に詳しく知ることができます。
KAIZEN JOURNEY
KAIZEN JOURNYは、現在の日本企業の開発現場を前提にした内容になっているため、イメージしやすく、取り入れやすいノウハウが詰まった書籍です。架空の現場のストーリーに沿って、考え方とプラクティスを学ぶことができます。業務改善の手法やマネジメント手法まで解説されているため、これから始める人にとどまらず、スキルアップしたい方にとっても良い本です。
【無料資料】最適な工数管理方法の選び方と管理ツールの費用対効果
まとめ
ここまで、スクラム開発とはなにか、メリット・デメリット、導入の際にどのようにすべきかを解説してきました。スクラム開発は変化と柔軟性、スピードが求められる昨今の開発事情対応できることに加え、DXを進める際にも有効な開発手法です。スクラム開発を成功させるには、導入前に体系的な知識を学んだうえで進めることが成功の近道といえるでしょう。