Redmineにお勧めソース機能が欲しい
今日、XP祭り関西2009が無事終了した。
参加してくれた人、ありがとう!
「チケットファーストでアジャイル開発!」で講演した時、ぽろっと話した「お勧めソース機能」を参加者の一人から質問されたので、メモしておく。
【仕様】
Redmineのリポジトリ欄で、選択したソースを表示した時、関連する他ソース一覧を表示する。
具体的には、そのソースを過去に修正した全てのソースのうち、
・同じチケットでコミットされたソース
・同じリビジョンで何度もコミットされているソース
で頻度が高い順番に表示する。
【要件】
本来のイメージは、Amazonのお勧め商品やiTunesのお勧め曲の表示機能みたいなもの。
例えば、Amazonの商品画面では、「この商品を買った人は過去にこんな商品も買っています」という商品が頻度の順に表示される。
iTunesでも同様に、この曲をダウンロードした人は、他にこんな曲もダウンロードしてます、みたいな機能がある。
この機能は、商品や曲のようなデータと関連性のあるデータを頻度の順に表示して、消費者へ他の商品も買うように勧める。
昨今の小売系Webシステムでは、販促として重要視される機能。
この機能のアーキテクチャの本質はデータマイニングであり、例えば、レコメンドエンジンとして既によく知られている。
たくさんのトランザクションデータが溜まるほど、質の高い関連データを表示することができる。
このデータマイニングの手法をソフトウェアに応用した場合、どこに使いたいか?
僕が欲しい機能は、一つのソースを修正した時、関連する機能やソースを洗い出す場合に、この手法を応用したい。
つまり、このソースを修正する時、過去にこんなソースも併せて修正しています、と関連ソースが一覧表示されると嬉しい。
というのも、実際の運用保守では、簡単な仕様変更であっても、影響範囲が広くて工数がかかる場面はよくあるから。
例えば、注文画面を修正した時、注文の業務ロジックだけでなく、実は共通ロジックにも影響していたという関連する機能調査に使いたい。
この時、RedmineチケットとSVNリビジョンが紐づいているデータはDBに格納されているので、強力な変更管理として使える。
つまり、ソースからチケット、更には仕様や要件まで追跡可能。
この時に、一つのソースを修正しようとした時、過去にこんなソースも一緒に直してますよ、という情報がポップアップ表示できると、開発者は自ら注意して調べるようになる。
よくある例は、1次開発でたくさんバグ修正した機能は、2次開発で修正する時もバグが出やすいこと。
その時に、過去にバグ修正した機能を触る時、開発者も自ら気をつけてくれるようになる。
今はRedmineにそんな機能はないけれど、インフラは既にあるし、SVNリビジョン回数が多いほど、関連ソース表示機能は有用になる。
チケット駆動開発が指摘した「ソースとチケットの紐づけによる変更管理」機能には、物凄いポテンシャルがあると思う。
| 固定リンク
「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)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「世界一流エンジニアの思考法」の感想(2024.12.08)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
コメント