スクラム開発におけるベロシティは、作業量の参考値として非常に重要です。しかし、ベロシティの安定化に悩まされている人が少なくありません。本記事では、スクラム開発におけるベロシティの役割や安定化させる方法について解説します。【開発チームを探すならテックユニット】月額契約で貴社専属の開発チームをご用意し、アジャイル開発でプロジェクトを推進します。従来の開発スタイル(一括請負)の課題を解決し、テック部門をすぐに設立できるテックユニットは、新しいプロジェクトから既存システムの改修まで対応できます。下記のような方におすすめできるサービスです。お気軽にご相談ください。・開発リソースの確保に困っている方・企業の新規事業ご担当者様・保守運用を移管したい方・開発の引き継ぎを依頼したい方>>テックユニット(月額制アジャイル開発)の詳細はこちらスクラムで利用されるベロシティとはまず、以下の2つの言葉について説明します。スクラム開発ベロシティスクラム開発スクラム開発とは、アジャイル開発における手法の1つです。チームを組んで役割やタスクを分散し、それぞれがタスクを達成してプロダクトの完成を目指すため、ラグビーのスクラムから「スクラム開発」と呼ばれています。それぞれの作業が他の人の作業を支えている形となるため、チームワークやコミュニケーションが欠かせません。ベロシティベロシティとは、企業のプロジェクトにおいて開発担当チームの作業速度、または作業量を指します。基本的には、ストーリーポイント数という作業完了に必要な全体見積りを示す測定単位で表現します。ベロシティを活用し、スクラム開発期間内に完了できる作業量をストーリーポイントとして数値化すれば、業務完了までの期間が予測できたり、スクラムの成長度合いを把握する際に役立つでしょう。スクラムにおけるベロシティの役割スクラムにおけるベロシティの役割として、以下の3点が挙げられます。スプリントの参考値指標開発完了予定の算出チームの成長度合いの把握スプリントの参考値指標スプリントはスクラム開発で使われる用語で、システムに実装すべき機能を優先度の高い順に反復する際の単位を指します。スプリントの期間は通常1〜2週間と短期間であることが特徴で、仕様の確定から詳細設計・開発・テストまで、システム開発に必要なほとんどの業務が行われます。スクラム開発で新しいスプリントを開始する際、スプリントプランニングで実施するストーリーを見ながら計画を立て、スプリントで予定している作業が完了するかどうかの検討が欠かせません。その計画作りの参考値を算出する際に、ベロシティを利用し、予定しているスプリントの合計ポイントを過去のスプリントのベロシティと比較し、達成可能なポイントかどうかを判断します。その際、前スプリントだけではなく、直近の3スプリント程度の幅を取って複数のスプリントと比較しましょう。【関連記事】スクラム開発におけるスプリントとは|特徴や流れ・用語を解説開発完了予定の算出ベロシティは、開発の完了時期の算出にも活用します。あくまで見込みとしての予測となりますが、過去のスプリントで完了した作業量をベースに算出するため、現実的な予測値として表すことができます。ベロシティの計算イメージベロシティの計算イメージは、以下の通りです。(計算式)案件全体のストーリー合計÷チームのベロシティ=予測スプリント数(例)案件全体のストーリー合計:300ポイントチームのベロシティ:30ポイント300÷30=10つまり予測されるスプリント数は10となり、1スプリントが1週間であれば、10週で開発が完了する予定です。チームの成長度合いの把握前述した通り、ベロシティとは企業のプロジェクトにおいて開発を担当するチームが作業を進める速度、または作業量の値です。そのため、ベロシティが安定している場合や、上昇傾向にある場合はチームが成長しているといえます。しかし、ベロシティに大きなばらつきがあった場合は、作業工程やチームの見直しが必要かもしれません。ベロシティはチームの状態を可視化するのに適しているため、ベロシティでチームの成長度を測ることは、業務の効率化・問題の解決・スキルアップにもつながるでしょう。スクラムのベロシティで気をつける点スクラムのベロシティで気をつける点として、以下の4点が挙げられます。直近のイテレーションのみで判断しないベロシティを上げるのを目的にしない他チームとベロシティを競わないベロシティでチームを評価しない直近のイテレーションのみで判断しないイテレーションとは、アジャイル開発手法において、プロセスの中に組み込まれた一連の工程を短い期間にまとめ、何度も繰り返すサイクルの単位を指します。1回のイテレーションの構成や期間は開発手法によりますが、概ね数週間の間に設計・実装・テストなどを実施します。しかし、ベロシティは稼働日・チームメンバーの出勤率・見積もりの甘さなどの環境要因により、影響を受けることが少なくありません。そのため、直近のイテレーションのみを参考に判断すると、進捗が悪くなったり同じ失敗を繰り返したりする可能性があるため、できるだけ複数回のイテレーションを参照し、平均値を基に判断することをおすすめします。ベロシティを上げるのを目的にしないベロシティは数値で結果が明確になるため、開発チーム内でベロシティを上げようとしたり、他チームと数値を比較して競争心が生まれるかもしれません。しかし、ベロシティの本来の目的は、各スプリントでの作業を安定させることです。ベロシティの数値を上げるのはよいことですが、ベロシティを上げることが目的にならないように注意が必要です。ベロシティを上げること自体が目的になってしまうと、残業の増加や過度なプレッシャーからのストレス・チーム同士の関係性悪化などにつながることが少なくありません。そのため、今一度ベロシティはチームが安定したペースで開発作業をするための参考値であり、あくまでチームメンバーが安定したペースで作業できる計画の参考値として捉えましょう。他チームとベロシティを競わないベロシティはあくまでそのチーム・メンバーでできる作業量であって、他のチームと比較する必要はありません。また、ストーリーポイントの基準も異なります。ベロシティの数値を他チームと比較して競争心がおこる場合がありますが、チームごとに基準や見積もりも異なるため、競争はチームメンバーのストレス原因にもなりかねません。そのためベロシティは、1つのチームが安定して作業をするための数値であることを意識し、比較ではなく、一緒に価値を届け続けるための方法を模索するようなアプローチを考えることを心掛けましょう。ベロシティでチームを評価しないベロシティでチームを評価すると、チームのメンバーは自分たちを良く見せようと勤務に励むでしょう。そうすると、ベロシティの数値を高めるためにストーリーポイントを多く見積もるようになるかもしれません。これでは、無理のない開発作業を進めることが難しくなり、ベロシティを活用する意味もなくなります。ベロシティを予測以外に使うのは避け、数値は評価と切り離すことをおすすめします。スクラムでベロシティを安定化させるにはスクラム開発でベロシティを安定化させるには、以下の5つのポイントを押さえましょう。不確実性の高いタスクを減らす優先すべきタスクを把握するチームで協力し合うキャパシティに余裕を持たせるスプリントゴールをひとつにする不確実性の高いタスクを減らすタスクの不確実性が高いと、万が一の時にスプリントからあふれてしまう恐れがあります。あらかじめ調査タスクを積み、技術検証しておきましょう。不明瞭な点も確認・把握し、早めに対策することでリスクを最低限にします。また2つ以上のタスクを同時に抱えてしまうと、待っているタスクは待った分だけ単純にリードタイムが加算されていきます。そのため、複数のタスクを同時に取るとフロー効率は悪化するため、タスクの在庫は抱えないようにしましょう。優先すべきタスクを把握するスプリントに積まれたタスクは、すべて消化します。消化する順番は基本的に自由ですが、クリティカルパス上のタスク・不確実性の高いタスクをできるだけ優先しましょう。チームで協力し合うスプリント中に作業者の力量を超える問題が発生すれば、生産性が低下してしまいます。普段から特定のメンバーだけに頼らず、助け合いながらそれぞれが適所で業務をこなすことが欠かせません。重要なのは、問題に早期に気づくことと、いつでも助けられるように余裕を持っておくことでしょう。キャパシティに余裕を持たせる手すきの時間があるからといって、業務を詰め込むのはおすすめできません。ソフトウェア開発は不確実性をはらみ、必ず問題が起きます。作業のバッファを作ることで、突然のトラブルにも対応できやすくなるでしょう。スプリントゴールをひとつにするスプリントゴールが複数並行していると、チームの余裕がなくなり生産性が下がってしまいます。スプリントゴールの複数並行は、 チームの2正面作戦を強いて、生産性を下げるため、各個撃破した方がトータルでは効率がよいかもしれません。【関連記事】【基本】アジャイル開発・スクラムの進め方とポイント余裕を持って取り組むのがスクラムのポイントスクラム開発におけるベロシティについて、いかがでしたか。顧客と良い関係性を築きつつ、効果的に開発を進めるためには、ベロシティの有効活用が欠かせません。ただ、誤った活用方法にならないように注意しましょう。チームを立ち上げたばかりの時期は、ベロシティが安定しにくい傾向にあるため、焦らずに余裕を持って取り組みされることをおすすめします。なお、開発チームの用意が間に合わない、アジャイル開発で構築したいものがあるといったご相談はぜひお気軽にお問い合わせください。