Setting up KPIs for Agile Software Engineering Teams
あらゆる生産的なソフトウェア エンジニアリング チームは、KPI エンジニアリング指標と呼ばれる一連の選ばれた指標を通じて、その改善を追跡しています。 これらは、今日から追跡を開始すべき、最も重要な 5 つの重要業績評価指標 (KPI) 開発指標です。
KPI 指標が測定されていないエンジニアリング チームで働いたことがありますか。 もしそうなら、チームがリリースに向けて順調に進んでいるかどうかを判断するのがいかに難しいか、おそらくご存知でしょう。
実際のところ、ビジネス目標を達成したいのであれば、ソフトウェアがすべての要件を満たしていることを確認する必要があります。
ソフトウェア開発チームに KPI エンジニアリング指標を設定することにより、品質の低下や納期の遅れを回避することができます。 生産性の高いチームと高品質の製品を手に入れることができます。
ここでは、ビジネス目標を達成するために追跡すべき 5 つの重要な KPI 開発指標を紹介します。
Sprint Burndown
What Is Sprint Burndown?
Agile チームは開発をスプリントで組織化します。 スプリントバーンダウンでは、チームがスプリント中にどれだけの作業を完了したかを測定します。
What Are the Benefits?
- スプリントバーンダウンは、発生した障害をチームに認識させるのに最適です。
- スプリントブレイクダウンを測定することによって、チームが予測を満たしているかどうかを確認することができます。
- スプリントブレイクダウンチャートを使用することで、チームはその進捗を管理することができます。 チームがスプリントゴールに到達しない可能性があることを認識した場合、チームメンバーは軌道に乗るために適切な行動を取ることができます。
How Do You Measure It?
アジャイルチームは、ワークフローを視覚化するためにスプリントバーンダウンチャートを使用します。 このチャートには、時間を表すX軸と、完了するために残っている作業量を表すY軸があります。 時間は時間やストーリーポイントで測ることができます。 あるいは、独自の統計を考えることもできます。 ここでの主な目的は、スプリントの終わりまでに予測されるすべての作業を完了させることです。
使用できるツールの 1 つに Jira Sprint Breakdown チャートがあります。 これを使用するには、Jira Software アカウントと Jira Software スクラム プロジェクトを作成する必要があります。
ストーリー ポイントを表す縦軸が表示されます。 横軸は時間を表します。 グラフの赤い線は、スプリントで残っている作業量を表します。 グレーの線は実際の作業ラインです。 赤い線がグレーの線より下にあれば、チームが順調に進んでいることを意味します。 しかし、赤い線が灰色の線より上にある場合、これはプロジェクトが予定より遅れていることを意味します。
Release Burndown
What is Release Burndown?
リリース バーンダウンでは、リリース進捗の概要を把握することができます。 これはスプリント バーンダウンに似ていますが、より大きな範囲に及びます。 これは、特定の日付までに製品をリリースすることができるかどうかを確認するのに役立ちます。 もし予定より遅れていることに気づいたら、ユーザーやステークホルダーにその遅れを知らせることができます。 あるいは、そうでない場合は、作業範囲を縮小して製品を時間通りにリリースすることができます。
- チームがバックログを通してどの程度速く作業しているかを確認できます。
- チームが作業を完了するまでに何スプリントかかるか予測することができます。
How Do You Measure It?
Release burndown は、スプリント分解図に似たチャートを使用して測定されます。 違いは、横軸がスプリント、縦軸が残りの作業 (日数、時間、またはストーリー ポイント) を表している点です。
たとえば、下の画像を見てみましょう。 これは、Jira のリリース バーンダウン チャートです。 チームが最初に 4 つのスプリントと 43 のストーリー ポイントを設定したことがわかります。 この 4 つのスプリントで、チームはストーリーの数を 43 から 26 に減らしました。 さらにチームは、製品のリリースにはさらに7つのスプリントが必要であると予測し、その結果、合計11スプリントとなりました。
Cycle Time
What is Cycle Time?
サイクル タイムは、チームがタスクの作業に費やした時間を測定する KPI 開発メトリックです。 サイクルタイム チャートは、スクラム マスターやプロダクト オーナーが開発プロセスの効率を管理するために使用します。
- チームの全体的なパフォーマンスに関する情報を提供します。
How Do You Measure It?
サイクル タイムは、終了日から開始日を引いたものに等しくなります。 たとえば、チームが12月1日に作業を開始し、12月10日に終了する場合、サイクルタイムは9日です。
チームが12月1日に作業を開始し、その日のうちに作業を終了する場合、サイクルタイムは0ではなく1になります。 同じ日に始まり、同じ日に終わるプロジェクトの場合、サイクルタイムは終了日から開始日+1を引いたものになります。
日を週、時間、またはスプリントで置き換えることができます。
ワークフローを視覚化するためにサイクルタイム チャートの使用を検討してください。
たとえば、以下のチャートを見てみましょう。 X 軸にはタスクが終了した日付が、Y 軸には費やされた時間が表示されます。 緑色の丸がタスクです。 実線の円は課題の集まりを、開いた円は1つの課題を示しています。 Jiraなどのツールを使っている場合は、円の上にマウスを乗せると、タスクのキー、コード、リードタイムを見ることができます。 赤い線は平均サイクルタイムを、青い線はローリング平均サイクルタイムを表しています。
最終目標は、チームが、類似したストーリー ポイント値を持つワーク アイテムのサイクル タイムを一定にすることです。 低い値はチームが効率的に作業していることを意味し、高い値は作業プロセスにおけるボトルネックを示している可能性があります。
Team Velocity
What is Team Velocity?
Velocity は、チームがスプリント中に完了する作業量を測定する、別のアジャイル KPI エンジニアリング メートルである。 作業量は通常、ストーリー ポイントまたは時間で測定されます。
プロダクト オーナーは、チームがバックログを通じてどれだけ速く作業できるかを計算するためにベロシティを使用する。
たとえば、バックログで 300 のストーリー ポイントを完了させたいとします。 開発チームは平均して、イテレーションごとに約 50 のストーリー ポイントを完成させることを知っているとします。 手元にあるこの情報により、チームは必要な作業を完了するために 6 回の反復を必要とすると予測できます。
What Are the Benefits?
- 予測に非常に役立ちます。
- 将来のスプリントを計画するのに役立ちます。
How Do You Measure It?
安定したチームがある場合、少なくとも 5-7 スプリントを測定して、平均速度を確立することができます。 通常のスプリントが毎週で、チームが5週間の間に250のストーリーポイントを完成させた場合、平均ベロシティ率は1週間あたり50ストーリーポイントです。
下の Jira ベロシティ チャートを見てみましょう。 青い棒はコミットメントを表し、緑の棒は実際に完了した作業を表します。 スプリント番号 1 では、チームは 16 のストーリー ポイントを計画し、16 のストーリー ポイントを完了しました。 これは、彼らの見積もりが正しかったことを示しています。 しかし、2回目のスプリントでは、19のストーリーポイントを計画したが、12しか完了しなかった。 これは、次回は計画を減らすべきであることを示唆している。
一貫性のないフローは、開発に問題があり、変更を加える必要があることを示す指標です。
Cumulative Flow
Cumulative Flow とは何でしょうか。 これは、プロジェクトの進行に伴い、ある状態から別の状態へのチケットのシフトを示します。
- ボトルネックを特定するのに便利です。
- プロセスをより予測可能にする方法を理解するのに役立ちます。
How Do You Measure It?
累積ワークフローを測定する最も簡単な方法は、グラフを使用することです。 チャートでは、サイクルタイム、スループット、および進行中の作業を含む、フローの 3 つの最も重要なソフトウェア エンジニアリング メトリクスを視覚化します。
以下のチャートを見てみましょう。 横の X 軸は時間を示し、縦の Y 軸は作業項目を示しています。 色の違いは、さまざまなワークフローの状態を表しています。 帯が並行して進行している場合は、スループットが安定していることを意味します。 これは、ワークフローに入る新しいタスクの数とワークフローから出るタスクの数が同じであることを示します。
バンドが急速に狭まっている場合、必要以上の容量があることを意味します。 フローを最適化するために容量を再配置する必要があります。
バンドが急速に広がっている場合、対応するステージから出る割り当てよりも多くのカードが入力されていることを意味します。 Kanbanize Cumulative Workflow Chart
Summing Up
上で説明した KPI 開発指標を追跡することは、製品開発プロセスを成功に導くことにつながります。 最終的には、プロジェクトの進捗を推測するのをやめ、開発ライフサイクルの各ステージに対する詳細な洞察を得ることができます。
低品質の製品、締め切りの遅れ、コードの失敗などの悪循環に終止符を打ちたいのであれば、今日から KPI 開発の実装を始めましょう。 6006>
により、リスクを伴わない最高品質の製品をリリースすることができます。