スプリント

スプリントとは、スクラムチームが一定量の作業を完了させる際の、短く区切られた期間を指します。

Max Rehkopf Max Rehkopf
Browse topics

スプリントとは?

スプリントとは、スクラムチームが一定量の作業を完了させる際の、短く区切られた期間を指します。スプリントは、まさにスクラムとアジャイル手法の中心であり、スプリントを適切に扱えれば、アジャイルチームがより優れたソフトウェアをリリースするための苦労を減らせられます。

アトラシアンの JiraSoftware のグループプロダクトマネージャーである Megan Cook は次のように述べています。「スクラムを使用すると、スプリントと呼ばれる一連のイテレーションで製品を構築できます。スプリントは、大きくて複雑なプロジェクトを扱いやすいサイズに分割します」

スクラムスプリントと連続するイテレーションのプロセスを表す 2 つの矢印

スクラムスプリントとアジャイルソフトウェア開発が関連付けられることが多いことから、スクラムとアジャイルが同一視されることがよくあります。しかし、これらは同じものではありません。アジャイルは一連の原則であり、スクラムはそれを実行するためのフレームワークです。

アジャイルの価値とスクラムプロセスには多くの類似点があるため、適切な関連付けが可能になります。スプリントによって、チームは「有効なソフトウェアを頻繁に提供する」というアジャイルの原則に従い、「計画に従いながら変更に対応する」というアジャイルの価値観を実行できるようになります。透明性、検査、適応というスクラムの価値は、アジャイルを補完するものであり、スプリントの概念の中心になります。

スクラムガイドは、スプリントを検討するうえで、強固で理論的な基盤となります。ここでは、このような作業を日常的に行うユーザーのベストプラクティスを明らかにすることにより、このトピックを補足しています。

スクラムスプリントの計画と実行方法

スクラムスプリントの手順を示す図: スプリントプランニング、デイリースクラム、スプリントレビュー、スプリントのふりかえり

スクラムではあらゆることを検討する必要がありましたが、次回のスプリントを計画する際には、スプリント計画のミーティングを開催します。スプリント計画は、チームが協力して行うイベントであり、このスプリントで実行できる作業は何か、選択した作業はどのようにすれば実行できるか、という 2 つの基本的な質問への答えを考えます。

スプリントに適した作業項目の選択は、プロダクト所有者、スクラムマスター、開発チームの共同作業です。プロダクト所有者は、スプリントで達成すべき目標と、スプリントの目標の達成のために完了させる必要があるプロダクトバックログの項目について話し合います。

次に、チームは、スプリントが終了する前に、バックログアイテムの構築方法と、それらを「完了」するための方法に関する計画を作成します。選択した作業項目とそれらを実行する方法の計画は、スプリントバックログと呼ばれます。スプリント計画が終了するまでに、チームはスプリントバックログの作業を開始する準備をして、バックログの項目を「進行中」と「完了」に移動します。

スプリント中は、チームは毎日のスクラム (スタンドアップ) の際に、作業の進捗状況を確認します。このミーティングの目標は、スプリントの目標を達成しようとするチームの能力に影響を与える障害と課題をすべて明らかにすることです。

スプリント後は、スプリントのレビュー中に完了した内容に関するデモを行います。これは、本番稼働前にチームの成果を関係者やチームメイトに紹介する機会になります。

スプリントサイクルは、楽しみにしている人も多いミーティング、スプリントのふりかえりで締めくくりましょう。これは、チームが次のスプリントのための改善点を特定する機会です。これで、次のスプリントサイクルを開始する準備が整います。では、さらに進めていきましょう。

「するべきこと」と「してはいけないこと」

基本は理解できていても、ほとんどのチームはスプリントを開始するときにつまずきます。本トピックの最後に、 Megan Cook が長年にわたる経験の中から選んだ「するべきこと」と「してはいけないこと」を紹介します。

するべきこと:

  • チームがスプリントの目標と成功の測定方法を設定して、理解していることを確認します。これは、全員の意識を揃えて、共通の目的地に向かって前進するために重要です。
  • 優先順位と依存関係の順番で、バックログを適切に整理します。これが適切に管理されていない場合、大きな問題となり、プロセスが混乱する可能性があります。
  • ベロシティを十分に把握し、休暇やチームミーティングなどを反映するようにします。
  • スプリント計画ミーティングを使用して、完了すべき作業の詳細を細部まで具体化します。チームメンバーに、スプリントの対象となるすべてのストーリー、バグ、タスクに関するタスクの概略を示すように促します。
  • 他のチームの作業、設計、法的承認など、依存関係を完了できない作業は省略します。
  • 最後に、決定または計画が行われたら、Jira チケットなどのプロジェクト管理ツールまたはコラボレーションツールでその情報を取得するようにします。そうすることで、決定と理論的根拠の両方を誰もが後で確認できるようになります。

スクラムの全員でこれらの「すべきこと」に取り組む一方で、次のような項目には注意を払う必要があります。

してはいけないこと:

  • 多くのストーリーを取り入れすぎたり、ベロシティを過大評価したり、スプリントで完了できないタスクを取り入れたりしないでください。自ら失敗を招くような事態は避ける必要があります。
  • 品質や技術的負債についても忘れないでください。バグやエンジニアリングの健全性など、QA や機能以外の作業にも時間を割り当ててください。
  • チーム内でスプリントの内容を曖昧なままにしておかないでください。対象を絞り込んでください。全員が同じ方向に進むことを忘れがちになるため、スピードばかりを重視しないでください。
  • また、扱ったことがない、またはリスクの高い仕事を大量に引き受けないでください。大規模なストーリーや不確実性の高いストーリーは細分化し、作業の一部を次のスプリントに残すことも検討してください。
  • チームからの懸念する声が上がった場合は、それがベロシティ、不確実性のある作業、想定よりも規模が大きいと思われる作業のいずれであっても、それらの声を無視するようなことはしないでください。問題に対処し、必要があれば再調整してください。

スプリントの詳細について

スプリントは利用者が非常に多く、効率的であることから、俊敏性を高めるための最初のステップであると見なされがちです。ここで見てきたように、スプリントをマスターするには、相互に構築されるスクラムとアジャイルの概念をいくつか熟知する必要があります。スクラムに関する他の記事を読んで、知識を深めるとともに、スクラムをさらに活用できるようにしてください。