スクラム開発で用いられるスプリントとは何か?いまさら聞けないアジャイル開発の用語を解説

2021年3月3日

スプリントの概要

スプリントは代表的なアジャイル開発のひとつ、スクラム開発で使われる用語です。
スクラム開発では顧客が要望するシステムに実装すべき機能をいくつかの段階に分け、優先度の高い順に反復して開発することが特徴です。
この反復の単位を「スプリント」と呼びます。

スプリントの期間は短期間であることが特徴で、通常1~4週間で設定されます。
この期間中に、仕様の確定から詳細設計、開発、テストまで、システム開発に必要なほぼすべての業務が行われます。
実施される主なイベントは、以下の4つが挙げられます。

これらのイベントについては、後程詳しく解説していきます。

スプリントの体制

スクラムの体制のイメージ

スプリントを始める前には、以下のスクラム開発の体制を整えておく必要があります。

  • プロダクトバックログを管理する「プロダクトオーナー」
  • 開発するメンバーを集めた、3~9名程度の「スクラムチーム」
  • 開発がうまくいくように支援する「スクラムマスター」

スプリントは開発者にとって、実装すべき機能の開発に集中する期間でもあります。
そのため、途中で開発内容を変更する要求は受け付けられません。機能の追加や変更を行うかどうかは、次回以降のスプリントで検討されます。

スプリント完了時には開発対象の機能が完成し、使える状態になることが目標です。
しかし一部の機能が未完成の場合でも、期間は延長されません。未完成の機能は次回以降のスプリントにおいて、改めて検討が行われます。

スプリントはどうやって使われるか

スプリントの概要

ここからは、実際の開発におけるスプリントの流れと使われ方を確認していきましょう。

スプリントを開始する前には、今回のスプリントにおける開発項目を決める必要があります。
これはシステムに要求される機能をまとめた「プロダクトバックログ」から、以下の項目を参考にして抽出します。

  • 開発の優先順位
  • 開発する見積り
  • スプリントの期間

開発する項目が決まったら「スプリントバックログ」というリストにまとめ、2~8時間程度のタスクに分割し開発メンバーに割り当てます。
これはスプリント開始時の会議「スプリントプランニング」で行われ、開発する項目をメンバー全員で共有します。

スプリント期間中は、日々「デイリースクラム」「朝会」などと呼ばれる短時間の会議が行われ、各メンバーの進捗状況を共有します。進捗が思わしくない場合は、適宜対策を取る必要があります。

スプリントの期間終了時には、関係者に対して成果物を動かしてみせる「スプリントレビュー」が行われます。
機能に問題がなければリリースされる一方、何らかの問題がある場合は次回以降のスプリントに持ち越されます。
開発チームにとって開発が進んでいることをアピールする機会でもあることは、見逃せないポイントです。

また「スプリントレトロスペクティブ」という会議も行われます。
今回の開発で得た成果と課題を取り上げ、次回以降に役立てるための建設的な話し合いをします。

スプリントはなぜ求められるようになったのか

スプリントが求められる理由は、アジャイル開発の特徴と深い関係があります。そもそもアジャイル開発は、途中での修正がしやすいことが特徴。最小限の機能だけ短期間で作って、後で機能を付け足すといった方法も可能です。

しかしいくら修正しやすいからといっても、開発チームに対して毎日のように追加の開発要求が来たらどうなるでしょうか。日々作業順序を修正せざるを得ず、手戻りや無駄になる作業も増えてしまうでしょう。最悪の場合、いつまでたってもシステムが完成しない事態になりかねません。

アジャイル開発の長所を保ちつつ効率的に開発するためには、開発項目を固定できる期間を決める必要があります。スプリントは、この目的を実現する上で重要です。手戻りを防ぎ、迅速な開発と実装に貢献します。スプリントがあるからこそ、開発者は全力で取り組めるといえるでしょう。

参考