2023.09.21更新日:2024.03.15
スクラムという開発手法について耳にされたことがあるでしょうか。スクラムとはアジャイル開発で一般的に使用されているフレームワークです。本ページではスクラムの仕組みや背景にある考え方について解説し、スクラムによる開発を管理するためのツールもご紹介します。
「スクラム」の前に理解しておかなければいけないのが「アジャイル開発」です。
アジャイル開発とは2000年代以降に登場したソフトウェア開発の手法であり、その内容は“1~4週間程度の反復期間ごとに小さな機能開発を積み重ねていく”というものです。
開発工程を一通り完了させてから進める「ウォーターフォール開発」とは異なり、仕様の追加・変更が行いやすく、早期のリリースが実現できます。
2024年に独立行政法人情報処理推進機構(IPA)が公開した「2023年ソフトウェア開発に関するアンケート調査」によると、ベンダー企業、ユーザー企業ともに半う数近くが「アジャイル開発(厳密なツールがない)」を取り入れている一方、「アジャイル(スクラムなどの厳密なルールがある)」を選択したのは2~3割にとどまっています。
スクラム開発はアジャイル開発の手法の一つです。一定期間ごとに優先度の高い機能を盛り込んだソフトウェアを作り、それを評価しながら開発を進めます。計画と改善を繰り返すことでリスクやエラーを軽減でき、ユーザーやステークホルダーからの要望も迅速にフィードバックできるため、2024年現在ではアジャイル開発手法の主流となっています。
スクラムの考え方のベースには「リーン思考」があります。「リーン思考」とは無駄を最小限に抑える考え方です。スクラムにおいては働き方を構造化し、継続的な改善を行うことで、無駄を省きます。
スクラムは、スクラムチームという小規模のチームを編成して実施します。生産性とコミュニケーションの観点から、10人以下で構成するのがおすすめです。
スクラムは「同じ価値基準に沿って作業をこなせるかどうか」が、成果に直結します。スクラムチームのメンバーやステークホルダーが実践するべき価値基準として、次の5つの価値基準が定義されています。
引用・出典:SCRUM GUIDES.「Ken Schwaber & Jeff Sutherland スクラムガイド2020 年 11 ⽉」
https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf(2022-04-19)
次に、スクラムチームを構成する「プロダクトオーナー」「開発者」「スクラムマスター」の3つの役割について解説します。
プロダクトオーナーの役割は、スクラムチームが開発する製品の価値を最大化させることです。具体的には「開発の方向性を定めて共有」「進捗管理」「ステークホルダーとの調整」などの業務を行います。
スクラムチームが開発する製品の目標を明確にし、開発の方向性を定義します。ステークホルダーやスクラムチームのメンバーなど、プロジェクトに関わる全ての方とその方向性を共有し、浸透させます。
製品に必要な機能や課題を一覧化し、優先順位をつけた「プロダクトバックログ」の管理を行います。
ステークホルダーとの橋渡し役となり、スクラムチームが目的の達成に向けて開発を円滑に進めるための調整を行います。
スクラムでは開発工程としての一定期間の区切りをスプリントと呼びます。開発者はスプリントの中で、「インクリメント」と呼ばれるリリース可能な成果物を作成する役割を担っています。スクラムにおける成果の定義とは、プロダクトバックログの課題をクリアしていることです。開発者は必ずしもエンジニアであるとは限らず、チームによってはデザイナーやライターになることもあります。
また開発者はスプリントの課題一覧「スプリントバックログ」を作成したり、成果物の完成の定義を守って品質を作りこんだりと、その期間中に行わなければならないさまざまな仕事を担当します。
スクラムマスターの役割は、スクラムチームのメンバーがスクラムへの理解を深めて、円滑に開発を進められるように支援することです。効率的に開発を行い、メンバーが価値の高いインクリメントを集中して作成できるよう支援し、進捗を妨げる障害があれば排除します。メンバーがさまざまな役割を担いながらチームとして自己管理できるようコーチするとともに、全ての事柄が予定通り進むよう取り計らう力が求められます。
スプリントの期間は1カ月以内が最適とされており、プロダクトの長期的目標が達成されるまで繰り返されます。1回のスプリントの中では、4つのプロセスを進めながら2つの作成物を生成します。詳しく見ていきましょう。
スプリントプランニングとは、スプリントの開始時にスクラムチーム全体で作業計画を立てるプロセスです。最初にプロダクトオーナーの提案に基づいて、今回のスプリントの目的を定義します。
といったことを話し合います。
次にプロダクトバックログと照らし合わせながら、開発者を中心に現在のスプリントで期間内に実行することを選択・細分化し、インクリメントを作成するために必要なタスクを決めていきます。
スプリントバックログは、プロダクトバックログの上位にあるストーリー(優先度の高いストーリー)の中から、そのスプリントで開発に取り組むストーリーをピックアップし、それらを実現するためのタスクに細分化したものです。
デイリースクラムとは、スプリントゴールへ向けて作業の進捗を点検し、必要に応じて今後の計画を修正するプロセスです。メンバー全員が同じ認識を持てるよう、毎日同じ時間に15分程度行うのが望ましいとされています。基本的に開発者同士で行うものですが、必要に応じてプロダクトオーナーやスクラムマスターが参加するケースもあります。スクラムチームのコミュニケーションの促進や課題の特定、意思決定の迅速化などの効果があります。
スプリントレビューはスプリントの成果物を、プロダクトオーナーやステークホルダーに提示し、長期的目標に向けての進捗を議論するプロセスです。スクラムチームは、今回のスプリントで実現できた点や環境の変化を報告し、報告相手にフィードバックをしてもらいます。
プロダクトオーナーはスプリントレビューの内容をもとに、プロダクトバックログの項目を見直し、調整します。プロジェクト全体の進捗状況が可視化され、ステークホルダーとの認識を合わせながらプロジェクトを円滑に進められるようになります。
先述の通りインクリメントとは、完成の定義を満たしたプロダクトバックログアイテムです。スプリントプレビューで検証され、リリース可能と判断された成果物が、インクリメントとなります。
プロダクトの長期的目標は、すなわちインクリメントの積み重ねとなるため、新たなインクリメントは過去のインクリメントと組み合わせたときに、正しく機能する必要があります。
スプリントレトロスペクティブは、スプリントの最後に行う振り返りのプロセスです。メンバー個人やメンバー間のやり取り、作業プロセス、ツールなどについて意見交換し、うまくいった点や改善すべき点を洗い出します。振り返りで分かったことは、次回のスプリントですぐに取り入れるようにします。
ここまでスクラムの仕組みや背景にある考え方について解説しました。「スクラムによるアジャイル開発に取り組みたい」とお考えのプロジェクトマネージャーや事業責任者の方々へおすすめするプロジェクト管理ツールが「Jira Software」です。
Jira Softwareでは、スクラムテンプレートを活用することで、バックログ作成やスプリントの計画、スプリントの目標設定、プロダクトバックログからスプリントバックログへのスムーズな流し込み、ロードマップの確認などを視覚的に行えます。チーム全体の作業状況の確認も一元化できるため、チーム内の連携を維持しやすくなるでしょう。
Ricksoftは「Jira Software」の開発元Atlassianより認定された「Platinum Solution Partner」です。多くの企業への製品導入サポートを通して蓄積した知見とノウハウを強みとして持ち、独自の有償サポートや研修サービスも実施しています。導入をご検討の際はRicksoftへご相談ください。
【監修】
リックソフト株式会社
小田倉晃
ステム開発やソフトウェア開発の開発手法の中で、近年ではスピーディで柔軟な対応ができるアジャイルが人気を得ています。