DX

スクラム開発とは?「体制と役割」から学ぶ、アジャイルとの違いまでを総まとめ

DX

システム開発の種類の特徴

スクラム開発について記載を進める前に、ウォーターフォール、アジャイル、スパイラルモデルについて特徴を記載します。

ウォーターフォール
ウォーターフォールとは現在も主流の開発手法の一つです。ウォーターフォール(滝)に水が流れるように、要件定義、設計、開発、テスト、リリースの各工程を一つ一つ終わらせ、次に進んでいきます。

シンプルで理解しやすく全体の予算感・スケジュール感を把握しやすいというメリットがあります。
一方で、要件定義の段階で時間がかかったり、突発的な仕様の変更に対応するのが難しい、手戻りに非常に弱いという問題があります。

スパイラルモデル
スパイラルモデルとは、システムを複数のサブシステムに分割して、それぞれのサブシステム毎に順番に開発を進めていく手法です。

例えば、サブシステム1~3から構成されるシステムが存在していたとして、システム1を開発、納品した後、システム2を開発納品し、次にシステム3を開発納品するといった形で進めていきます。

サブシステムに分けることで、サブシステムの開発が完了した時点でお客様に見せることができ、手戻りを少なくシステム全体の完成度を高めていくことが可能です。

アジャイル
アジャイルは、ウォーターフォールに次いで現在主流となっている開発手法です。アジャイル(agile:素早い)という言葉を冠する通り、スピード感が特徴的な手法です。開発期間を細かく分割して開発を進めるという点ではスパイラルモデルと似ています。

アジャイルは実現したい機能や実装したい機能に対し、1週間や1か月などの、細かい単位で期間を設けて期間内に細かくテストを実施することで徐々に要件定義を進めプロジェクトを完成形に近づけることを目的にしています。

アジャイル開発を実現するためのスクラムとは

スクラム開発とは、アジャイル開発を実現するための手法の1つです。アジャイル開発には、カンバン開発、テスト駆動開発、エクストリームプログラミング開発などの手法があります。

その中でも、少ない人数でチームを組んで役割やタスクを分散しつつ、コミュニケーションを取りながら開発を進めるという手法がスクラム開発です。

カンバン開発とは
カンバン開発とは、プロジェクトを簡単に一目で把握することに重きを置き、効率化を目指す手法です。ホワイトボードやタスク管理ツールにタスクを書いていき、実行できるタスク数を最大にしながらプロジェクトを進めます。メンバーが複数のプロジェクトを担当している場合もタスクの可視化が容易になることがメリットです。

テスト駆動開発とは
テスト駆動開発とは、「テスト->実装->リファクタリング」を何度も繰り返す手法です。メンバーが、開発しているプロダクトに深い知見を持っている場合に有効です。

エクストリームプログラミングとは
エクストリームプログラミングとは、ペアプログラミングなどを通じ、コミュニケーションを活性化させることで要員の成長に重きを置いています。教育コストを下げつつスピードの低下を抑えたい場合に有効です。

スクラム開発の体制と役割

スクラム開発を進めるための体制と役割について解説します。必要なものは、バックログ、チーム、マスター(スクラムマスター)です。

バックログ
バックログはスクラム開発におけるツールで、『プロダクト・バックログ』『スプリント・バックログ』を用意する必要があります。

プロダクト・バックログは、機能や改善要素などをリスト化したものです。定期的にチームで共有するだけでなく、常に閲覧可能な状況にしておき、プロダクトの現在の状況を共有、把握します。

スプリント・バックログは、タスクリストのようなものです。「スプリント」とは、アジャイル開発で分割した期間のことで、1週間~2か月程度の期間を指します。スプリント・バックログは期間ごとのタスクリストを指します。

チーム
チームは開発の担い手です。2人~10人程度の少人数で組まれます。定められたスプリント・バックログやプロダクト・バックログをベースにタスクを実行していきます。

マスター(スクラムマスター)
スクラム・マスターは、開発チームを支援する役割を担います。具体的には下記のようなタスクがあります。

・プロダクト・バックログやスプリント・バックログの進捗管理
・進捗が遅れている開発チームの支援
・スコープ外タスクや要件変更の調整

求められるリーダーシップとしては、細かく指示を出すのではなく、自律的に行動を促し生産性を最大化することが挙げられます。

スクラム開発の流れ

プロダクト・バックログの作成
スクラム開発では、まずバックログを作成するところから始まります。必要な機能・改善すべき課題・実装すべき内容を一覧化し、優先順位を振り分けたプロダクト・バックログを作成します。

スプリント・バックログの作成
いつ、どのチームがどのスプリントで実装を進めるかといったことを記載した、スプリント・バックログを作成します。
スプリント・バックログは、達成したことが明確になるようにタスクを明確化すると良いでしょう。「画面を作成する」「設計を完了する」など、完了基準が曖昧にならないことが重要です。

デイリーミーティング
決められた時間に10分~30分程度のショートミーティングを行います。ここでは、これまでの進捗報告や課題、今日やることを共有します。大抵朝に行われることが多いですが、進捗が思わしくない場合や、重要な課題を解決する場合は夕方などの一日の終わりにも追加で実施されることがあります。

レビューとレトロスペクティブ
スプリントごとに実装した機能については、レビューを行います。また、機能以外にも、タスクの進め方や対応方針について問題やトラブルがなかったかを共有する場も設けられます。

このような活動をレトロスペクティブといい、スプリントの最終日に実施される場合が多く、次のスプリントに向けたチームとしての改善を共有・ディスカッションします。

スクラム開発のメリットとデメリット

スクラム開発のメリットとデメリットを解説します。

メリット
高速開発
スクラム開発では、毎日ミーティングを行い、昨日の成果や今日の課題、問題点や解決策などを共有します。そのため、課題発見と課題解決を素早く行うことができ、高速に開発を行うことができます。

高頻度かつ柔軟な改善
toC向けのサービスなど、口コミが悪くなると利用者が離れてしまうようなWebアプリケーションにおいては、高速で課題解決が必要になります。そのような場合でも、スプリントに改善を組み込んで対応できるため、アプリケーションの品質やユーザービリティを高めることが可能です。

デメリットとは
コミュニケーションの壁があると機能しない
スクラム開発は頻繁かつ高品質なコミュニケーションを必要とする開発手法です。したがって、コミュニケーションに苦手意識があるエンジニアがアサインされている場合や、コミュニケーションがしにくい雰囲気がある現場では機能しないことがあります。

全体最適の難しさ
各チームが目の前のスプリント・バックログに集中してしまい、機能全体を俯瞰することが難しいという特徴があります。したがって、全体のスケジュール感や機能について、整合性を担保するのはスクラムマスターの経験値に依存します。定期的にビジョンを共有したり、スケジュール感を可視化できる仕組みを用意したりする工夫が必要になります。

スクラム開発に向いている/いない案件

スタートアップにおけるアプリ・プロダクト開発
システムやアプリケーションの課題、実装したい内容、実現したい目標が明確になっているケースにおいては、プロダクト・バックログやスプリント・バックログによる進捗管理が効果的に機能します。

また、スタートアップにおいてはコミュニケーションも円滑に行われることが多く、スクラム開発におけるコミュニケーションの素地が備わっているケースが多いです。

toC向けサービス
顧客のクレームや要望に対して即座に改良を進めなければいけない開発においては、スクラム開発のほうがスピード感があり向いています。

大規模なシステム開発には向かない
金融機関の基幹系システムなど、全体が見えにくい開発をすべてスクラム開発で実施することには向きません。なお、一部機能やモジュールをスクラム開発する場合は問題なく実施可能です。

スクラム開発を成功させるポイント

スクラム開発を成功させるポイントを解説します。

心理的安全性の確保
スクラム開発は何よりもコミュニケーションが重要です。そのためには、「心理的安全性」を確保し、だれでも自信を持って発言できる環境が必要です。このような環境がなければ成功は難しいでしょう。

スキルやアジャイル開発に十分な理解を持ったスクラムマスターの存在
スクラム開発は関係者のスクラム開発への理解が重要です。スクラム開発は一部の企業でしか導入されておらず、いまだにウォーターフォールが主流です。ウォーターフォールと似ているところや異なるところ、必要なマインド、予算の考え方等ををチームメンバー、経営層に伝え、事前に合意しておくことが必要です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

今回の記事では、スクラム開発について解説しました。コンサルティング案件などを探している方、事例を知りたい方は、ぜひfoRProまでご相談ください。

※案件単価は150~400万円、大手取引数100社超。
フリーコンサル案件をお探しの方はご相談下さい。

    新規会員登録(無料)

タイトルとURLをコピーしました