スクラム開発とは
こんにちは、Burroughsです。
今回はアジャイル型開発の開発手法の一つである、スクラム開発について書いていこうと思います。
アジャイル型開発については以下の記事を参考にして頂ければと思います。
スクラム開発とは
スクラム開発とはアジャイル型開発の一種で、中でも、メンバー同士のコミュニケーションを重視し、チーム一体となってプロジェクトを遂行して行く手法です。コミュニケーションを通して、プロジェクト全体の情報をメンバーが共有することで、負荷を平準化や開発姿勢を改善などに取り組みます。
また、他のアジャイル開発手法とは異なるスクラム開発の独自の特徴として、朝会などの形でプロジェクトの進捗や問題点がないかなどを毎日メンバー同士で確認する、デイリースクラムを行うことにあります。この作業により、問題点を素早く検知でき、チーム内で様々な情報を共有することができます。
スクラム開発の流れ
1.リリースプランニング
プロジェクト立ち上げ時に、どのようなプロダクトをどのような機能優先順で、どのくらいの期間で実施するかをチーム全員で計画します。万が一実態とのずれが大きくなってきた場合には、随時見直しを行います。プランニング結果はプロダクトバックログとして、優先度順にリスト化しておきます。
プロダクトバックログは開発関係者全員がいつでも参照でき、現在のプロダクトの状況を把握することができるようにしておきます。
2.スプリントプランニング
まず、1~4週間の期間をスプリントとして設定します。プロダクトバックログからそのスプリント期間内に何をどこまで実装するのかを決めます。ここでプランニングした結果はスプリントバックログとして、リスト化します。
スプリントバックログはメンバー全員のタスクリストです。チームとして責任を持ち、メンバーのスキルを総動員して自信を持って、スプリント内に終わると宣言できるように計画します。
3.デイリースクラム
4.開発
デイリースクラムは15分ほどで毎日行う会議です。前日の進捗、問題点、その日の予定を各メンバーが報告し、他メンバーと情報共有します。デイリースクラムと開発が一日の流れとなります。
5.スプリントレビュー
1スプリント内で完成した成果とこれまでに完成した機能をまとめて、インクリメントと呼び、開発関係者を集めデモを行います。要求の伝達ミスや漏れがないことを必ずチェックし、プロダクトに改善点や問題点があった場合は、プロダクトバックログに加え、タスク化します。
6.振り返り
スプリント期間内の振り返りを行い、次のスプリントでさらにチームメンバーが高い価値を生み出せるように、そのスプリント内の達成度や問題点、改善点を洗い出します。
以上の2~6までが1スプリントの流れとなっています。
スクラム開発のチーム構成
スクラム開発では、メンバーの人数は3~10人で構成するのが最適とされています。なぜかと言うと、人数が多すぎる場合は、情報共有だけで時間がかかり、共有漏れも生じやすくなります。逆に少なすぎる場合は、多様性が欠如して問題解決へのアプローチが困難になり、チーム構成を変更するときにプロジェクトへの影響が大きくなります。
チームメンバーの役割はプロダクトオーナー・スクラムマスター・開発メンバーの3つがあります。
1.プロダクトオーナー:
主な役割はプロジェクトの方向性を決めることです。プロダクトバックログの作成やそれらの優先順位付けの最終決定の責任を持ちます。通常のプロジェクトリーダーとの違いは、バックログの編集を通してメンバーに情報を共有するだけで直接の指示は出さない点にあります。
2.スクラムマスター:
主な役割はチームの状態を把握し、プロジェクトを円滑に進めるための調整を行うことです。そのために、以下のようなことをします
- スクラムのルールや進め方をメンバーと共有して実践を促す
- プロジェクトに対する無理な要望からメンバーを守る
- 特定のメンバーに負荷がかかり過ぎないようにタスク調整を行う
3.開発メンバー:
少人数のチームで多様性を確保するために、設計・ドキュメント作成・コーディング・テスト・運用といった各工程のスキルを一通り持っていることが求められます。また、メンバー全員は平等です。役職や年齢による上下関係が生じないように注意を払わなければいけません。
なぜスクラム開発を採用するのか
スクラム開発は「イベント」「成果物」「役割」からなる非常にシンプルな開発フレームワークで、スプリント毎に調整を行うことができます。そのため、それぞれの開発に合わせて様々な決め事などを導入したり、色んなアイデアを試験的に取り入れたりすることができるのです。
今回の記事は以上になります。
ありがとうございました。