スクラム開発とは
スクラム開発とは何かについて、まずは解説します。ウォーターフォール開発との違いや、スクラム開発で重要となる、プロダクトバックログについても紹介しましょう。
スクラム開発の概念
スクラム開発とは、アジャイル開発の代表的な手法のことです。アジャイル開発における個々の役割をしっかり定め、効果を更にアップさせるよう改良されており、チームでのコミュニケーションがより取りやすくなっています。
スクラム開発では、少人数の開発チームを組んでプロジェクトを進めます。顧客から要件をヒアリングした後、2週間程度の短い期間で、ひとまず動かせるシステムを開発します。
その後顧客から「もっとこうして欲しい」というフィードバックをもらって、改善点をまとめます。改善点を基にシステムを修正し、システムの完成度を高めます。この一連の流れを繰り返すのがスクラム開発の基本です。
納期に関しては最初から決まっておらず、状況に応じて臨機応変に変更可能にしておきます。このスクラム開発という手法は、主にアメリカで主流となっていますが、日本でもWeb系ベンチャーを中心に、導入が増えています。
ウォーターフォール開発との違い
日本ではスクラム開発より、ウォーターフォール開発が主流です。ウォーターフォール開発とは、その名の通り、滝が流れるように一直線で要件定義から納品まで進める手法です。
ウォーターフォールでは、いつまでに何を行うか、スケジュールを厳密に決めます。また、最初の段階でシステムの仕様や機能を固め、その後変更することはありません。
ウォーターフォールの場合、プロジェクトの管理がしやすいなどのメリットはある反面、仕様変更に柔軟に対応できないデメリットがあります。その弱点を補うために発明されたのが、スクラム開発です。スクラム開発なら、顧客の要望にも柔軟に対応可能です。
プロダクトバックログとは
スクラム開発において必要不可欠なのが、プロダクトバックログです。プロダクトバックログとは、システムの機能や顧客の要望などをリスト化したものです。優先順位の高い順に書いていくのが基本であり、開発メンバーは上から順番に対応していきます。上位の項目ほど、開発内容を具体的に書く必要があるでしょう。
スクラム開発では、顧客からフィードバックを受ける度に、プロダクトバックログを修正しなくてはいけません。常に最新の状態に記述を保つ必要があります。
スクラム開発で必要な役割
スクラム開発は、いくつかの役割に分かれて行います。「プロダクトオーナー」、「スクラムマスター」、「開発担当者」の3つです。それぞれが自分の役割を理解し、プロジェクト成功に繋がるよう働かなくてはいけません。各役割の詳細について、解説していきましょう。
プロダクトオーナー
プロダクトオーナーは、プロダクトバックログを主に書く人です。顧客からヒアリングした内容を基に、システムに必要な機能および優先順位を決定します。変更内容は開発メンバーに正確に伝わるよう、分かりやすくプロダクトバックログを書かなくてはいけません。その代わり、開発には携わることなく、あくまでログの作成に専念します。
また、プロジェクトマネージャーとは異なり、開発メンバーの進捗管理なども行いません。顧客と開発メンバーの橋渡しに専念するのが、プロダクトオーナーの役割と言えます。
スクラムマスター
スクラムマスターは、スクラム開発におけるリーダー的存在です。開発メンバーにプロジェクトのルールや進め方を説明します。また、開発担当者が作業しやすいように配慮していくのも、重要な役割です。作業を進める上で障害となる物事があれば、それに対応する必要があります。
たとえば、顧客から無茶な要求をされた場合、スクラムマスターが上手く説得し、開発メンバーに負担をかけないようにします。このように、開発メンバーのバックアップがスクラムマスターの役割です。
開発担当者
プロダクトオーナーとスクラムマスター以外は、開発担当者となります。ウォーターフォール開発とは異なり、プログラマーやシステムエンジニアなど役割分担はせず、全員で設計から開発、テストまで行います。
そのため、開発メンバーはどれか1つだけでなく、開発工程全てを一通りこなせなくてはいけません。開発担当者の立場も、ウォーターフォール開発とは少し違う点は注意です。
スクラム開発のメリット
ここでは、スクラム開発の具体的メリットに触れていきます。これらのメリットがあるおかげで、スクラム開発は世界で評価されているのです。1つ1つのメリットについて、詳しく解説していきましょう。
顧客との認識のズレをなくせる
代表的なメリットは、顧客との認識のズレをなくせることです。スクラム開発では、短い期間で顧客にシステムを提示できます。そのため、もし顧客の要望とは違うものを開発してしまったとしても、すぐに軌道修正することが可能です。
一方でウォーターフォール開発では、顧客との認識のズレがだいぶ後になって発覚し、1から開発を作り直す事態になることが多くあります。
顧客はシステム開発について詳しくないため、自分の要望を上手く伝えられず、間違った認識が開発企業に伝わってしまうことは頻繁に起こりえます。このようなリスクを最小限に抑えられるのは、スクラム開発のメリットと言えるでしょう。
顧客に具体的なイメージを沸かせられる
実際に使えるアプリやツールを提示することで、顧客が本当に欲しいもののイメージが湧きやすくなります。すると「もっとこうして欲しい」という意見がどんどん出てくるでしょう。
最初の段階では「よく分からないからおまかせで作って欲しい」と言っていた方も、スクラム開発では徐々に注文を付けてくれるようになります。
最終的には、顧客が本当に欲しいものとほとんど一致するものができ上がるでしょう。そうなれば、顧客満足度が上がりリピーターとなってくれたり、新たな顧客獲得へと繋がったりするかもしれません。
進捗状況を把握しやすい
ウォーターフォール開発では、プロジェクトリーダーが開発メンバーの進捗を管理する必要があります。しかし、人数が多いと進捗が分からず、誰かが遅れていることに気が付かないこともあるでしょう。
一方でスクラム開発では、システムを完成させる度に開発状況の整理と今後の予定の見直しを行います。そのため、進捗状況を把握しやすいのです。スクラム開発なら遅れている箇所が分かりやすく、人材の増員などの対応がすぐに可能です。
スクラム開発のデメリット
ここからは、スクラム開発のデメリットを紹介します。スクラム開発は良いことばかりではありません。企業によっては、スクラム開発を導入するのが逆効果になってしまう場合もあります。デメリットに関してもきちんと把握することで、スクラム開発についての理解が深まるでしょう。
メンバーが役割を理解している必要がある
スクラム開発では、メンバーがそれぞれの役割を理解し、的確に動く必要があります。役割の理解が不十分だと、役割を果たさなかったり、余計なところに手を出したりする恐れがあるでしょう。
たとえば、プロダクトオーナーが打ち合わせに参加しなかったり、プロジェクトマネージャーのようになってしまったりすることがよくあります。
スクラム開発は短いスパンで成果物を出さないといけないため、役割と違うことをしている余裕はありません。プロジェクト終了後は、メンバーがそれぞれの役割をきちんと果たしていたか、評価し合う仕組みを設けることも重要でしょう。
顧客の負担が増えてしまう
スクラム開発の性質上、どうしても顧客の負担は増えてしまいます。顧客には定期的にフィードバックしてもらわなければいけません。また、改善的などをはっきり指摘するのが苦手な方もいるでしょう。
そのため、スクラム開発のやり方や目的について、事前に顧客に伝えておく必要があります。もちろん、スクラム開発の方が良いという顧客も多くいます。
短いスパンでリリースを繰り返さなくてはいけない
スクラム開発は、2週間程度の短い期間でリリースを繰り返す必要があります。そのため、プレッシャーを感じてしまう開発メンバーもいるでしょう。神経質な人の場合、プレッシャーを感じすぎてストレスが増えたり、開発でミスをしてしまったりする恐れがあります。
また、納期を優先するあまり、コミュニケーションをおろそかにしてしまう人もいるかもしれません。だからこそスクラム開発は、無理のない期間で行うこと、メンバーの心の状態にも気を配ること、コミュニケーションを重視することが重要です。
スクラム開発のメリット・デメリットを知ることで成功に繋がる
本記事は、スクラム開発について解説しました。スクラム開発とは何か、スクラム開発のメリット・デメリットがお分かり頂けたかと思います。スクラム開発は仕様変更が起こりやすいプロジェクトだったり、顧客の要望が曖昧だったりする場合に効果を発揮します。
反面、デメリットもあり、企業やプロジェクトによっては上手くいかないケースも多いです。特に、それぞれのメンバーが自分の役割を理解していないと、失敗する可能性も高くなります。
もし、今後スクラム開発が導入された企業に転職する場合、スクラム開発の特性を意識し、プロジェクト成功へ繋げるために自分が何をすべきかを考えていくのが重要と言えるでしょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから