スクラム開発を徹底解説!メリット・デメリットも紹介
この記事ではスクラム開発について、詳しく解説します。より良い開発に活かしてください。
この記事ではスクラム開発について、詳しく解説します。より良い開発に活かしてください。
スキルアップ
2022/06/02 UP
- 開発
- 管理
- システムエンジニア
スクラム開発は近年のシステムでよく採用されていますが、他の開発手法とは異なる独特の特徴があります。スムーズな開発には、スクラム開発の特徴を把握することが欠かせません。またメリットやデメリットがあることも、知っておきたいポイントです。
この記事ではスクラム開発について、詳しく解説します。より良い開発に活かしてください。
なお、よく比較されるウォーターフォールモデルとアジャイル開発、プロトタイプモデルについての詳細は、こちらの記事をご覧ください。
今こそ知っておきたい「ウォーターフォールモデル」を徹底解説
アジャイル開発とはどのような開発手法か徹底解説
プロトタイプモデルとは?メリットやデメリット、他の開発手法との相違点も解説
スクラム開発とは?
まずスクラム開発の概要について、詳しく確認していきましょう。
スクラム開発の特徴
スクラム開発には、開発体制や開発の進め方に特徴があります。プロジェクトをスムーズに進めるうえで、以下に挙げる特徴の把握は重要です。
・コミュニケーションを重視し、少人数で開発を進める手法
スクラム開発は、5~10名といった少人数のチームで進められます。ラグビーのように、メンバーどうしが密にコミュニケーションを取りながらプロジェクトを進める方法です。顧客を巻き込むこと、メンバーの強みを活かしつつ全員がすべてのフェーズに携わることも特徴に挙げられます。
開発チームには、プロジェクトマネージャーはいません。進捗やスケジュール管理は、開発チーム自身で行ないます。またスクラムの仕組みを円滑に実行することを目的とした、スクラムマスターの役割が設けられていることも特徴に挙げられます。
・短期間のスプリントを繰り返して開発を進める
スクラム開発は要件を「スプリント」と呼ばれる単位に分け、開発を進めます。1つのスプリントは、4週間以内。このなかに、要件定義から設計、実装、テスト、リリースといった一連の工程が含まれます。スプリントを繰り返すことで、顧客が使える機能も徐々に増えるというわけです。
それぞれのスプリントで開発する機能は、「スプリントプランニング」の工程で選ばれます。機能の選定とタスクへの分割、メンバーへの割り当てを同時に行なうことが特徴の工程です。
スクラム開発はアジャイル開発に含まれる
スクラム開発は、アジャイル開発に含まれる代表的な開発手法です。それは、以下の特徴を持っていることが理由です。
・短期間の開発を繰り返し行ない、徐々に機能を増やす
・重要な機能から順に開発を進めることが可能
・リリース後に不具合があった場合も、あとのスプリントで修正可能
スクラム開発で重要な3つの役割
スクラムチームに所属するメンバーは、大きく3つの役割に分かれます。それぞれの役割を確認していきましょう。特に他の開発手法でよくみられる「プロジェクトリーダー」がいないことには注意が必要です。
プロダクトオーナー
プロダクトオーナーは「何を開発するか決める人」と定義されています。プロダクトバックログを管理し優先順位をつけるとともに、プロダクトの価値を最大化することが職責です。また顧客との折衝も行ないます。
設計やコーディング、テストなどの作業には直接関わりませんが、進捗状況は把握する必要があります。またスプリントプランニングの際には開発チームが納得できるよう、機能やビジョンを示すことも重要な業務の一つです。
開発チーム
開発チームはスクラム開発における実働部隊で、3名から9名で構成されます。以下のとおり、開発業務に関するすべての役割を担うことは特徴的なポイントです。
・開発手法の選定
・開発する機能の決定
・作業見積りとタスクの割り振り、スケジュールの決定
・進捗管理
・問題が発生した際の対応や調査
開発チームは少数精鋭です。各メンバーはそれぞれが持つ強みを発揮しつつ、すべての業務を担当する「多能工」であることが求められます。
スクラムマスター
スクラムマスターはプロジェクト全体の調整役。スクラムの仕組みを円滑に実行し、開発をスムーズに行なえるよう支援する役割を担います。おもな仕事を、以下に挙げました。
・スクラムのルールや進め方を決め、チーム全体に浸透させる
・開発チームやプロダクトオーナーを支援する
・開発チームが解決できない課題に取り組む
・スクラムの仕組みや進め方を改善する
スクラムマスターが前面に立つ状況は、あまり好ましいとはいえません。「縁の下の力持ち」のように、側面から支援する状況が望ましいといえます。
スクラム開発の流れ
スクラム開発の進め方は、他の開発手法と大きく異なる点があります。ここからはスクラム開発の流れを示します。どのような流れで進められるか、しっかり確認していきましょう。
プロダクトバックログの作成
スクラム開発で作られるシステムは、以下の項目を記したプロダクトバックログの作成からスタートします。
・プロダクトの提供をもって実現する目標
・顧客が求める要求や要望の一覧
管理者はプロダクトオーナーであり、内容は顧客と共有されます。
要求や要望の項目には顧客や開発チームと協議のうえ、優先順位がつけられます。一方で順位は、固定されているものではありません。優先度は状況に応じ、適宜変更されます。
スプリントプランニング
スプリントプランニングは、プロダクトバックログから今回のスプリントで実装すべき事項(スプリントバックログ)を抜き出す工程です。参加者はスクラムチームのメンバー全員が対象。スプリントの期間は1~4週間と限られるため、どの項目を含めるか、活発な議論が行なわれる場合もあります。
加えてスプリントゴールの設定やタスクへの分割、開発計画の作成、担当者へのアサインも行なわれます。スプリントの成否を分ける、重要なフェーズといえるでしょう。
開発とデイリースクラム
開発のフェーズではスプリントバックログの各項目について、以下の作業を行ないます。
・要求内容の確認
・設計
・実装
・テスト
スクラム開発では、各メンバーがすべての項目を担当することが特徴です。不足するスキルは、メンバー間でシェアやサポートが行なわれます。
日々の進捗や課題は、15分程度のデイリースクラム(朝会)で共有されます。状況に応じた対処方法は、開発チームで主体的に決めることが原則です。もし開発チームで解決できない問題が生じた場合は、スクラムマスターによる支援が行なわれます。
スプリントレビュー
スプリントレビューはスプリントの終わりで行なわれる、開発したプロダクトを確認するフェーズです。顧客や関係者を集め、デモンストレーションを行なうケースが多いでしょう。
顧客にとっては使える機能が増え、より良いシステムになったことを実感する機会となります。また開発チームにとっては、成果をアピールできる数少ない機会です。
スプリントレビューは、成果にフォーカスすることが特徴です。このため、動作するプロダクトを用いて実施しなければなりません。
スプリントレトロスペクティブ
スプリントレトロスペクティブはプロセスに着目し、良かったことや課題を話し合う会議です。「振り返り」や「反省会」とも呼ばれ、以下の実現を目指して行なわれます。
・良かった項目は全員で共有し、他のメンバーも実践する
・課題となる項目についてはどうすれば良いか話し合い、改善する
あくまでも、より良い開発の実現が目的であることを認識してください。失敗した方を糾弾する会ではないことに注意が必要です。
スクラム開発のメリット・デメリット
開発プロジェクトでよく使われるスクラム開発ですが、万能ではありません。本記事の最後では、スクラム開発のメリットとデメリットについて取り上げます。
スクラム開発を用いるメリット
スクラム開発の活用で得られるメリットは多数あります。まず、顧客に関わるメリットを確認していきましょう。
・1つのスプリントは短期間であるため、正確な見積もりを立てやすい
・重要な、または早く使いたい機能は早期にリリースでき、実務に活かせる
・仕様変更には柔軟に、不具合の修正には迅速に対応可能
一方で開発する側には、以下のメリットがあります。
・指示待ちの姿勢をなくし、個々のスキルを最大限に発揮できる
・メンバーのスキル向上を図れる
・属人的な作業を削減できる
・手戻りを防ぐことが可能
スクラム開発のデメリット
スクラム開発には、以下のデメリットがあることに注意が必要です。
・少数精鋭で進めるため、技術者のスキルにより品質が左右されやすい
・仕様変更が相次ぐことにより、プロジェクトの範囲が肥大化しやすい
・トライアンドエラーが許されないシステムの開発には不向き
上記を踏まえたうえで、開発手法を選ぶことが重要です。
スクラム開発をしっかり理解し、より良い開発の実現を
スクラム開発は顧客の要望に沿ったシステムを素早く提供する点で、優れた開発手法の一つです。またスキルアップを目指せる点は、技術者にとってうれしいメリットといえるでしょう。特徴やメリット・デメリットをしっかり理解したうえで、より良い開発の実現に活かしましょう。