この記事に関連するお役立ち資料

AIを活用した業務自動化 事例BOOK
無料ダウンロード
スクラム開発におけるベロシティは、作業量の参考値として非常に重要です。しかし、ベロシティの安定化に悩まされている人が少なくありません。
本記事では、スクラム開発におけるベロシティの役割や安定化させる方法について解説します。


まず、以下の2つの言葉について説明します。
スクラム開発
ベロシティ
スクラム開発とは、アジャイル開発における手法の1つです。チームを組んで役割やタスクを分散し、それぞれがタスクを達成してプロダクトの完成を目指すため、ラグビーのスクラムから「スクラム開発」と呼ばれています。
それぞれの作業が他の人の作業を支えている形となるため、チームワークやコミュニケーションが欠かせません。
ベロシティとは、企業のプロジェクトにおいて開発担当チームの作業速度、または作業量を指します。
基本的には、ストーリーポイント数という作業完了に必要な全体見積りを示す測定単位で表現します。
ベロシティを活用し、スクラム開発期間内に完了できる作業量をストーリーポイントとして数値化すれば、業務完了までの期間が予測できたり、スクラムの成長度合いを把握する際に役立つでしょう。

スクラムにおけるベロシティの役割として、以下の3点が挙げられます。
スプリントの参考値指標
開発完了予定の算出
チームの成長度合いの把握
スプリントはスクラム開発で使われる用語で、システムに実装すべき機能を優先度の高い順に反復する際の単位を指します。
スプリントの期間は通常1〜2週間と短期間であることが特徴で、仕様の確定から詳細設計・開発・テストまで、システム開発に必要なほとんどの業務が行われます。
スクラム開発で新しいスプリントを開始する際、スプリントプランニングで実施するストーリーを見ながら計画を立て、スプリントで予定している作業が完了するかどうかの検討が欠かせません。
その計画作りの参考値を算出する際に、ベロシティを利用し、予定しているスプリントの合計ポイントを過去のスプリントのベロシティと比較し、達成可能なポイントかどうかを判断します。
その際、前スプリントだけではなく、直近の3スプリント程度の幅を取って複数のスプリントと比較しましょう。
【関連記事】スクラム開発におけるスプリントとは|特徴や流れ・用語を解説
ベロシティは、開発の完了時期の算出にも活用します。あくまで見込みとしての予測となりますが、過去のスプリントで完了した作業量をベースに算出するため、現実的な予測値として表すことができます。
ベロシティの計算イメージは、以下の通りです。
(計算式)
案件全体のストーリー合計÷チームのベロシティ=予測スプリント数(例)
案件全体のストーリー合計:300ポイント
チームのベロシティ:30ポイント
300÷30=10
つまり予測されるスプリント数は10となり、1スプリントが1週間であれば、10週で開発が完了する予定です。
前述した通り、ベロシティとは企業のプロジェクトにおいて開発を担当するチームが作業を進める速度、または作業量の値です。
そのため、ベロシティが安定している場合や、上昇傾向にある場合はチームが成長しているといえます。
しかし、ベロシティに大きなばらつきがあった場合は、作業工程やチームの見直しが必要かもしれません。
ベロシティはチームの状態を可視化するのに適しているため、業務の効率化・問題の解決・スキルアップにもつながるでしょう。


スクラムのベロシティで気をつける点として、以下の4点が挙げられます。
直近のイテレーションのみで判断しない
ベロシティを上げるのを目的にしない
他チームとベロシティを競わない
ベロシティでチームを評価しない
イテレーションとは、アジャイル開発手法において、プロセスの中に組み込まれた一連の工程を短い期間にまとめ、何度も繰り返すサイクルの単位を指します。
1回のイテレーションの構成や期間は開発手法によりますが、概ね数週間の間に設計・実装・テストなどを実施します。
しかし、ベロシティは稼働日・チームメンバーの出勤率・見積もりの甘さなどの環境要因により、影響を受けることが少なくありません。
そのため、直近のイテレーションのみを参考に判断すると、進捗が悪くなったり同じ失敗を繰り返したりする可能性があるため、できるだけ複数回のイテレーションを参照し、平均値を基に判断することをおすすめします。
ベロシティは数値で結果が明確になるため、開発チーム内でベロシティを上げようとしたり、他チームと数値を比較して競争心が生まれるかもしれません。
しかし、ベロシティの本来の目的は、各スプリントでの作業を安定させることです。
ベロシティの数値を上げるのはよいことですが、ベロシティを上げることが目的にならないように注意が必要です。
ベロシティを上げること自体が目的になってしまうと、残業の増加や過度なプレッシャーからのストレス・チーム同士の関係性悪化などにつながることが少なくありません。
そのため、今一度ベロシティはチームが安定したペースで開発作業をするための参考値であり、あくまでチームメンバーが安定したペースで作業できる計画の参考値として捉えましょう。
ベロシティはあくまでそのチーム・メンバーでできる作業量であって、他のチームと比較する必要はありません。
また、ストーリーポイントの基準も異なります。
ベロシティの数値を他チームと比較して競争心がおこる場合がありますが、チームごとに基準や見積もりも異なるため、競争はチームメンバーのストレス原因にもなりかねません。
そのためベロシティは、1つのチームが安定して作業をするための数値であることを意識し、比較ではなく、一緒に価値を届け続けるための方法を模索するようなアプローチを考えることを心掛けましょう。
ベロシティでチームを評価すると、チームのメンバーは自分たちを良く見せようと勤務に励むでしょう。
そうすると、ベロシティの数値を高めるためにストーリーポイントを多く見積もるようになるかもしれません。
これでは、無理のない開発作業を進めることが難しくなり、ベロシティを活用する意味もなくなります。
ベロシティを予測以外に使うのは避け、数値は評価と切り離すことをおすすめします。

スクラム開発でベロシティを安定化させるには、以下の5つのポイントを押さえましょう。
不確実性の高いタスクを減らす
優先すべきタスクを把握する
チームで協力し合う
キャパシティに余裕を持たせる
スプリントゴールをひとつにする
タスクの不確実性が高いと、万が一の時にスプリントからあふれてしまう恐れがあります。
あらかじめ調査タスクを積み、技術検証しておきましょう。
不明瞭な点も確認・把握し、早めに対策することでリスクを最低限にします。
また2つ以上のタスクを同時に抱えてしまうと、待っているタスクは待った分だけ単純にリードタイムが加算されていきます。
そのため、複数のタスクを同時に取るとフロー効率は悪化するため、タスクの在庫は抱えないようにしましょう。
スプリントに積まれたタスクは、すべて消化します。
消化する順番は基本的に自由ですが、クリティカルパス上のタスク・不確実性の高いタスクをできるだけ優先しましょう。
スプリント中に作業者の力量を超える問題が発生すれば、生産性が低下してしまいます。
普段から特定のメンバーだけに頼らず、助け合いながらそれぞれが適所で業務をこなすことが欠かせません。
重要なのは、問題に早期に気づくことと、いつでも助けられるように余裕を持っておくことでしょう。
手すきの時間があるからといって、業務を詰め込むのはおすすめできません。
ソフトウェア開発は不確実性をはらみ、必ず問題が起きます。作業のバッファを作ることで、突然のトラブルにも対応できやすくなるでしょう。
スプリントゴールが複数並行していると、チームの余裕がなくなり生産性が下がってしまいます。
スプリントゴールの複数並行は、 チームの2正面作戦を強いて、生産性を下げるため、各個撃破した方がトータルでは効率がよいかもしれません。
【関連記事】【基本】アジャイル開発・スクラムの進め方とポイント

スクラム開発におけるベロシティについて、いかがでしたか。顧客と良い関係性を築きつつ、効果的に開発を進めるためには、ベロシティの有効活用が欠かせません。
ただ、誤った活用方法にならないように注意しましょう。
チームを立ち上げたばかりの時期は、ベロシティが安定しにくい傾向にあるため、焦らずに余裕を持って取り組みされることをおすすめします。なお、開発チームの用意が間に合わない、アジャイル開発で構築したいものがあるといったご相談はぜひお気軽にお問い合わせください。
この記事に関連するお役立ち資料を無料ダウンロード

AIを活用した業務自動化 事例BOOK
AI技術を活用した社内業務効率化の基本から、実際の導入ステップまでをわかりやすく解説しています。
下記フォームにご記入下さい。(30秒)
テックユニットは、下記のような方におすすめできるサービスです。
お気軽にご相談ください。
・開発リソースの確保に困っている方
・企業の新規事業ご担当者様
・保守運用を移管したい方
・開発の引き継ぎを依頼したい方


おすすめの記事
関連する記事はこちら
システム開発依頼書(RFP)とは?作成法とポイント・注意点
システム開発を外部に依頼する際の手続きがわからないシステム開発依頼書(RFP)の作成方法がわからないベンダーに依頼する際、具体的な要件をまとめるのが難しいシステム開発を外部に依頼する際には、システム開発依頼書(RFP)を作成する必要がありま...
Google Firebaseとは?主な機能やメリットを徹底紹介
Google Firebaseは、モバイルアプリやWebアプリのためのバックエンドプラットフォームです。ユーザー認証、リアルタイムデータベース、ストレージ、プッシュ通知、アプリ分析などの豊富な機能があり、開発者はサーバーの設定や管理の手間を...
Elasticsearchとは?特徴、出来ることを徹底解説 [初心者向け]
Elasticsearchとは、検索や解析、分析に活用できる有用なツールです。ツールの優位性を把握することで、業務内でも有効活用できるはずです。スケーラビリティに優れており、LuceneをベースにJSON形式でデータを取り扱うため、Java...
[入門] AWS Lambdaってなに? | サービス内容や用途、導入のメリットを徹底解説
AWS Lambdaは、Amazon Web Services(AWS)が提供するサーバーレスコンピューティングサービスです。AWS Lambdaを使うことで、サーバーの管理やスケーリングの手間を省き、データの加工処理やバックエンド処理を効...
オーバーエンジニアリングとは?原因や回避する方法を解説
オーバーエンジニアリングは、成果物において本来不要な機能を実装することを指します。気を利かせて開発したものの、過剰または非効率な設計となり、最短コースでプロジェクトを進められなくなる難点があります。本記事では、オーバーエンジニアリングの基本...
Node.js とはなにか?できることを初心者にもわかりやすく解説
Node.jsは、JavaScriptをクライアントサイド・サーバーサイドのどちらにも使える環境を作れます。ウェブサーバーやAPIサーバー、ストリーミングサーバー、リアルタイム通信アプリケーションなど、さまざまな種類のアプリケーションの開発...
3分で分かるTerraform | AWS等のインフラ整備に役立つ"IaC"をわかりやすく解説
Terraformは「IaCツール」としてエンジニアから人気があるため、名前はご存知かもしれません。では、インフラ設定作業を自動化するために多くの開発現場で使われているTerraformは、どのようなメリットがあるのでしょうか。本記事では、...
Laravelとは?読み方や特徴・将来性を現役エンジニアがわかりやすく解説
システム開発やソフトウェア開発において、PHPで書かれたフレームワークの1つであるLaravel。PHPのフレームワークの中で最も人気を集めていますが、扱うためにはどのような特徴があり、何に向いているのかを明確にしておく必要があります。本記...
【3分解説】MongoDBとは?基本やメリット、使いどころを紹介
近年、急速なデジタル化に伴いデータベースへの要求が増え、既存の表形式のRDB(リレーショナルデータベース)では対応できないケースが少なくありません。MongoDBは、RDBで対応できない際によく利用されるNoSQLデータベースの1つです。で...
サーバーレスとは?メリットとデメリットも含めて解説
近年、クラウドを活用する企業が増え、よりエンジニアの手間と時間を削減できるサーバーレスが注目されています。しかし、サーバーレスとクラウドサーバーの違いをきちんと説明できる方はおそらく少ないでしょう。本記事では、サーバーレスとは何か、メリット...
AWSとはどんなクラウドサービス?初心者にもわかりやすく簡単に説明・解説
近年ITの進化はすさまじく、日常やビジネスにおいてクラウドサービスは欠かせません。代表的なクラウドサービスの一つとして、Amazon Web Services(AWS)が挙げられますが、AWSがどのようなものなのか説明できる人は少ないでしょ...
リグレッションテストとは?観点や方法・デグレーションとの違いを解説
システム開発は複雑になるほど、改修を実施した際に不具合の発生リスクが高まります。そのため、改修内容に応じて、影響がでていないかをチェックするリグレッションテストの実施が求められます。不具合を早期に検出できれば、リリース後の発覚による大きな手...
人気記事ランキング
おすすめ記事