- マネジメント
バグ管理表の項目とテンプレート|優先度・重要度とステータス遷移
バグ管理表(不具合管理表)とは、見つかったバグを1件1行で記録し、「いま何件が、どの状態にあるか」をチーム全員が同じ数字で見られるようにする台帳です。1件ごとの詳しい内容を書くバグ票(バグ報告)に対して、管理表は全体を見渡して順番と担当を決めるためのものです。
この記事は、1件の書き方ではなく台帳の設計と運用に絞っています。全22項目の一覧、貼り付けて使えるタブ区切りのテンプレートと記入例10件、優先度と重要度の判定マトリクス、ステータス遷移図、集計の数式までを載せました。例は架空の「備品予約システム」のテストを題材にしています。
確認環境:COUNTIFS の数式は LibreOffice Calc 24.2.7 のヘッドレス実行で計算し、掲載した結果と一致することを確かめています(COUNTIFS の書式は Microsoft サポートのページを2026年10月5日に開いて確認)。累積件数の計算は Python 3.11 で実行しました。Mermaid の状態遷移図は @mermaid-js/mermaid-cli 11.14.0 と Chromium で描画できることを確かめています。
バグ管理表の早見表
| 知りたいこと | 答え |
|---|---|
| 最低限の項目は | ID・起票日・起票者・件名・機能・発生環境・検出工程・重要度・ステータス・詳細の10項目(起票時に必須) |
| 全部でいくつ持つか | 22項目(起票時10、受付時3、対応・クローズ時6、任意3) |
| 重要度とは | バグが利用者や業務に与える影響の大きさ。起票者が事実から付ける |
| 優先度とは | 直す順番。管理者が、重要度・期限・影響する人数を見て決める |
| ステータスはいくつ | 9つ(新規・受付済・対応中・修正済・確認待ち・完了・保留・却下・再発) |
| 「完了」にできる人 | 起票者(または確認者)。修正した本人は完了にしない |
| 集計の基本 | 状態別・原因別は COUNTIFS、収束の様子は累積起票数と累積クローズ数の差 |
| ステータス | 意味 | 次に動かす人 |
|---|---|---|
| 新規 | 起票された。まだ誰も内容を確認していない | 管理者 |
| 受付済 | バグとして受け付け、担当者と優先度が決まった | 担当者 |
| 対応中 | 調査または修正をしている | 担当者 |
| 修正済 | 修正がコードに取り込まれた | 担当者 |
| 確認待ち | 検証環境に反映され、起票者の確認を待っている | 起票者 |
| 完了 | 起票者が直ったことを確認した | ― |
| 保留 | 対応する時期を先に延ばした | 管理者 |
| 却下 | 対応しないと決めた(仕様どおり・重複・再現せず・対象外) | ― |
| 再発 | 完了にしたあと、同じ現象がもう一度起きた | 担当者 |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「バグ管理表の項目とテンプレート|優先度・重要度とステータス遷移」
管理表の全22項目(必須・任意と入力値)
「いつ必須になるか」を3段階に分けると、起票の手間を増やさずに、後から集計に必要な項目もそろいます。列の記号(A〜V)は、後半の数式でそのまま使います。
| 列 | 項目 | 必須・任意 | 入力値・選択肢 | 入力する人 |
|---|---|---|---|---|
| A | ID | 必須(起票時) | BUG-001 からの連番。欠番を作らず、削除もしない | 起票者 |
| B | 起票日 | 必須(起票時) | 日付(2026-09-14 の形式) | 起票者 |
| C | 起票者 | 必須(起票時) | 氏名 | 起票者 |
| D | 件名 | 必須(起票時) | 「どこで、何をすると、どうなる」を1文で | 起票者 |
| E | 機能 | 必須(起票時) | 機能一覧から選ぶ(予約登録、予約一覧、通知 など) | 起票者 |
| F | 発生環境 | 必須(起票時) | 開発/検証/本番 | 起票者 |
| G | 検出工程 | 必須(起票時) | 単体テスト/結合テスト/総合テスト/受入テスト/運用 | 起票者 |
| H | 重要度 | 必須(起票時) | S1 致命的/S2 重大/S3 中/S4 軽微 | 起票者 |
| I | 優先度 | 必須(受付時) | P1 即日/P2 今週中/P3 今回の版まで/P4 時期を決めない | 管理者 |
| J | ステータス | 必須(起票時) | 新規/受付済/対応中/修正済/確認待ち/完了/保留/却下/再発 | 遷移ごとに決まった人 |
| K | 担当者 | 必須(受付時) | 氏名(1人だけ) | 管理者 |
| L | 対応期限 | 必須(受付時。P4 は空欄可) | 日付 | 管理者 |
| M | 原因区分 | 必須(修正済にするとき) | 要件・仕様の誤り/設計の誤り/実装の誤り/環境・設定/データ/テスト手順の誤り/外部要因 | 担当者 |
| N | 対応内容 | 必須(修正済にするとき) | 何をどう直したかを1〜2文で | 担当者 |
| O | 修正日 | 必須(修正済にするとき) | 日付 | 担当者 |
| P | 確認者 | 必須(完了にするとき) | 氏名(原則として起票者) | 確認者 |
| Q | クローズ日 | 必須(完了・却下にするとき) | 日付。再発したら空欄に戻す | 確認者・管理者 |
| R | 差し戻し回数 | 任意 | 0 から始め、確認待ちから対応中に戻すたびに1を足す | 確認者 |
| S | 関連ID | 任意 | 重複のもとになった ID、同じ原因の ID | 管理者 |
| T | 却下理由 | 必須(却下にするとき) | 仕様どおり/重複/再現せず/対象外 | 管理者 |
| U | 詳細 | 必須(起票時) | 再現手順・期待した結果・実際の結果を書いたバグ票へのリンク | 起票者 |
| V | 備考 | 任意 | 経緯、判断の理由、次に見直す日 | 誰でも |
設計のポイントは3つです。
- 選択肢のある項目は、自由入力にしない。「対応中」「対応中 」「着手」のように表記がそろわないと、COUNTIFS の件数が合わなくなります。表計算ソフトの、決まった選択肢から選ばせる機能を使います。
- 担当者は1人だけにする。2人書くと、どちらも相手が動くと考えがちです。
- 再現手順などの長い文章は管理表に書かず、バグ票へのリンクにする。1行が画面に収まり、全体を見渡せます。
タブ区切りテンプレートと記入例10件
見出し行だけのテンプレート
次の1行をコピーして、表計算ソフトのセル A1 に貼り付けると、A〜V 列の見出しになります。
ID 起票日 起票者 件名 機能 発生環境 検出工程 重要度 優先度 ステータス 担当者 対応期限 原因区分 対応内容 修正日 確認者 クローズ日 差し戻し回数 関連ID 却下理由 詳細 備考
記入例10件(主な列)
| ID | 起票日 | 件名 | 機能 | 検出工程 | 重要度 | 優先度 | ステータス | 原因区分 | クローズ日 |
|---|---|---|---|---|---|---|---|---|---|
| BUG-001 | 2026-09-14 | 予約登録で、終了時刻が開始時刻より前でも登録できる | 予約登録 | 結合テスト | S2 | P2 | 完了 | 実装の誤り | 2026-09-17 |
| BUG-002 | 2026-09-14 | ログイン画面の組織名の表記が誤っている | ログイン | 結合テスト | S4 | P1 | 完了 | 実装の誤り | 2026-09-15 |
| BUG-003 | 2026-09-15 | 予約一覧で、101件目以降が表示されない | 予約一覧 | 結合テスト | S2 | P2 | 完了 | 設計の誤り | 2026-09-22 |
| BUG-004 | 2026-09-16 | 年度切替の処理が途中で異常終了する | 年度切替 | 結合テスト | S2 | P3 | 保留 | ||
| BUG-005 | 2026-09-17 | 検証環境で、予約登録がすべてエラーになる | 予約登録 | 総合テスト | S1 | P1 | 完了 | 環境・設定 | 2026-09-18 |
| BUG-006 | 2026-09-18 | 予約を取り消しても、空き状況が「予約済み」のまま | 予約取消 | 総合テスト | S2 | P1 | 再発 | 実装の誤り | |
| BUG-007 | 2026-09-22 | 予約一覧の並び順が登録順になっている | 予約一覧 | 総合テスト | S3 | P3 | 却下 | 2026-09-24 | |
| BUG-008 | 2026-09-24 | 通知メールの件名に備品名が入らない | 通知 | 総合テスト | S3 | P2 | 確認待ち | 実装の誤り | |
| BUG-009 | 2026-09-28 | 備品名に絵文字を入れると、検索結果が0件になる | 備品検索 | 総合テスト | S3 | P4 | 対応中 | ||
| BUG-010 | 2026-09-30 | 予約変更画面で「戻る」を押すと入力内容が消える | 予約変更 | 受入テスト | S3 | 新規 |
10件の中には、次の場面が入っています。
| ID | 見どころ |
|---|---|
| BUG-002 | 重要度は S4(軽微)だが、優先度は P1。利用者向けの説明会の前に直す必要があった |
| BUG-003 | 差し戻しが1回。1回目の修正が不十分で、確認待ちから対応中に戻った |
| BUG-004 | 重要度は S2(重大)だが、優先度は P3 で保留。次に使うのが半年先の機能のため |
| BUG-006 | いったん完了にしたあとに再発。クローズ日を空欄に戻し、経緯を備考に残した |
| BUG-007 | 却下。理由は「仕様どおり」。要望としては別の一覧で管理する |
| BUG-010 | 新規。受付前なので、優先度・担当者・期限は空欄 |
記入例10件(全22列・タブ区切り)
シート名を「台帳」にして A1 に貼り付けると、後半の数式がそのまま使えます。
ID 起票日 起票者 件名 機能 発生環境 検出工程 重要度 優先度 ステータス 担当者 対応期限 原因区分 対応内容 修正日 確認者 クローズ日 差し戻し回数 関連ID 却下理由 詳細 備考
BUG-001 2026-09-14 田中 予約登録で、終了時刻が開始時刻より前でも登録できる 予約登録 検証 結合テスト S2 P2 完了 佐藤 2026-09-18 実装の誤り 時刻の前後を確かめる入力チェックを追加 2026-09-16 田中 2026-09-17 0
BUG-002 2026-09-14 鈴木 ログイン画面の組織名の表記が誤っている ログイン 検証 結合テスト S4 P1 完了 高橋 2026-09-15 実装の誤り 文言を修正 2026-09-15 鈴木 2026-09-15 0 利用者向け説明会の前に修正
BUG-003 2026-09-15 田中 予約一覧で、101件目以降が表示されない 予約一覧 検証 結合テスト S2 P2 完了 佐藤 2026-09-22 設計の誤り ページ送りの設計を見直して修正 2026-09-18 田中 2026-09-22 1 1回目の修正では200件目以降が出ず差し戻し
BUG-004 2026-09-16 伊藤 年度切替の処理が途中で異常終了する 年度切替 検証 結合テスト S2 P3 保留 高橋 2026-10-30 0 次に使うのは翌年3月。次の版で対応と決定
BUG-005 2026-09-17 鈴木 検証環境で、予約登録がすべてエラーになる 予約登録 検証 総合テスト S1 P1 完了 佐藤 2026-09-17 環境・設定 データベース接続数の上限設定を修正 2026-09-17 鈴木 2026-09-18 0
BUG-006 2026-09-18 伊藤 予約を取り消しても、空き状況が「予約済み」のまま 予約取消 検証 総合テスト S2 P1 再発 佐藤 2026-09-25 実装の誤り 取消時の空き状況の更新処理を修正 2026-09-21 伊藤 0 2026-09-22 に完了、2026-09-29 に再発
BUG-007 2026-09-22 田中 予約一覧の並び順が登録順になっている 予約一覧 検証 総合テスト S3 P3 却下 高橋 2026-09-24 0 仕様どおり 画面設計書の記載どおり。要望として別管理
BUG-008 2026-09-24 鈴木 通知メールの件名に備品名が入らない 通知 検証 総合テスト S3 P2 確認待ち 高橋 2026-10-02 実装の誤り メールのテンプレートを修正 2026-09-29 0
BUG-009 2026-09-28 伊藤 備品名に絵文字を入れると、検索結果が0件になる 備品検索 検証 総合テスト S3 P4 対応中 佐藤 2026-10-09 0
BUG-010 2026-09-30 田中 予約変更画面で「戻る」を押すと入力内容が消える 予約変更 検証 受入テスト S3 新規 0
優先度と重要度の違いと判定マトリクス
重要度(重大度、Severity)は「バグそのものの影響の大きさ」、優先度(Priority)は「直す順番」です。重要度は、誰が見てもほぼ同じ値になる事実の評価で、優先度は、期限や影響する人数などの事情を加えた判断です。
| 観点 | 重要度 | 優先度 |
|---|---|---|
| 表すもの | 影響の大きさ | 直す順番・急ぎ具合 |
| 決める人 | 起票者(テスト担当者) | 管理者(リーダー、プロダクトの責任者) |
| 決める材料 | 機能が使えるか、データが壊れるか、回避策があるか | 重要度、リリース日、影響する人数、次に使われる時期、修正の手間 |
| 途中で変わるか | 原則として変わらない(事実がわかって見直すことはある) | 状況に応じて変わる |
| 入力の時点 | 起票時 | 受付時 |
重要度の基準
| 重要度 | 基準 | 備品予約システムでの例 |
|---|---|---|
| S1 致命的 | 主要な機能がまったく使えない。データが壊れる・消える。回避策がない | 予約登録がすべてエラーになる |
| S2 重大 | 主要な機能の一部が使えない、または結果が誤っている。回避策が手間 | 取り消した予約の備品が「予約済み」のまま |
| S3 中 | 機能は使えるが、動きが仕様と違う。回避策がある | 通知メールの件名に備品名が入らない |
| S4 軽微 | 表示や文言の誤り。機能には影響しない | 画面の文言の誤字、位置のずれ |
優先度の基準
| 優先度 | 対応の目安 | 決め手の例 |
|---|---|---|
| P1 即日 | ほかの作業を止めて、すぐ着手する | テストが先に進めない。利用者の目に触れる日が迫っている |
| P2 今週中 | 今の作業の次に着手する | 今回のテスト期間内に確認まで終えたい |
| P3 今回の版まで | リリースまでに直す。順番は後でよい | 回避策があり、使われる場面が限られる |
| P4 時期を決めない | 直す時期を決めずに持っておく。定例で見直す | めったに起きず、影響も小さい |
重要度×優先度の判定マトリクス(16マス)
多くのバグは左上から右下への対角線(S1 なら P1、S4 なら P4)に並びます。対角線から外れるマスこそ、重要度と優先度を分けて持つ意味が出る所です。
| P1 即日 | P2 今週中 | P3 今回の版まで | P4 時期を決めない | |
|---|---|---|---|---|
| S1 致命的 | 標準。予約登録がすべてエラーになる | 該当する機能がまだ公開前で、テストの順番も後 | 次の版で入れ替える予定の機能で起きている | 原則として使わない組み合わせ(S1 は期限を決める) |
| S2 重大 | テストが先へ進めない。取消後も空きが戻らない | 標準。一覧で101件目以降が表示されない | 重要度は高いが優先度は低い例。年に1回だけ使う年度切替が異常終了するが、次に使うのは半年先 | 廃止が決まっている機能で起きている |
| S3 中 | 多くの人が毎日使う画面で起き、問い合わせが増えそう | 通知メールの件名に備品名が入らない | 標準。「戻る」で入力内容が消える | 絵文字を含む備品名で検索結果が0件になる |
| S4 軽微 | 重要度は低いが優先度は高い例。ログイン画面の組織名の誤記。説明会の前に直す | 利用者向けの手引きに載る画面の文言の誤り | 設定画面の項目名のゆれ | 標準。管理者だけが見る画面の位置ずれ |
マトリクスを使うときの決まりごとを3つ挙げます。
- 重要度を、優先度の都合で書き換えない。「急がないから S3 にしておく」をすると、あとで品質を数えるときに実態が見えなくなります。急がないなら、重要度はそのままで優先度を下げます。
- 対角線から2マス以上離れるときは、理由を備考に書く。BUG-004 の「次に使うのは翌年3月」のような一言で十分です。
- S1・S2 を P4 にしない。時期を決めないまま置くと忘れられやすいので、保留にして見直す日を備考に入れます。
ステータス遷移図(Mermaid の stateDiagram)
9つのステータスと、差し戻し・再発・却下を含む遷移です。Mermaid に対応したエディタやWikiに貼ると、そのまま描画されます。
stateDiagram-v2
[*] --> 新規: 起票
新規 --> 受付済: 内容を確認し担当者を決定
新規 --> 却下: 仕様どおり・重複・再現せず
受付済 --> 対応中: 調査・修正を開始
受付済 --> 保留: 次の版で対応と決定
保留 --> 受付済: 対応を再開
対応中 --> 修正済: 修正を取り込み
対応中 --> 却下: 調査の結果、対応しないと判断
修正済 --> 確認待ち: 検証環境に反映
確認待ち --> 完了: 起票者が修正を確認
確認待ち --> 対応中: 差し戻し(直っていない)
完了 --> 再発: 同じ現象がもう一度発生
再発 --> 対応中: 調査を再開
却下 --> 受付済: 却下に異議あり(再検討)
完了 --> [*]
却下 --> [*]
遷移ごとの「動かす人」と条件
図の矢印1本ごとに、誰が・何を満たしたら動かしてよいかを決めておきます。
| No | 遷移 | 動かす人 | 動かす条件 | 同時に入力する項目 |
|---|---|---|---|---|
| 1 | 新規 → 受付済 | 管理者 | 再現手順を読み、バグとして扱うと判断した | 優先度、担当者、対応期限 |
| 2 | 新規 → 却下 | 管理者 | 仕様どおり・重複・再現せず・対象外のいずれか | 却下理由、クローズ日、(重複なら)関連ID |
| 3 | 受付済 → 対応中 | 担当者 | 調査に着手した | ― |
| 4 | 受付済 → 保留 | 管理者 | 対応する時期を先に延ばすと決めた | 備考に理由と見直す日 |
| 5 | 保留 → 受付済 | 管理者 | 見直しの結果、対応を再開する | 対応期限 |
| 6 | 対応中 → 修正済 | 担当者 | 修正がレビューを通り、取り込まれた | 原因区分、対応内容、修正日 |
| 7 | 対応中 → 却下 | 管理者 | 調査の結果、対応しないと判断した | 却下理由、クローズ日 |
| 8 | 修正済 → 確認待ち | 担当者 | 検証環境に反映した | ― |
| 9 | 確認待ち → 完了 | 起票者(確認者) | もとの再現手順で、期待した結果になった | 確認者、クローズ日 |
| 10 | 確認待ち → 対応中(差し戻し) | 起票者(確認者) | 直っていない、または別の不具合が出た | 差し戻し回数に1を足す、備考に確認結果 |
| 11 | 完了 → 再発 | 見つけた人 | 同じ手順で同じ現象がもう一度起きた | クローズ日を空欄に戻す、備考に日付 |
| 12 | 再発 → 対応中 | 担当者 | 調査を再開した | ― |
| 13 | 却下 → 受付済 | 管理者 | 起票者から異議があり、再検討して受け付けた | 却下理由とクローズ日を空欄に戻す |
差し戻し・再発・却下の使い分け
| 場面 | 使うステータス | 新しい行を作るか |
|---|---|---|
| 確認したら直っていなかった | 確認待ち → 対応中(差し戻し) | 作らない。同じ行で回数を数える |
| 完了のあと、同じ現象が同じ手順で起きた | 完了 → 再発 | 作らない。同じ行を再発にする |
| 完了のあと、似ているが別の手順・別の原因で起きた | 新規 | 作る。関連IDにもとの ID を書く |
| すでに同じ内容が起票されていた | 却下(重複) | 関連IDに、残すほうの ID を書く |
| 仕様どおりだが、変えたほうがよさそう | 却下(仕様どおり) | 要望の一覧に移す |
| 手順どおりにやっても再現しない | 却下(再現せず) | 起票者に環境と手順を確かめてから却下する |
却下は「なかったこと」にするのではなく、判断の記録として行を残します。同じ内容がまた起票されたときに、関連IDで前回の判断をすぐ示せます。
COUNTIFS で状態別・原因別に集計する
集計用のシートを別に作り、台帳の列を COUNTIFS で数えます。Microsoft サポートのページによると、書式は「COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2], …)」で、追加する範囲は、最初の範囲と同じ行数・列数にそろえる必要があります。
次の数式は、前の章の10件を「台帳」シートの A1 から貼った状態(データは2〜11行目)で計算した結果です。行が増えたら、範囲の「11」を最終行に合わせて変えます。
状態別の件数
| 知りたいこと | 数式 | 計算結果 |
|---|---|---|
| 新規 | =COUNTIFS(台帳!$J$2:$J$11,"新規") |
1 |
| 受付済 | =COUNTIFS(台帳!$J$2:$J$11,"受付済") |
0 |
| 対応中 | =COUNTIFS(台帳!$J$2:$J$11,"対応中") |
1 |
| 修正済 | =COUNTIFS(台帳!$J$2:$J$11,"修正済") |
0 |
| 確認待ち | =COUNTIFS(台帳!$J$2:$J$11,"確認待ち") |
1 |
| 完了 | =COUNTIFS(台帳!$J$2:$J$11,"完了") |
4 |
| 保留 | =COUNTIFS(台帳!$J$2:$J$11,"保留") |
1 |
| 却下 | =COUNTIFS(台帳!$J$2:$J$11,"却下") |
1 |
| 再発 | =COUNTIFS(台帳!$J$2:$J$11,"再発") |
1 |
| 未解決(完了・却下以外) | =COUNTIFS(台帳!$J$2:$J$11,"<>完了",台帳!$J$2:$J$11,"<>却下") |
5 |
A列にステータス名を縦に並べておけば、=COUNTIFS(台帳!$J$2:$J$11,A2) を下へコピーするだけで同じ表になります。
原因別の件数
| 知りたいこと | 数式 | 計算結果 |
|---|---|---|
| 設計の誤り | =COUNTIFS(台帳!$M$2:$M$11,"設計の誤り") |
1 |
| 実装の誤り | =COUNTIFS(台帳!$M$2:$M$11,"実装の誤り") |
4 |
| 環境・設定 | =COUNTIFS(台帳!$M$2:$M$11,"環境・設定") |
1 |
| 実装の誤り(完了したものだけ) | =COUNTIFS(台帳!$M$2:$M$11,"実装の誤り",台帳!$J$2:$J$11,"完了") |
2 |
定例で見る件数
| 知りたいこと | 数式 | 計算結果 |
|---|---|---|
| 重要度 S2 の未解決 | =COUNTIFS(台帳!$H$2:$H$11,"S2",台帳!$J$2:$J$11,"<>完了",台帳!$J$2:$J$11,"<>却下") |
2 |
| 期限を過ぎた未クローズ(基準日 2026-10-05) | =COUNTIFS(台帳!$L$2:$L$11,"<"&DATE(2026,10,5),台帳!$Q$2:$Q$11,"") |
2 |
| 差し戻しが1回以上あった件数 | =COUNTIFS(台帳!$R$2:$R$11,">=1") |
1 |
| 優先度がまだ入っていない件数 | =COUNTIFS(台帳!$I$2:$I$11,"") |
1 |
| 2026-09-22 までの累積起票数 | =COUNTIFS(台帳!$B$2:$B$11,"<="&DATE(2026,9,22)) |
7 |
| 2026-09-22 までの累積クローズ数 | =COUNTIFS(台帳!$Q$2:$Q$11,"<="&DATE(2026,9,22)) |
4 |
期限を過ぎた2件は BUG-006(期限 9月25日)と BUG-008(期限 10月2日)です。毎日の確認に使うときは、DATE(2026,10,5) を TODAY() に置き換えます。日付で比べる数式は、起票日やクローズ日が文字列ではなく日付として入っていることが前提です。貼り付けたあとにセルが左寄せのままなら、日付として認識されていないので、表示形式を確かめます。
バグ収束曲線用の累積件数を Python で計算する
バグ収束曲線は、横軸に日付、縦軸に累積起票数と累積クローズ数を取った折れ線グラフです。2本の線の差が、その日の未解決の件数になります。起票の線の伸びがゆるやかになり、クローズの線が追いついてくれば、テストが落ち着いてきたと読めます。
台帳をタブ区切りで保存したファイル(bugs.tsv、見出しは前の章と同じ)から、日ごとの件数を求めます。標準ライブラリだけで動きます。
# バグ収束曲線用に、日ごとの累積起票数・累積クローズ数・未解決数を求める
# 使い方: python3 convergence.py bugs.tsv
import csv
import sys
from collections import Counter
from datetime import date, timedelta
with open(sys.argv[1], encoding="utf-8", newline="") as f:
rows = list(csv.DictReader(f, delimiter="\t"))
opened = Counter(date.fromisoformat(r["起票日"]) for r in rows)
closed = Counter(date.fromisoformat(r["クローズ日"]) for r in rows if r["クローズ日"])
day = min(opened)
last = max(list(opened) + list(closed))
cum_open = cum_close = 0
print("日付 起票 クローズ 累積起票 累積クローズ 未解決")
while day <= last:
cum_open += opened[day]
cum_close += closed[day]
if day.weekday() < 5: # 土日は行を出さない(件数は累積に含める)
print(f"{day} {opened[day]:>4} {closed[day]:>8} {cum_open:>8}"
f" {cum_close:>12} {cum_open - cum_close:>6}")
day += timedelta(days=1)
実行結果(記入例の10件):
日付 起票 クローズ 累積起票 累積クローズ 未解決
2026-09-14 2 0 2 0 2
2026-09-15 1 1 3 1 2
2026-09-16 1 0 4 1 3
2026-09-17 1 1 5 2 3
2026-09-18 1 1 6 3 3
2026-09-21 0 0 6 3 3
2026-09-22 1 1 7 4 3
2026-09-23 0 0 7 4 3
2026-09-24 1 1 8 5 3
2026-09-25 0 0 8 5 3
2026-09-28 1 0 9 5 4
2026-09-29 0 0 9 5 4
2026-09-30 1 0 10 5 5
9月22日の行は、累積起票 7・累積クローズ 4 で、前の章の COUNTIFS の結果と一致します。出力を表計算ソフトに貼り、「累積起票」と「累積クローズ」の2列で折れ線グラフを作れば収束曲線になります。
曲線の読み方(目安の例)
| 曲線の形 | 読み取れること | 次にやること |
|---|---|---|
| 起票の線が寝てきて、クローズの線が追いつく | 新しいバグが減り、修正も進んでいる | 残りの未解決を重要度順に確かめる |
| 起票の線が同じ傾きで伸び続ける | まだ見つかり続けている | 原因別の件数を見て、多い区分の作業(設計の見直し、レビュー)を足す |
| 2本の線の間が開いていく | 修正が追いついていない | 優先度を見直し、P1・P2 に担当を寄せる |
| 起票の線が急に寝た | テストが止まっている可能性もある | テストの消化件数とあわせて確かめる |
この例では、9月28日から未解決が 3 → 4 → 5 と増えています。終盤に起票が続いているので、原因別でいちばん多い「実装の誤り」(4件)に絞って、同じ種類の見落としがないかを確かめる、という動きにつながります。
なお、再発した BUG-006 はクローズ日を空欄に戻しているため、この計算では「まだクローズしていない1件」として数えています。過去の時点の件数をそのまま残したい場合は、毎日の出力を別のシートに貼り足していきます。
運用ルール:台帳を保つための決まりごと
| 決まりごと | 内容 | ねらい |
|---|---|---|
| 起票の入口を1つにする | チャットや口頭で聞いたバグも、必ず台帳に1行作る | 件数のもれをなくす |
| 新規は1営業日以内に受け付ける | 管理者が毎朝、新規の行を見て受付済か却下にする | 新規のまま残る行をなくす |
| 行を削除しない | 誤って起票した行も却下(対象外)にして残す | ID の連番と件数を保つ |
| 完了は起票者が付ける | 修正した本人は確認待ちまで | 直ったことを別の目で確かめる |
| 保留には見直す日を書く | 備考に日付を入れ、定例で確認する | 保留のまま忘れるのを防ぐ |
| 原因区分は修正済のときに入れる | あとからまとめて入れない | 原因別の集計を正しく保つ |
| 定例で見る数字を固定する | 未解決の件数、S1・S2 の未解決、期限超過、差し戻し | 毎回同じ見方で話せる |
定例の進め方(15分の例)
| 順番 | 見るもの | 決めること |
|---|---|---|
| 1 | 新規の行 | 受付済にするか却下にするか。優先度・担当者・期限 |
| 2 | 期限を過ぎた未クローズ | 期限を引き直すか、担当を足すか |
| 3 | S1・S2 の未解決 | 今週中に確認待ちまで進める行 |
| 4 | 確認待ちの行 | 誰がいつ確認するか |
| 5 | 保留の行(見直す日が来たもの) | 再開するか、保留を続けるか |
| 6 | 収束曲線と原因別の件数 | 追加で行う作業があるか |
表計算ソフトから専用ツールへ移る目安
| 状況 | 向いている道具 |
|---|---|
| 件数が数十件まで、関わる人が数人 | 表計算ソフトの管理表 |
| 同時に編集する人が増え、上書きが起きる | 課題管理ツール |
| 修正のコミットやプルリクエストと結び付けたい | ソースコード管理と連携する課題管理ツール |
| 件数が数百件を超え、絞り込みや通知が欲しい | 課題管理ツール |
道具を変えても、22項目・9つのステータス・遷移ごとの「動かす人」はそのまま持っていけます。ツールの項目や状態の設定に写すだけです。
よくある質問
Q. 重要度と優先度を、1つの項目にまとめてもよいですか? A. 小さなチームでは1つにまとめる運用もあります。ただ、BUG-002(軽微だが急ぐ)や BUG-004(重大だが急がない)のような行が出てくると、1つの値では表しきれません。件数が20件を超えるころから、分けておくほうが順番を決めやすくなります。
Q. ステータスが9つは多く感じます。減らせますか? A. 「修正済」と「確認待ち」を1つにまとめ、「受付済」を省いて、新規・対応中・確認待ち・完了・保留・却下・再発の7つにする形がよく使われます。減らす場合も、差し戻し(確認待ちから対応中へ戻る矢印)と却下は残しておくと、件数の説明がしやすくなります。
Q. バグか仕様変更かで意見が分かれたら、どう記録しますか? A. 行は消さずに、判断がつくまで新規または受付済のまま備考に論点を書きます。仕様どおりと決まったら却下(仕様どおり)にし、変えたい内容は要望の一覧に移して関連IDでつなぎます。
Q. 原因区分は、どこまで細かく分けるとよいですか? A. 最初はこの記事の7区分で十分です。集計して特定の区分に件数が集まってきたら、その区分だけを2〜3個に分けます(例:「実装の誤り」を「入力チェックのもれ」「条件分岐の誤り」などに)。最初から細かくすると、選ぶ人によって分け方がそろいにくくなります。
まとめ
- バグ管理表は全体を見渡して順番と担当を決める台帳。1件の詳しい内容はバグ票に書き、リンクでつなぐ
- 項目は22個を「起票時・受付時・対応とクローズ時」の3段階で必須にすると、起票の手間が増えない
- 重要度は影響の大きさ(起票者が付ける)、優先度は直す順番(管理者が決める)。重要度を優先度の都合で書き換えない
- 16マスのマトリクスで、対角線から外れる行は理由を備考に残す
- ステータスは9つ。遷移ごとに「動かす人」と条件を決め、完了は起票者が付ける
- 状態別・原因別は COUNTIFS、収束の様子は累積起票数と累積クローズ数の差で見る
- 行は削除せず、却下・保留も判断の記録として残す
参考・出典
- Microsoft サポート「COUNTIFS 関数」https://support.microsoft.com/ja-jp/office/countifs-関数-dda3dc6e-f74e-4aee-88bc-aa8c2a866842
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「バグ管理表の項目とテンプレート|優先度・重要度とステータス遷移」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。