アジャイル開発とは、プロダクト開発における手法の1つです。そして、アジャイル開発におけるフレームワークの1つがスクラムです。この記事では、アジャイル開発やスクラムの詳細について解説します。スクラムを導入するメリット・デメリットなども解説するので、参考にしてください。
目次
アジャイル開発とは?
アジャイル開発はプロダクト開発手法の1つです。プロダクトの価値を最大化することを目的としており、短期間でのサイクルを実現できます。アジャイル開発ではプロジェクトが変化することを前提としています。優先度の高い要件から開発を進められるため、仕様変更に強いことが特徴です。
機能単位の小さなサイクルで計画や実装といった開発工程を繰り返し、リリースした後にブラッシュアップに取り掛かれることも利点です。また、短期間の開発体制なので、早期にスタートできます。
アジャイル開発におけるスクラムとは?
スクラムまたはスクラム開発とは、アジャイル開発におけるフレームワークの1つです。チームメンバーは5~9人程度で、開発期間は2~4週間程度であることが一般的です。1986年に「スクラム」という言葉が登場し、2010年にはスクラム公式ガイド「スクラムガイド」にまとめられました。スクラムガイドでのスクラムの定義は、以下のようになっています。
・複雑な問題に対応する適応型のソリューションを通じて、人々、チーム、組織が価値を生み出すための軽量級フレームワークである
※引用:2020-Scrum-Guide-Japanese.pdf
スクラムの特徴
スクラムにはいくつか特徴があります。ここでは、それぞれの特徴と詳細を解説します。
透明性
透明性とは、事実から状況が見えることを指します。よい事実だけでなく、悪い事実も分かることが重要です。透明性の対象には、プロセスや作業などの業務内容、個人の状況といった表面的には分かりにくい部分も含まれます。
検査
検査とは、チームメンバーの進捗や作業のプロセスに問題がないかを確認することです。望ましくない状況や問題を発見するために、積極的に検査を実施しましょう。また、検査を実施するためには、透明性の確保が求められます。
適応
検査の結果をもとにプロセスやプロダクトを修正することが適応です。以前の状態と比べて、現在の状態が改善されているかを判断します。なお、適応は適切に検査を実施したうえで成り立ちます。
スクラム開発のメンバーとロール
スクラム開発のメンバーとそれぞれのロールを把握することも大切です。以下は、代表的なロールとそれぞれの詳細です。
プロダクトオーナー
プロダクトオーナーはプロダクトの責任者としての役割を担います。スクラムチームが生み出すプロダクトの価値を最大化し、プロダクトバックログ管理における優先順位を決定する責任も負う存在です。
また、顧客の要望に合わせてシステムの機能や要件を管理したり、プロダクトゴールを策定したりします。さらに、状況を可視化してステークホルダーに内容を伝える責任もあります。さまざまな面でスクラム開発をサポートする存在です。
スクラムマスター
スクラムマスターはプロダクトオーナーを支援する存在であり、スクラムの確立に責任を持ちます。スクラムチームに対して、スクラムの理論と実践を理解するためのサポートをし、タスクに集中できるように手助けします。
スクラムマスターによる具体的な支援は、チームの進捗を妨げる障害物を取り除いたり、ステークホルダーと協力して作業負荷を再分配したりすることです。また、プロダクトオーナーが機能していない場合には、プロダクトオーナーに代わってアドバイスを出す役割も担います。
開発メンバー
開発メンバーはその名のとおり、実際に開発作業を担当するメンバーを指します。以下は開発メンバーに求められる代表的なスキルです。
・設計
・ドキュメント作成
・コーディング
・テスト
・運用
スクラムチームは全体としての成果が求められるため、すべてのメンバーがすべての領域の業務を担当できることが理想的です。そのため、苦手分野でも専門外として取り組まないのではなく、作業を調整しながら担当しましょう。
スクラムを導入するメリット
スクラムを導入するメリットは多岐にわたります。ここからは、スクラムを導入する具体的なメリットと、それぞれの詳細を解説します。
ビッグバンテストを回避できる
ビッグバンテストとは、開発プロジェクト全体を上流から下流に進める際に、リリース前に実施するテストです。ビッグバンテストによって、プロジェクトの最終段階で重大な問題が発覚することがあります。ビッグバンテストで発覚した問題を解決するためには、多くの時間や作業が必要になり、生産性を著しく低下させる原因にもなりかねません。
しかし、スクラムを用いればプロジェクト終盤におけるビッグバンテストを回避できます。なぜなら、スクラムではスプリントごとにテストを実施し、問題の確認や解決をするためです。
変更に柔軟に対応できる
スクラムは、開発工程を機能単位の小さなサイクルで繰り返します。また、変更が起きることを前提に開発を進めています。これらの要素が重なり、顧客の要求にも柔軟に対応できる開発体制を築くことが可能です。
生産性向上が期待できる
スクラムは、開発期間が短く、フィードバックを頻繁に実施できる手法です。そのため、メンバー同士がそれぞれの得意や不得意を理解しやすく、チーム全体がスクラム開発に最適化されます。作業効率やチーム運営が改善されると、生産性向上につながることも利点です。
工数見積もりの精度を上げられる
スクラムでは、スプリント単位でチームのタスク量を確認します。そのため、作業工数の想定がしやすくなり、工数見積もりの精度を上げることができます。また、1回あたりの期間が短いため、フィードバックを重ねやすく、正確なスケジュールを立てやすいこともメリットです。
短い期間で改善を繰り返せる
スクラムでは、スプリント単位で振り返りを実施し、現状を把握します。振り返りによって課題の認識や改善案の共有を次回以降のスプリントに持ち越せるため、短期間で改善を繰り返せます。
スクラムを導入するデメリット
スクラムを導入する際は、デメリットにも注意が必要です。以下は、具体的な注意点とそれぞれの詳細です。
プロジェクトが肥大化する可能性がある
スクラムは、仕様変更のハードルが低いため、プロジェクトが肥大化する可能性があります。プロジェクトの肥大化は、スコープクリープとも呼ばれます。スクラムでは、メンバー全員がプロジェクトに対する認識を一致させ、ズレが生じないように注意することが大切です。
進捗に影響する要素が多い
スプリントは実施期間が短いため、問題が発生すると進捗に影響が出やすいです。たとえば、練度の低いメンバーがいると、スケジュール通りに開発が進まない可能性があります。また、チームメンバーが離脱した場合も、進捗に影響が出ることが懸念されます。
スクラムの流れ
スクラムを効果的にするためには、一定の流れに沿って実施することが重要です。ここからは、具体的な順番とそれぞれの詳細について解説します。
1.プロダクトバックログの作成
プロダクトバックログとは、さまざまな要素の優先順位を記載したリストです。対象として、開発する製品の機能や技術的な改善要素などが含まれます。優先順位は状況によって変化するため、定期的な整理や更新が必要です。プロダクトオーナーが主体となって優先順位を判断しますが、開発メンバーの意見を参考にして反映することもあります。
2.スプリントプランニング
スプリントプランニングとは、スプリントバックログを参考にして、開発メンバーのタスクやスケジュールを決めることです。原則として、スプリントの長さは一定期間に設定します。一般的には2週間で、長い場合でも1か月程度とされています。
3.デイリースクラム
デイリースクラムとは、いわゆるミーティングのことです。開発メンバーそれぞれの進捗や、現在発生している課題の把握を目的として実施されます。基本的に毎日行われ、時間は5~15分程度設けられます。共有する内容は、今日取り組む作業や現在発生している問題、課題などです。デイリースクラムによってコミュニケーションが促され、課題の特定や改善のサイクルが早まります。
4.スプリントレビュー
スプリントレビューとは、実装した機能に対する評価のことです。一般的に、スプリント期間の終盤に行われます。開発に直接携わる人のみならず、プロダクトオーナーやステークホルダーが参加する場合も多く、スプリントの成果を評価します。なお、レビューはアプリケーションを通じて行われることが一般的です。
5.スプリントレトロプロスペクティブ
スプリントレトロスペクティブは、スプリントの振り返りミーティングを指します。基本的に、スプリント期間の最終日に実施されます。具体的な内容は、スプリントにおけるよかった点や改善点などの洗い出しです。また、スクラム内でよかった点の要因や改善策などを話し合い、次回のスプリントに活かすことを目的としています。
まとめ
アジャイル開発は、プロダクト開発をスムーズに進めたり、問題発生による被害を最小限に抑えたりする手法です。しかし、短期間で実施する都合上、開発メンバーに求められる水準が高くなったり、欠員による影響が大きくなったりします。自社でアジャイル開発を行うノウハウが足りないと感じる場合は、外部のリソースを活用しましょう。
株式会社Sun Asteriskは、DXコンサルティングから設計、本格的な開発まで一貫してサポートできる幅広い能力を持つ会社です。圧倒的に柔軟な開発リソースを背景に、さまざまなプロジェクトを支援します。
貴社の状況にあわせて最適なチームをご提案します。アジャイル開発のご相談やお見積りのご依頼は、お気軽にお問い合わせください。
Sun*アジャイル開発に関するソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。