チケットの粒度と進捗ビューの関係
チケットの粒度と進捗ビューの関係について、考えたことをメモ。
【元ネタ】
TiDD初心者によく聞かれる質問part2~チケットの粒度はどれくらいが妥当ですか?: プログラマの思索
【1】チケットの粒度はどれくらいが妥当か?という質問はよく聞く。
RedmineやTrac、Mantisで色々試行錯誤した結果、気にせず登録した方がいい、という回答にしている。
その代わり、トラッカー(ワークフロー)単位では粒度を揃えて、ビューによる切り替えを上手く使えばいい、と回答することにしている。
前者の回答は、チケット駆動開発を運用した場合、チケットはタスク、要望、課題、問合せなど色んな種類があるので、そもそも観点が異なるし、粒度を揃えること自体が無意味だからだ。
開発者の観点では、チケットの粒度を揃えて綺麗にチケットを書くよりも、成果物を早く作るための作業記録代わりにみなした方がいい。
Agile開発なら、動くシステムが最終ゴールであり、顧客に取って一番価値あるものが動くシステムだからだ。
【2】後者の回答は、ITSに貯められたチケットは、見たいと思う観点のビューでSQLを発行してビューを作ればいいということだ。
そもそもチケットの粒度を揃えたいという要望は、マネージャ層から発生する。
その理由は、ITSから顧客へ提出する進捗報告や課題一覧、工数集計を出力したいのに、チケットがバラバラだと抽出しにくいからだ。
でも、それらの報告書は、チケットの属性を選択してフィルタリングして、抽出すればいいだけのことだ。
顧客向けの進捗報告はストーリーカードだけ抽出すればいいし、課題一覧は課題チケットだけ抽出すればいい。
工数集計はチケットの実績工数を合計して導出すればいいだけのことだ。
そのイメージを描いてみた。
PF(プロジェクトファシリテーション)では、開発者はかんばん、ユーザはバーンダウンチャートで作業の進捗を計測し合う。
Scrumでは、開発者はタスクボードにタスクカードを貼り付けて進捗管理するし、プロダクトオーナーはバックログに実現したい機能をストーリーカードに書いて優先順位付けする。
ユーザの観点のビューでは他にも、パーキングロットチャートがあげられるだろう。
つまり、Agile開発では、開発者やユーザが見たい観点はそもそも異なることを前提として、それらビューを作っている。
しかし、WF型開発では、開発者はガントチャートで進捗が管理されるが、ユーザの観点の報告書のフォーマットが定型化されてない。
ガントチャートはあまりにも細かすぎるので、顧客向け報告には向かない。
普通は顧客向け報告書をExcelで表形式に作るだろうが、何を書けばいいのか、というフォーマットは特に指定されておらず、各プロジェクトで全然違う。
つまり、各プロジェクトでローカルルールがはびこり、プロセスの標準化がやりにくい弱点がある。
【3】RedmineのようなITSの利点の一つは、チケットというデータベースに作業や課題の情報を蓄積すれば、チケットの属性を上手く使うだけで色んなメトリクスが抽出出来ること。
進捗報告や課題一覧は、プロジェクトの一側面の情報に過ぎない。
Redmineが他のITSよりも優れている理由の一つは、チケットの属性とチケット集計機能の関係がとてもよく考えられている点だと思う。
ガントチャートは、チケットの開始日、終了日、進捗率がセットされていれば自動生成できる。
バーンダウンチャートは、チケットの対象バージョン、予定工数、実績工数、終了ステータスがセットされていれば自動生成できる。
PMBOKのEVMですらも、チケットの予定工数、実績工数、開始日、終了日、進捗率があれば、自動計算できる。
もしRedmineのデフォルトのチケット集計機能が不足しているなら、MySQLに直接SQLを発行すればいいだけのことだ。
RedmineはRailsアプリなので、テーブル設計はとても綺麗だし、JOINしたSQLも書きやすい。
Agile開発であれPMBOKであれ品質管理であれ、メトリクスは所詮、チケットの属性をキーとしたSQLのビューに過ぎない。
だから、チケットの粒度なんか気にせず、むしろチケット集計機能をもっと強化していくことが大事だと思う。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「Redmine」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- 第27回redmine.tokyo勉強会の感想 #redmineT(2024.11.10)
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「プロジェクトファシリテーション」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 「世界を動かすプロジェクトマネジメントの教科書」の概念図(2022.01.16)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- 昭和の管理者の承認処理は判子押印、令和の管理者の承認処理はいいねボタンを押すこと(2021.12.31)
- チケット駆動開発のプロセスとチケット管理システムの全体像 #Redmine(2021.12.28)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント