スクラムフレームワークを用いたアジャイル開発の始め方

スクラムフレームワークの基盤は、1986年に竹内弘高と野中郁次郎がハーバード・ビジネス・レビューに掲載した『新しい新しい製品開発ゲーム』という記事で紹介された。著者たちは、製品開発を管理するための2つのアプローチを説明した。一部のチームは直線状のリレー競争のように、バトンを渡しながら作業を進める。他のチームは1試合中のラグビー選手のように、必要に応じてボールをやり取りしながら活動する。

竹内と野中は、NASAの段階的計画システムで用いられているリレーレース方式は時代遅れだと結論づけた。彼らは、ラグビー方式がグローバルな商業世界で競争するためのツールを企業に提供すると主張した。

1993年、ジェフ・サザーランド、ジョン・スカミオタレス、ジェフ・マケナはソフトウェア会社Easel Corpでスクラムソフトウェアの開発を実験した。1995年、ケン・シュワーバーとサザーランドをはじめ、マケナやスカミオタレスらも含めたグループが『スクラム開発プロセス』という論文を発表した。これにより、開発者たちが伝統的なウォーターフォール型ソフトウェア開発モデルの有効性を疑問視する大きな転換が起こった。

2020年11月、サザーランドとシュワーバーは『スクラムガイド』の更新版を発表した。このガイドにはスクラムの公式定義が含まれている。

スクラムとアジャイルの関係

アジャイルは開発およびプロジェクト計画のアプローチである。アジャイル宣言で説明されているように、それは下位の手法を導く包括的な哲学またはフレームワークを持っている。スクラムはいくつかのアジャイル手法の一つである。

スクラムはアジャイルを実装する実用的な方法と見なせる。アジャイルと同様に、スクラムには価値観と原則のセットが含まれている。開発チームは、アジャイル戦略にスクラムを取り入れることで、より具体的な層を加える。

アジャイル開発の一つの原則は、チームメンバーが効率を向上させる方法について定期的に話し合い、それに基づいて行動を調整することである。スクラムは、チームがこの作業を支援するための公式プロセスを組み込んでいる。デイリーメーティングにより、チームは次の24時間に何をすべきかを検討し、期待や障害に応じてアプローチを調整できる。

もう一つのアジャイルの原則は、最高の成果は自己主導のチームから生まれることを認めている。スクラムマスターはここでの鍵となる役割を果たす。彼らはチームが仕事を遂行するために必要なものを提供し、自らの道を設定する自由を与える。その後、彼らはサーバントリーダーとして、チームが問題を解決し、目標を達成し、対立を解決するのを導く。

スクラムの柱と価値観

スクラムの三つの柱は、適応、検査、透明性である。

  1. 適応。チームは問題解決のアプローチを継続的に調整し、新たな問題が発生した際には新しい方法を採用する。
  2. 検査。チームは継続的に自らのパフォーマンスを振り返り、評価する。
  3. 透明性。チームは全員が互いのプロセスを理解し、他のメンバーが直面する課題を把握できるオープンな環境で作業を行う。

スクラムの5つのコア価値

これらの価値は三つの柱を支える:

  1. コミットメント。チームは自己主導であり、全員が合意された作業を完了することに尽力する。
  2. 勇気。チームは一体となって活動する——成功も失敗も共有する。メンバーは正しく行動し、難しい課題に取り組む。
  3. 集中。気を散らす要因は制限され、チームは今日やらなければならない作業に集中する。
  4. オープンさ。チームは、何がうまくいっているか、何を改善すべきかを共有する時間を設ける。
  5. 尊重。チームメンバーにはそれぞれ異なる強みがあり、個人の強みが尊重される。問題解決の方法を検討する際、誰も責められない。

スクラムは、チームワーク、責任感、明確に定義された目標への段階的な進捗を重視するプロジェクト管理フレームワークです。このフレームワークの基本的な前提は、見えるものや既にわかっていることから始めることです。その後、進捗を追跡し、必要に応じて調整します。

スクラムは一般的にアジャイルソフトウェア開発の一部です。ラグビーのフォーメーションに由来しており、全員が役割を果たします。ソフトウェア開発におけるスクラムの役割には以下が含まれます:

  • プロダクトオーナー — この人物は開発チームと顧客の間の調整役を務めます。プロダクトオーナーは、完成した製品に対する期待が適切に伝達され、一致していることを確認します。
  • スクラムマスター — プロジェクトファシリテーターとして知られています。スクラムのベストプラクティスが遵守されていることを確認します。優れたリーダーシップとプロジェクトマネジメント能力を持ち、協働、紛争解決、プロセス改善のスキルが求められます。
  • 開発チーム — スクラム開発チームのメンバーは、最終製品の段階的なバージョンを作成し、テストするために協力します。開発者はスクラムおよびアジャイル開発の実践を理解している必要があります。

What is Scrum Team? - Scrum Guide

スクラムプロセスとは何ですか?

スクラムプロセスは、実践者が持っているものを活用し、何が効果的で何が効果でないかを継続的に評価することを促します。良好なコミュニケーションは不可欠であり、会議(「イベント」と呼ばれる)を通じて行われます。

スクラムのイベントには以下が含まれます:

Scrum Events

  • デイリースタンドアップ(デイリースクラム) — 毎日同じ時間・場所で行われる短時間の立会いの日次会議です。この会議では、前日の成果を確認し、次の24時間の作業計画を立てます。プロジェクトの完了を妨げる可能性のある問題についてチームメンバーが話し合う時間です。
  • スプリント — スプリントは、作業が完了しなければならない固定された時間枠(通常30日)です。前のスプリントが終了すると、直ちに新しいスプリントが始まります。
  • スプリント計画会議 — この会議では、全員が目標設定に参加します。最低限、少なくとも1つのインクリメント(使用可能なソフトウェアの一部)が成果として得られます。
  • スプリントレビュー — これはインクリメントをデモンストレーションする時間です。
  • スプリントリトロスペクティブ — スプリントリトロスペクティブは、スプリント終了後に開かれる会議です。この会議では、全員がプロセスについて振り返ります。チームビルディングの活動も含まれる場合があります。このイベントの主な目的の一つは継続的な改善です。

スクラムアーティファクトとは何ですか?

スプリント計画会議中にスクラムアーティファクトを確認することは有用です。スクラムアーティファクトには以下が含まれます:

Scrum Artifacts

  • プロダクトバックログ — まだ実施されていない作業のリストです。プロダクトバックログの精査会議では、開発チームがビジネスオーナーと協力してバックログの優先順位を決定します。バックログ精査と呼ばれるプロセスを通じて、プロダクトバックログを微調整できます。
  • スプリントバックログ — 選択されたプロダクトバックログ項目を提供する前に完了しなければならないタスクのリストです。これらは時間枠付きのユーザーストーリーに分解されます。
  • プロダクトインクリメント — これはスプリント中に完了した内容を表します。つまり、そのスプリントで完了したすべてのプロダクトバックログ項目に加え、以前のスプリントで作成されたすべての内容を含みます。プロダクトインクリメントは進捗を反映しています。
  • バーンダウンチャート — バーンダウンチャートは、残り作業量を視覚的に表したものです。縦軸には作業量、横軸には時間を示します。理想的には、残り作業量が時間とともにゼロに減少するにつれて、下向きの傾向を示します。

スクラム手法の利点

スクラムの主な利点には以下が含まれます:

  • 高品質な製品 — スクラムプロセスのスプリントリトロスペクティブはフィードバックと継続的な改善に基づいています。その結果、この手法を用いる開発チームは高品質な製品を提供できます。
  • チームワーク — スクラムは効果的にコミュニケーションを取り、納期を守り、問題を一緒に解決できる統合されたソフトウェア開発チームを構築します。メンバー同士が信頼し合い、尊重し合い、時間の価値を理解しています。これにより、デイリースクラムを厳格な時間枠に制限することがあります。一部のソフトウェアチームでは、開発者が新しい概念を検討し、アイデアをテストし、製品に対する責任を負うことを可能にする「ハックスプリント」をプロセスに組み込むことがあります。
  • 柔軟性 — スクラムでは、チームは新しい状況に合わせてツールやプロセスを適応しなければなりません。開発が進むにつれて製品の定義が進化する可能性があり、効果的なチームはこれらの変更を複数の反復で提供します。定期的なプロダクトバックログ会議により、スプリントに入る前にチームが優先順位を再設定できます。
  • リスク低減 — スクラムは予測可能で持続可能な納品速度と一貫したフィードバックに注力し、チームが早期かつ頻繁にリスクを低減する機会を提供します。もしアイデアが機能しなければ、短いスプリントによりチームは迅速に失敗を経験でき、失敗を管理可能にします。
  • 市場投入までの期間短縮 — スクラムは明確に定義されたスプリントを用いて、予測可能な段階で製品や機能をリリースすることを目的としています。機能のリリースには製品全体の完成を待つ必要はありません。スプリントは各段階で出荷可能な機能を追加することを目的としています。これらの機能で構成される完全な製品は、複合製品と呼ばれます。
  • 投資利益率(ROI)の向上 — スクラムの利点を統合することで、より高い投資利益率(ROI)が実現します。継続的なフィードバックにより、プロセスの後半に発生する高コストの誤りを削減し、欠陥の少ないより良い製品品質を実現します。市場投入までの期間短縮と段階的なリリースにより、収益をより早く得られます。

コメントを残す