スクラムについて解説!アジャイル開発との関係性も紹介
システム開発手法として著名な「スクラム(Scrum)」は、日本に端を発し、柔軟で自由度の高い開発手法として、今や世界中で取り入れられています。
スクラムはラグビー用語としても有名ですが、システム開発の現場においてどのようなメリットとデメリットをもたらすのでしょうか。今回は「スクラム」について、順応しやすいプロジェクトの種類や、さらには「アジャイル」との関係性についてもご紹介します。
開発・制作・コンサルティングを
無料でお見積もりをいたします。
関連記事を読む⇒アジャイル開発について
目次
スクラム開発とは
システム開発の手法の一つ「スクラム開発」では、まずプロジェクト全体を、数週間の単位で区切ります。この期間を「スプリント」と呼びます。
設計→実施→評価→改善というサイクルを繰り返して開発を進めていくのです。スプリントには「短距離走」という意味があるように、短いサイクルのスプリントを繰り返しながらプロジェクトを進行させます。スプリント毎に顧客が要望する機能を段階的に開発していくイメージです。
スクラム開発を遂行する上で、次の2点が特徴として挙げられます。
コミュニケーションを重視した手法
スクラムという言葉はラグビー用語として有名です。8人のメンバーが結束して立ち向かい、組織としての成果を上げることを目指すプレーを指す言葉ですが、ソフトウェア開発において使われる言葉も、このラグビー用語が語源になっています。
スクラム開発では、3~9人程度の少人数のチームを結成します。メンバーが各々で担当する役割を分散し、チームとの連携を取りながら開発を進めていくことになります。個々で取り組む作業が明確化されることにより、自主性の強いプロジェクトを実現します。
チームで立てた目標をクリアするために、毎日15分ほどのミーティングの機会を設けます。ミーティングの内容は、「昨日やったこと」「今日やること」「障害になっていること」の3点に絞り、この三つのミッションをメンバーで共有するのみです。細かい問題は個々人に任せ立ち入らないこともポイントです。情報を共有した上で自主性に任せる手法として捉えられています。
スクラム開発に必要なメンバー
もう一つの特徴として、チームに必要なメンバーの結成というものがあり、主なメンバーが次の三つになります。
プロダクトオーナー
メンバー構成としては、まず責任者として「プロダクトオーナー」が中核を担います。プロジェクトの全体像を構想・計画することが主な役割であり、優先順位を決める人物でもあります。決断を下したら、それをメンバーに伝達して作業の指示を行います。一般的にソフトウェア開発の現場に介入することはなく、その代わりに予算面の管理を行うなど、マネージャーとしての役割も兼ねています。
開発メンバー
「開発メンバー」はグループの大多数を占める作業者で、割り振られた仕事をこなして開発を進めます。設計から運用までさまざまな知識を求められることが多く、臨機応変に対応できる柔軟性と技術が求められます。
スクラムマスター
そして、その2つの中間に入る役割を持つのが「スクラムマスター」です。これは、プロダクトオーナーから受けた指示を元に開発メンバーに仕事を割り振ったり、反対に現場の状況を報告し直したりなど、潤滑油としての役割を果たす存在です。
関連サービス:Webシステム開発
スクラムのメリット
スクラムで開発を行うメリットにはどのようなものがあるのかをご紹介します。スクラムの特性を知ることにより、どんなプロジェクトに対して相性が良いのか判断することができます。
短期間で高い成果を上げることができる
プライオリティを設定した上でプロジェクトを進めるため、短期間でもコアになる部分を構築でき、高い成果を上げることに期待を持てます。メンバーのスキルを正確に把握できることも利点で、生産性を高められます。
チーム内の課題を見つけやすい
継続的にミーティングを繰り返すことにより、開発チームが抱えている課題のみならず、個人単位の課題や不明点も共有しやすくなります。プロセスで何らかの問題が起きた際も速やかな解消を実現させやすくなります。
早めの軌道修正が可能になる
スプリントの期間を短縮させられるため、フィードバックを受けやすくなり、仕様変更に対応しやすくなるほか、テストも重ねやすく、機能の正確性を早めに認識できます。この点が、最終工程まで問題点を掌握できないウォーターフォール開発との決定的な違いです。
関連記事を読む⇒ウォーターフォール開発について
スクラムのデメリット
スクラム開発に潜んでいる欠点やデメリットについても洗い出しておきましょう。どのようなシチュエーションで力を発揮しにくくなるのか、起こり得る問題点など、想定されるものをご紹介します。
顧客の協力が必要不可欠
スクラム開発における特徴の一つは、早期段階で問題点を発見して修正を図れることです。しかし、より良いものをつくるにあたり、何が必要になるのかを把握するには、顧客のフィードバックがなくてはなりません。顧客に理解を求め、事前の協力を取り付けられるように、密にコミュニケーションを取ることも必要です。
完了日が不透明になる
ウォーターフォールでは期間を設定しますが、スクラム開発の進め方は全く異なるため、スプリントの回数等は不透明です。作業が流動的になりますので、しっかりした完了日については分かりません。
スクラム開発は、途中で仕様の変更などに対応することを前提とした進め方を取るため、完了日も最初に立てる予定よりは長くなることが普通です。しかし、一般的にはウォーターフォールよりも早く、効率的に完成させられるケースが目立ちます。
スクラムに適しているプロジェクト
メリットとデメリットから導き出したスクラムの特徴を見て、具体的にどんなプロジェクトで活用すると適用しやすく有効なのかを検証します。2つの例を取り上げてご紹介しますので、これを目安に導入の有無を検討してみましょう。
全体像がはっきりと決まっていないプロジェクト
最終的なゴールが明確に定まっていない状態でもプロジェクトを進めなければならないケースは、開発現場では少なくありません。そんなケースでは、途中で仕様変更を盛り込めるスクラム開発が非常に有効です。
スクラム開発は、要件定義の段階で7割程度の内容が決まっていれば、プライオリティが高い順に作業をスタートさせられます。残りの3割を含めた着地点は、顧客の要望を取り入れたり、課題を修正したりしながら見つけていく形になります。
クライアントもチームとして協力できるプロジェクト
案件によっては、顧客側の担当者がプロジェクトに参加し、カギを握る存在として活躍してくれるものがあります。こういったケースで顧客側担当者をチームの一員に取り組む際には、ウォーターフォールよりもスクラム開発のほうが適しています。
例えば、プロダクトオーナーとしての役割を顧客側担当者に一任すれば、システム開発の状況を可視化しやすくなり、バックログも明瞭になります。このことは、大きなシナジー効果を生み出す結果に繋がることでしょう。
プロジェクトチームの中でまとめた話題や開発途中の状況を顧客側に伝えてフィードバックを待つ、という手間を省けるようになりますので、さまざまなレスポンスが速くなり無駄な時間が生まれにくくなります。
アジャイル開発との関係性
スクラム開発はアジャイル開発の一種になります。ほかにも種類はありますが、基本方針は同じで、「決められた短い期間で機能を開発し、それを何度も繰り返してプロダクトを完成させる」という意味で同じ定義を持っています。
関連記事を読む⇒アジャイル開発について
したがって、スクラム開発が持つメリットとデメリットの大半はアジャイル開発との相関関係を持ちます。フレキシブルな対応を求められるプロジェクトが多い以上、スクラム開発は今後も高いニーズと価値を維持することが予想されます。
まとめ
チーム内でのコミュニケーションを重視する「スクラム開発」は、日本発の開発手法です。開発途中での仕様変更に対応しやすいというメリットを持ち、特に顧客側担当者がメンバーの一員になる場合にはシナジー効果にも期待できるとして、今では世界中で取り入れられています。全体像が明確になっていないプロジェクトにおいても実践しやすい手法であり、アジャイル開発の一つとして広く用いられています。
クロス・コミュニケーションは、UI/UXデザイン設計もサービス内容の主軸として据えている会社です。ユーザー視点でのものづくり実施や、アクティブユーザー数の増加に向けた取り組みを行い、実績と経験をサービスと製品に反映させております。UI/UXデザイン設計についてお困りごとがありましたら、お気軽にご相談くださいませ。
アプリ開発 サービス紹介 サービス資料をダウンロード お問い合わせはこちら