スクラムとは?~各工程について解説~

 2021.12.08  株式会社システムインテグレータ

短期間に設計・開発・テストを繰り返して開発を進めるソフトウェア開発の概念として「アジャイル開発」があります。このアジャイル開発を実現する手法は複数あり、その代表的な手法の1つが「スクラム」です。アジャイル開発を実現したいと考える人は、聞いたことがある人もいるかもしれません。

今回はアジャイル開発の手法の1つ「スクラム」について解説していきます。

スクラムとは?

スクラムの語源は、ラグビーで登場する複数の選手が肩を組み、相手チームの選手と押し合いボールを進めるプレイのことです。ここからもわかるように、スクラムはチームワークを重視したアジャイル開発手法です。スクラムのルールも定義されており、スクラムガイドが公開されています。

これらを実現するスクラムは、どのようなものか、解説します。

2つのバックログ

スクラムの特長の1つは、2つのバックログを使用する点です。

バックログとは、一言でいうと作業計画のことです。プロダクト全体を示すプロダクトバックログと、1~2週間程度の時間枠で区切られたスプリント分を示すスプリントバックログがあります。

プロダクトバックログとは、要件に基づいて優先順位がつけられた、チームが行うべきタスクのリストです。関係者全員で作業の目的と実現方法を共有し、現在の状況を把握します。場合によっては、仕様変更や新たな要件の追加により、優先順位が変わる場合もあるため、メンテナンスを行い常に最新に保ち、共有しなければなりません。

スプリントバックログは、スプリント内に完了すべきタスクのリストです。スプリント期間内に設計・開発・テストを完了させる必要があります。

メンバーごとに与えられる3つの役割

プロジェクトメンバーには、以下の3つの役割が割り当てられます。

  • プロダクトオーナー
  • 開発者
  • スクラムマスター

プロダクトオーナーは、プロダクトの責任者であり、必ず一人必要です。プロダクトバックログを管理し、プロダクトの価値を最大化することが主な仕事です。予算管理や関係者との相談なども行います。

開発者は、プロダクトオーナーが管理するプロダクトバックログに従い、作業を行うメンバーです。通常3人から9人までで構成されており、それ以上の人数だとコミュニケーションが大変になるため、開発チームが分割されることが多いです。

開発者は設計者やテスターなど一部の作業を専門に扱う技術者ではなく、すべての作業が一通りできなければなりません。役職やスキルによらず平等です。スプリント期間内にタスクを進めることにおいて、開発者全体で責任を持ちます。

スクラムマスターは、プロダクトオーナー、開発チームの調整役です。プロダクトオーナーと開発チームの意思疎通がスムーズにいくように支援・監視するとともに、問題が発生した場合は開発チームで解決を促します。

これらの特長から、スクラムは舵取り役のプロダクトオーナーと調整役のスクラムマスター、および実際に作業を行う開発者で構成された体制で、バックログに従い開発をすすめる手法です。

スクラムのメリット

 スクラムはアジャイル開発の手法であるため、アジャイル開発のメリットである「仕様変更やトラブルに柔軟に対応できる」「問題が発生しても手戻り工数が少なく済む」などが得られます。それ以外にも、スクラムで開発することによるメリットもあります。

顧客の要求に最大限応えられる

従来のソフトウェア開発手法(ウォーターフォール)では、最初に決めた要件定義に基づいて開発を進めるため、仕様変更が発生すると大きな手戻り工数が生じ、変更に弱いというポイントがありました。

スクラムは、プロダクトバックログの作成からステークホルダーを含めてコミュニケーションをとって進め、スプリント内で要求変更が発生しても柔軟に対応できます。そのため、顧客の要求に最大限応えられる手法といえます。

不具合を早期に発見でき、手戻りが少ない

ウォーターフォールでは開発工程を上流から下流へ一連の流れで進めていき、下流の段階でテストを行います。そのためテストで重大な不具合が発覚し上流まで戻る場合は多大な工数が発生し、プロジェクト全体のスケジュールに影響を及ぼします。

スクラムでは、スプリント単位で開発・テストを実施するため、問題が発生しても影響範囲はスプリント内で開発したものに限定されます。そのため、不具合を早期に発見でき、手戻り工数を少なく済ませられます。

チームワークを強化して生産性が向上する

スクラムはチームワークを重視した開発手法です。コミュニケーションをとりながら進めることでメンバー一人ひとりの能力を把握し、またスプリントが終わったら、作業内容を振り返りチームを改善していきます。このため、開発サイクルを進めていくたびにチームが最適化され、生産性を大幅にアップできます。

以上から、スクラムはステークホルダー含めチーム一丸となって開発を進めることで、柔軟に対応できるだけでなく高い生産性で開発を進めることができます。続いては、実際にスクラムで開発を進めるときの流れについてご紹介します。

スクラム開発の進め方

 ここからは、実際にスクラムで開発を進めていく方法について解説します。

プロダクトバックログの作成

1番最初に行うことはプロダクトバックログの作成です。顧客要件に基づき、優先順位がつけて開発する機能を決めていきます。また、ステークホルダー含め関係者全員で達成すべき目標や開発する機能を共有します。

スプリントプランニング

スプリント期間の最初に実施されます。プロダクトバックログの中からスプリント内で完了すべきタスクを決め、目標や目的、実現方法などプロダクトオーナーと開発者で認識合わせを行います。

その後、開発者は具体的な作業計画となるスプリントバックログを作成します。スプリントの期間内で対象のプロダクトバックログの項目を満たすことが困難な場合は、プロダクトオーナーと相談して、作業内容を検討する場合もあります。

デイリースクラムミーティング

メンバー全員の進捗状況や要求の変更などを確認するため、毎日決まった時間・場所で30分程度のミーティングを行います。ミーティングではスクラムマスターが全員に対して質問し、作業での障害や問題がないか確認します。

スプリントレビュー

スプリントの最終日に、バックログ項目で満たすべき基準に到達しているか、レビューを行います。開発した機能のレビュー以外にもバックログの項目に対するレビューでもあるため、スプリントレビューにはチームメンバーだけでなく、ステークホルダーも含めて実施することが重要です。

万が一機能が不完全な場合は、ステークホルダーの信頼を損ねることに繋がるため、注意が必要です。

スプリントレトロスペクティブ

スプリントの最終日に行う、そのスプリントの振り返りミーティングのことです。スプリントで発生した課題の振り返りや反省点を話し合い、次のスプリントで改善につながるようにします。スクラムではスプリントを何度も繰り返し実施していくため、スプリントレトロスペクティブを行うことでチーム全体も改善され生産性の向上につながります。

新規CTA
新規CTA

まとめ

本記事では、アジャイル開発を実現する手法の1つである、スクラムについて解説しました。

スクラムはチームワークを重視する開発手法であり、少数精鋭かつ短期間でリリースを進める開発に向いています。アジャイル開発の導入をお考えの方は、スクラムを検討してみるとよいでしょう。

CTA

RECENT POST「コラム」の最新記事


コラム

システム開発の手法とは?ウォーターフォールとアジャイル開発との違い

コラム

ウォーターフォールとは?~各工程について解説~

コラム

アジャイルとは?~代表的な手法についても紹介~

コラム

スパイラル開発とは?特徴や手順、メリット・デメリットについて解説

スクラムとは?~各工程について解説~