Redmine Commit Relation Editor Pluginで変更管理を強化する
@haru_iidaさんがRedmine Commit Relation Editor Pluginという有用なプラグインをリリースされたのでメモ。
【元ネタ】
Haru's blog: Redmine Commit Relation Editor Plugin 0.0.1をリリースしました。
r-labs - Commit Relation Editor - Redmine
(引用開始)
Redmineではリポジトリのコミットメッセージにチケット番号を入力することでコミットとチケットの関連付けを行うことができます。チケット駆動開発の合言葉「No ticket, No commit」が示すようにこの関連付けは非常に重要です。
しかしコミットメッセージに入力するチケット番号を間違えたり、番号を入れ忘れたりすると後から関連付けを修正することができず悲しい思いをします。
このプラグインを使用するとリポジトリブラウザ上から新たにチケットを関連付けたり既存の関連付けを削除したりできるようになります。
(引用終了)
チケット駆動開発の発端となった運用ルールである「No ticket, No commit」を実践する場合、コミットログに「refs #12」「fixes #23」のようにチケットNoを書くようにする。
しかし、チケットNoを誤って書いたり、#を大文字で書いたり、間違える時がある。
すると、せっかくの変更履歴が本来のチケットとリンクしなくなる弱点があった。
現状は、チケットに本来のリビジョンを「r123」のように書いてチケット画面からリンクするする手法しかフォローすることができなかった。
だが、上記のプラグインのおかげで、間違ったチケットNoでコミットログを書いても、後から修正できるようになる。
そうすれば、チケットとバージョン管理のリビジョンを本来のあるべき姿でリンクさせることができるから、トレーサビリティを強化することができる。
このトレーサビリティという概念は最終的には変更管理プロセスを補強することにつながる。
何故なら、例えば、何故こんな汚いパッチを当てたのか、何故本来の要件がこんな複雑な仕様になってしまったのか、という変更履歴をチケットと成果物の修正履歴から辿ることができるからだ。
その作業によって、例えば、今回のバグ修正では過去のパッチを安易に修正してはいけない、とか、技術上の制約から本来の要件が現在の仕様に変わったので今回の仕様変更も同様に考慮する必要がある、などと言った判断を自信を持って説明することができる。
アジャイル開発では、頻繁なリファクタリングと小刻みな機能改善を同時並行で開発しているので、ソースはどんどん成長して変化していく。
だから、Git/Mercurialで並行開発をサポートするだけでなく、RedmineやTracで変更履歴を後から調査しやすくする環境を作ることはとても重要だと思う。
| 固定リンク
「Redmine」カテゴリの記事
- 第24回redmine.tokyo勉強会の感想 #redmineT(2023.06.03)
- 「Redmineハンドブック」は良い本です(2022.12.17)
- 第23回東京Redmine勉強会の感想~コミュニティは仲間から生まれて続く #redmineT(2022.11.06)
- 第22回東京Redmine勉強会の感想 #redmineT(2022.05.29)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
「チケット駆動開発」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
- タスク分割は親子チケットにすべきか、それともチェックリストにすべきか #redmine(2022.03.04)
- Redmineにメンション機能が入るらしい(2022.01.15)
「Agile」カテゴリの記事
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
コメント