言語・スキル

【8分間で完全理解】スクラム開発とは?アジャイル開発手法との違いから基本的な仕組みまでを徹底解説

ソフトウエア開発の起源は、第二次世界大戦直後の1947年、アメリカに在住の2人の数学者によって発明されたフローチャートだと言われています。

それから70年が経過してソフトウエア開発は、常に時代の最先端技術と対峙しながら進化を遂げて来ました。

そして現在、さまざまな企業では「スクラム開発」が採用されています。

しかし、多くの人々から以下のような意見を聞きます。

「スクラム開発って何が画期的なのか?」
「スクラム開発とアジャイル開発では何が違うの?」

そこでこの記事ではスクラム開発の基礎用語から概要、仕組み、導入メリットまでを解説します。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!

スクラム開発のおさらい

次にスクラム開発を思い出して貰うため、代表的な開発手法からスクラム開発の語源や概要、アジャイル開発との違いについて説明します。

代表的なソフトウエアの開発手法

代表的なソフトウエアの開発手法は大きく2つあります。

従来型の「ウォーターフォール開発」と2000年頃に生まれた環境変化対応型の「アジャイル開発」です。

次にそれぞれの開発手法について説明します。

代表的なソフトウエアの開発手法

ウォーターフォール開発

本開発手法は、川の流れに例えられるように上流から下流に幾つかの工程を設けて専任のエンジニアが開発を行います。

具体的には以下の5つの工程に別れており、ぞれぞれの工程が完結した後に下流の工程に送られます。

  1. 要件定義
  2. 設計
  3. 実装
  4. テスト
  5. 運用・保守

本開発の特長としては予め納期や予算がはっきりしているため、ユーザーに理解して貰い易いです。

反面、不具合が発生した場合、問題が発生した工程を見つけ出すのに時間を要してしまいます。

アジャイル開発

本開発手法は元々、英語のAgileが語源で日本語にすると「機敏な」「素早い」という意味です。

ウォーターホール開発では開発後半にならないとソフトリリースはしませんが、本手法では機能単位で小分けにして頻繁にソフトリリースします。

本開発の特長としては不具合が発生しても柔軟に対応でき、開発スピードが大幅に短縮されます。

反面、開発全体に対して現在の進捗状況が分かり難いです。

スクラム開発とは?

そもそもスクラム開発とは、ソフトウエア開発手法の1つです。

スクラム開発とは?
    ソフトウエア開発手法の1つ

語源はラグビー競技のスクラム(Scrum)から来ています。

スクラムとは、各チームメンバーの8人づつ計16人が肩を組んでぶつかり合う陣形のことを指します。

この姿は一致団結して1つの目標に向かうことをイメージすることから開発名を「スクラム開発」にしたと言われています。

スクラム開発とアジャイル開発との違いとは?

「スクラム開発」は「アジャイル開発」の中にある1つの手法です。

例えば茶道にも流派があるようにソフトウエア開発にも流派が存在するということに他なりません。

つまり、本家は「アジャイル開発」であり、分家のひとつが「スクラム開発」です。

ちなみにアジャイル開発手法は3つあります。

アジャイル開発手法
  • スクラム開発
  • ユーザー機能機駆動開発(FDD)
  • エクストリーム・プログラミング(XP)

ひとつ目は前述したスクラム開発です。

2つ目はユーザー価値を主眼に置いた開発手法である「ユーザー機能機駆動開発(FDD)」です。

そして3つ目はプログラマーが主体の開発手法である「エクストリーム・プログラミング(XP)」です。

スクラム開発の役割分担

役割

ここではスクラム開発の役割分担として3つの登場人物を説明します。

3つの登場人物が相互に関係しながら成果物となるソフトウエアを開発して行きます。

プロジェクトオーナー

プロジェクトオーナーは、これから開発する成果物(製品)の責任者です。

必要機能の取捨選択や優先順位を決定することができます。

責任者という立場ですので開発の実務は行わず、全体計画のスケジュールや予算管理を行います。

スクラムマスター

スクラムマスターは、全体計画が上手く回るようにするための調整役です。

チームが最大限のパフォーマンスを出せるように開発環境を整えます。

開発メンバー

開発メンバーは文字通り、これから開発する成果物(製品)の実務メンバーです。

ここに属するメンバーは手を動かして設計、コーディング、テスト等を行います。

開発チームの人数は通常、3人〜9人までとなっています。

これ以上にメンバーが増えるとコミュニケーションの伝達速度が遅くなり、開発効率が低下する恐れがあります。

そこでこの際はチームを2分割して開発効率を維持します。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!

スクラム開発の期間単位

納期

スクラム開発のソフトリリースは、機能毎に行われるのが一般的です。

このリリースまでの期間単位を「スプリント」と呼び、期間は1〜4週間になります。

この間に以下の4つを実行してソフトリリースを行います。

  1. 計画
  2. 設計
  3. 実装
  4. テスト

一例としてスプリントは4回で開発を開始したとします。このため、最終成果物ができるまでに4回のソフトリリースをします。

初回のスプリントは機能25%、2回目のスプリントは機能50%、3回目のスプリントは機能75%、4回目のスプリントは機能100%という具合でソフトリリースを行います。

機能の盛り込み比率は、優先度に応じて臨機応変に変更することが可能です

スクラム開発の進め方

ここでは実際にスクラム開発の進め方を解説します。

全部で5つのステップから構成されています。

次に個々のステップについて説明します。

1.プロダクトバックログを作成

プロダクトバックログとは、成果物で実現するべきリストのことです。

リストは最初に決める固定的なものでなく、臨機応変に優先順位を変更できます。

このリストはチームメンバーがいつでも参照可能でなくてはなりません。

2.スプリントプランニングミーティングを開催

スプリント(開発の期間単位)開始時に行われるミーティングを指します。

本ミーティングでは期間内に「何をどこまでつくるのか」を決定した後、工数見積もりと作業分担を決定します。

3.デイリースクラムを実施

チーム内で日々の状況を共有するためのミーティングのことです。

時間は15分以内の短時間で行う朝会のようなものです。

ここではメンバーひとり一人の進捗状況と問題点を報告します。

4.スプリントレビューを開催

スプリントの最終日に行われる成果物の検証会を開催します。

この検証会はプロダクトオーナーが主催者となり、全ての責任を持って行われます。

なお、本検証会は必ず動作可能なソフトとなる成果物を用意して検証を行うルールとなっています。

5.スプリントレトロスペクティブを実施

上述したスプリントレビューと同じ日に行われるのがスプリントレトロスペクティブです。

これは今回のスプリントの反省会を指します。

この反省会は良かった点や改題点を共有して次回のスプリントで活用できる点を共有します。

スクラム開発のメリット

スクラム開発のメリットは以下の3点です。

1. 短時間で最大限の効果を発揮

スクラム開発は、短期間のサイクルで優先順位の高い機能から開発に取り組みます。

従って短い期間であっても限定した機能開発に集中できるため、最大限の成果を発揮することができます

2. 精度の高い工数見積もりができる

ウォーターフォール開発では始めにプロジェクト全体の工数を見積もります。

このため、想定以外の出来事が発生した場合、見積もりより開発期間が遅延するケースが多々あります。

これに対してスクラム開発では、機能単位で工数を見積もって開発作業をしています。

この結果、想定外の出来事が発生しても早期に対応できるため、精度の高い見積もりが可能です。

3. 問題抽出スピードの向上

スクラム開発は、日々のミーティングでメンバーと課題や問題点を共有しています。

このため、問題発見から対処までをスピーディーに行うことができます。

まとめ

この記事はスクラム開発の基礎から概要とメリット、そして進め方までを説明して来ました。

スクラム開発の導入は、自社のソフト開発スピードを飛躍的に高めることが可能です。

更に開発期間が短縮するということは開発コスト向上に貢献することにもなります。

コロナ禍の中、売り上げが下がっている企業が多いと思います。

しかし、この状況をチャンスと捉えてスクラム開発を導入してはいかがでしょうか。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!