Redmineを使って気付いたことpart6~チケットの発生源
Redmineでチケット駆動開発を始めて、チケットの発生源について考えてみた。
以下ラフなメモ書き。
【1】チケット駆動開発では、タスクをチケットに起票してから作業を始める。
イテレーションに含まれるチケットは限界があるから、1イテレーションで実現できる機能は限定される。
しかし、1イテレーションに入り切らないぐらい膨大なタスクが発生する時がある。
そうなってしまうと、もはやチケット駆動開発だろうがアジャイル開発だろうが、タスクは発散しがちでプロジェクトは壊れた飛行機のようにふらついているだろう。
そうならないために、プロジェクトリーダーは、チケットの発生源をいつも気にする必要がある。
チケットの発生源はタスクの発生源であるから、タスクを増やさないためには何を処方したらよいか、というリスク管理につながる。
【2】チケットの発生源は、SW開発の工程によって異なる。
例えば、動くプログラムも無い状況で開発し始めた場合、殆どのチケットは要件定義書に基づいた機能の新規実装であり、おそらくスケジュールに引かれたWBSから作られるだろう。
この場合のチケットのトラッカー(種類)は、新規実装とか、エンハンスメントとか呼ばれるものに相当するだろう。
発生源は、要件。
つまり、ウォーターフォール型の開発に似ている。
あるいは、動くプログラムが殆ど出来上がり、結合テストからシステムテストに至るまでの工程では、TestLinkによるNGのテストケースがRedmineチケットの発生源になる。
つまり、テストしたらNGでバグが出たら、チケットをバグ報告票として起票して管理する。
この場合は、まさにバグ管理システムとしてRedmineを使っているだろう。
発生源は、テストケース。
更に、1次開発のリリース後、システムが本番運用されると、パスワードを忘れた、とか、あの業務をこの画面でやると動作がおかしい、などの問合せが顧客から来る。
すると、それぞれの問合せに対して、チケットへ起票して、一時的な対策を施したり、根本原因を調査して是正対策を行うなどの処置が必要になってくる。
発生源は、インシデント。
現在の自分の環境では、TestLinkからRedmineへの連携はスムーズのため、バグチケットの発生源がTestLinkのどのテストケースなのか、は追跡できる仕掛けになっている。
これによって、「ソース→SVNリビジョン→Redmineチケット→TestLinkテストケース」まで追跡できるから、その発生源の付近に他にどれだけのチケットがあるか、とか、発生源を解決する別の対処方法を更にチケットへ起票する、などの対策を取れる。
【3】チケットの発生源とトラッカー(チケットの種類)は密接に関係する。
要件、テストケース、インシデントの発生源に対し、それぞれのトラッカーがマッピングされて、それぞれのチケットは特有のステータスの遷移で制御される。
おそらく、発生源がテストケースの場合は追跡のインフラを作るのは簡単。
何故なら、テストNGによるバグ解決フローは、バグ管理システムの基本フローそのものだから。
むしろ難しいのは、要件管理とインシデント管理。
XPのタスクカードがチケットであるならば、要件管理は結局、XPのストーリーカードは構成管理インフラのどの機能へ配置されるべきか、という問題に辿り着く。
TestLinkの要件管理機能が使えるならば、「ソース→SVNリビジョン→Redmineチケット→TestLinkテストケース→TestLink要件」まで追跡可能で、要件カバレッジという新しい観点でシステムの品質をチェック可能になる。
インシデント管理は、チケットの状態遷移が異なるため、どのようなワークフローで制御すべきか、という問題に辿り着く。
更に、インシデントから抜本的対策が必要だと意思決定した場合、新たな変更要求が生まれ、そこから2次開発につながっていくだろう。
つまり、インシデント→変更要求→新規実装のような流れ。
従って、親チケットはインシデント又は変更要求、子チケットは複数の新規実装、のようなチケットの親子関係が発生する。
子チケットにある全ての新規実装のチケットが完了して初めて、親チケットの変更要求は終了になるなどの制約条件が更に発生する。
上記の例のように、チケットの発生源は多岐に渡る。
チケットからその発生源へ追跡できる環境があれば、チケットに書かれた作業の根本的な対策は何か?を担当者自身が考えるきっかけになりうる。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「Redmine」カテゴリの記事
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
「TestLink」カテゴリの記事
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
- TestLinkの要件管理にUSDMを適用する方法(2023.01.22)
- TestLinkのテストケースはクラスとインスタンスの考え方で区別する(2023.01.22)
- テスト管理ツールCAT、TestRail、QualityForwardのオンラインのマニュアルのリンク(2022.09.24)
- テスト管理ツールTestRail、CAT、QualityForwardの感想(2022.07.30)
「チケット駆動開発」カテゴリの記事
- 第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)
コメント