TiDD初心者によく聞かれる質問part2~チケットの粒度はどれくらいが妥当ですか?
チケット駆動開発を運用していると話すと、必ず「チケットの粒度はどれくらいが妥当ですか?」という質問が来る。
僕はまだその質問に完全な回答は持っていない。
その質問について考えていることをメモ。
【1】RedmineやTracで、全てのタスクからQAまでチケットを起票してから作業を始めるようにすると、チケットの粒度がかなり細かくなってしまう。
粒度が小さいと作業しやすいが、チケットの完了速度よりもチケットの登録速度が上回ってしまう時が多いため、どんどんタスクが増えていってしまうような感覚に陥ってしまう。
かと言って、チケットの工数が5人日以上になってしまうと、進捗がはかどっているのかどうかも分からない。
チケットの粒度が問題になる状況は、顧客へ進捗報告を出したい時だ。
RedmineやTracによるチケット管理はあくまでも開発者のためのタスク管理が目的だから、粒度が細かすぎて、顧客から見れば開発全体の進捗が分かりづらい。
実際のソフトウェア開発では、WBSで予想されたタスクよりもはるかに多いバグや仕様変更、突発的なタスクなどに忙殺される。
それらのタスクとWBSから作成されたタスクの粒度は元々合わない時が多い。
又、プロジェクトリーダーがプロジェクトの立ち上げでWBSを書きおこした時、チケットの粒度はどれくらいがいいのか悩む時がある。実際のWBSはユーザの観点から必要な作業を洗い出すから、実際にメンバーに作業を割り当てる場合、チケットよりも粒度が大きい。
粒度が大きすぎると、チケットをどんどんこなしていくリズムが生まれにくいので、チケット駆動開発の利点が薄れてしまう。
更に、バグを起票した時、バグのチケットはバグの原因や同類バグ調査結果など色んな項目を書く運用にしたいものだ。
何故なら、それらの入力項目は品質管理の観点で集計したいからだ。
つまり、集計された結果から、どの機能にバグが集中しているのか、どんな原因が多いのか、などの調査に使い、次の開発で改善する対策作りに当てたいからだ。
だが、チケットの入力項目が多いほど、チケットの登録がおっくうになり、1個のチケットを完了させるまでの期間が長くなってしまいがちだ。
そうすると、チケット駆動開発で自然に現れる開発のリズムが生まれにくくなり、進捗が停滞してしまう。
【2】チケットの粒度の問題は2つの原因があると思う。
一つは、ユーザやPMの観点と開発者の観点によるチケットの粒度の違い。
もう一つは、チケットの属性とチケット集計機能の関連。
前者は、フィーチャないしストーリーとタスクの違いだ。
この観点については既に下記に書いた。
チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索
Redmineの最後の課題~チケットの親子関係: プログラマの思索
最終的には、ストーリーカードとタスクカードをRedmineのどの概念に当てはめるのか、という問題に落ち着く。
この問題は3つのプラグインの使い方によって解決方法は異なると考える。
【2-1】パーキングロットチャートを使う場合は、下記を使う。このプラグインは@daipresentsさんが作られており、とても使いやすい。
redmine_parking_lot_chartを使う場合、
バージョン=フィーチャ、ストーリーカード
バージョン>タスクカード
と見なして、WBSからマッピングすればいい。
バージョンがサブシステム単位、大きな機能(フィーチャ)単位にリリースするならば管理しやすいだろうと思う。
@daipresentsさん作成のタスクボード、バーンダウンチャートと合わせて使うと有効だろう。
redmine_version_burndown_charts
redmine_task_board
【2-2】バックログを使う場合は、redmine_backlogsを使う。@yusuke_kokubo さんが使いこなしているプラグインであり、まさにScrumそのものの使い方だ。
relaxdiego/redmine_backlogs - GitHub
Redmine Backlogs :: Introduction
redmine_backlogsを使う場合、
バージョン=スプリント
親チケット=ストーリーカード
子チケット=タスクカード
と見なすので、Redmine本来の構造にとても近い。
おそらく、アジャイル開発本来の使い方だろうと思う。
プラグインの機能に若干癖があるが、使いこなせれば、Scrumのアイデアをそのまま取り入れて運用できるだろう。
【2-3】Advanced roadmapを使って、Redmineのデフォルト機能にはないマイルストーンを導入する方法もある。
Advanced roadmap - Advanced roadmap plugin for Redmine - Redmine OCIO y TECnologi'a
Advanced roadmapを使う場合、
マイルストーン>バージョン>タスクカード
マイルストーン=フィーチャ
バージョン=リリース単位
と見なせばいいだろう。
つまり、複数のバージョンが集まったら一つのフィーチャになる場合に使いやすい。
すなわち、複数回のリリースを経て一つのサブシステムが出来上がる場合、マイルストーンという階層を増やすと、より大きな観点で進捗度合いを簡単に表現できるように思う。
ただ、いずれにしてもRedmineのチケットの親子関係の機能をフルに使えてないと思う。
本当は、チケットに階層構造を導入して3階層以上のチケットの構造を表現できれば、WBSと完全にマッピング可能なのだ。
又、親チケットの集計機能があれば、簡単にストーリーカードの進捗度合いを表現できるはずだ。
Redmineが導入したチケットの親子関係による集計機能は、今後のRedmineプラグインの課題と言える。
【3】後者については、チケットの粒度とチケット集計ビューの間に密接な関係があると言う事実を指摘している。
チケットの粒度が細かいほどチケットの枚数は増えるので、プロジェクトの動向はチケット集計結果に敏感に反映される。
又、チケットの入力項目が多いほど、色んな観点でチケットを集計することは可能。
チケットの粒度が大きかったり、チケットの入力項目が少ないと、集計してもあまり役立つ情報は得られない。
Redmineのチケットの属性とチケット集計機能の関連については、下記でまとめている。
この比較Wikiを書きながら、新たな問題意識として、プロジェクト管理に必要なビューはどれだけの種類があって、どんな状況にどんなビューが有効なのか、というノウハウが実は整理されていないように思っている。
アジャイル開発では、InfoQ: かんばんボードによるプロジェクトの見える化のように、パーキングロットチャート・タスクボード・バーンダウンチャート・ニコニコカレンダーの4種類が最も有名なビューだが、これだけではないはずだ。
又、PMBOKでもガントチャートやPERT図、バグ収束曲線だけでなく、他にもあるはずだ。
今知られているプロジェクト管理のビューは、どんなコンテキストに対して有効なのか、という議論を整理してみたい。
そのようなノウハウがあれば、RedmineやTracという優れたプロジェクト管理ツールを使いこなすと、自然にプロジェクトマネジメントのスキルも身に付くようになるだろうと考えている。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 掃き溜めの鶴を活かすマネジメント、それは強みSと環境Oを組み合わせたクロスSWOT分析と同じだ(2026.10.01)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!(2026.08.10)
- 製造業でアジャイルが定着しない理由~スプリント不在とチケット二重管理の壁 #Redmine(2026.07.18)
- Redmine利用成熟度モデルによる運用戦略(2026.07.12)
「Redmine」カテゴリの記事
- Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア(2026.09.21)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!(2026.08.10)
- AIエージェントのハルシネーションは「チケット駆動」で防ぐ~次世代アジャイル開発の実践論(2026.08.04)
- 製造業でアジャイルが定着しない理由~スプリント不在とチケット二重管理の壁 #Redmine(2026.07.18)
「ソフトウェア工学」カテゴリの記事
- Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア(2026.09.21)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代のソフトウェア開発者とはアーキテクトの役割として再定義される(2026.08.30)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- 人の成果物は品質基準に不足しすぎるが、AIの成果物は品質基準を超過しすぎる(2026.08.16)
「プロジェクトファシリテーション」カテゴリの記事
- ふりかえり手法にジョハリの窓を使って自己開示と他者フィードバックを得る(2026.09.27)
- 組織変革の鍵を「聞く」体験から探る(2026.06.14)
- PM理論で読み解く日本人リーダーの弱点(2026.05.12)
- astahでPJ管理もプロセス設計もアイデア発想も全て表現したい(2025.10.25)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
「チケット駆動開発」カテゴリの記事
- Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア(2026.09.21)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- 人の成果物は品質基準に不足しすぎるが、AIの成果物は品質基準を超過しすぎる(2026.08.16)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!(2026.08.10)
「Agile」カテゴリの記事
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- アジャイル開発を強化するキルチェーン進化の歴史~VUCA時代におけるモノづくりの新アーキテクチャ(2026.08.11)
- 脱PDCA!DXを加速する超高速戦略「KillChain」(2026.08.10)


コメント