はじめにはじめまして。大手小売チェーンのAPI基盤開発案件でエンジニアリーダーを務めているUです。私たちの現場では、開発の透明性や、課題の早期発見・解決を目指して、アジャイル開発を取り入れています。しかし、お客様から「コードカバレッジってそもそも何?」「ベロシティの数字にはどんな意味があるの?」といったご質問をいただくことが増えてきました。この記事では、現場で実際に使っている指標について、なるべく専門用語を避けながら、「何のために使うのか」「現場でどう役立っているのか」をお伝えします。コードカバレッジとは?コードカバレッジとは、「作成したテストコードが、どれだけ実際のプログラム(コード)をチェックできているか」を数値で表したものです。イメージとしては、部屋全体を掃除する際に、「どれくらいの範囲を実際に掃除機が通ったか」を見える化したようなものです。┌──────────────┐│■■■■■■■■■■■■■■│ ← 掃除機(テスト済み:80%)│■■■■■■■■■■■■■■││□□□□□□■■■■■■■│ ← 掃除機がけ漏れ(未テスト:20%)│□□□□□□■■■■■■■│└──────────────┘例:「掃除機がけ」にたとえると…家の間取り図を思い浮かべてください。床全体が「プログラム(コード)」です。掃除機をかけた範囲が「テストされた部分」、かけていない場所が「テストされていない部分」です。私たちの現場では、「SonarQube(ソナーキューブ)」というツールを使って、コードカバレッジを自動で測定しています。たとえば、カバレッジが80%であれば、「作ったテストが、80%のコードをカバー(チェック)できている」ことになります。なぜこれが大切かというと、カバー率が高いほど「思わぬバグや動かない機能が、テストの時点で見つけやすい」からです。つまり、お客様に安心して使っていただくための「品質の土台」と言えます。お客様のメリットバグのリスクを減らせる → 掃除し忘れが少なければ、ほこりやゴミが残りにくい=「バグや不具合の見落とし」が減る安心してリリースできる → しっかりテストされていれば、「不安」や「手戻り」が減り、スムーズな運用が可能客観的な品質指標になる → 数値で”見える化”されているので、誰が見ても「どのくらい安全か」が分かりやすいベロシティとは?ベロシティは、アジャイル開発チームが「1回のスプリント(開発期間)」で、どれだけの作業(ストーリー)を完了できたかを示す”開発パフォーマンス”の指標です。┌─────────────────────┐│スプリント1 ■■■■■■■■■■(30P完了)││スプリント2 ■■■■■■■■■(28P完了)││スプリント3 ■■■■■■■■■■■(32P完了)│└─────────────────────┘→ 平均ベロシティ:30ポイント例:「工事現場の作業スピード」にたとえると…工事現場で「1日でどれくらい進んだか」を毎日記録していきます。例えば、「今日は10メートル進んだ」「昨日は8メートルだった」という具合です。この「1日ごと(1スプリントあたり)の進み具合の平均」が”ベロシティ”です。私たちのチームでは、「ストーリーポイント」という単位で、作業の大きさや難易度を事前に見積もります。スプリントが終わったあとに「実際に終わったポイントの合計を平均したもの」が、そのスプリントのベロシティになります。たとえば、「今回のスプリントは30ポイント分の作業を完了できた」といった具合です。ベロシティは、「このチームが、どれくらいのペースで安定して開発を進められるか」を表しており、計画や納期調整にも役立ちます。お客様のメリット納期の予測がしやすい → 「あとどれくらいで完成しそうか」が、客観的な数値で見通せる → 計画やスケジュール調整がしやすくなるチームの安定性がわかる → 毎回ベロシティが大きく上下しない=安定した開発ができているサイン → 不安定な場合は、早めに原因を分析し対策できる成果を「見える化」できる → チームがどれくらい頑張ったか、数値で説明できる → お客様自身も「ちゃんと進んでいる」ことが実感しやすいまとめこのように、コードカバレッジやベロシティは、単なる”数字”ではなく、「お客様に高い品質を届ける」「計画通り進んでいるかを把握する」ための大事な”道しるべ”です。数値があることで、「どこまで進んでいるのか」「どこにリスクが残っているのか」「どんなサポートを追加すれば安心か」を一緒に会話しやすくなります。今後も、こうした指標の「意味」と「使い方」をお客様と一緒に理解し、より良い現場づくりを進めていきたいと考えています。