shinagawa.redmine 第2回勉強会に参加してきました

http://shinagawa.redmine.r-labs.org/projects/shinared/wiki/%E7%AC%AC2%E5%9B%9E%E5%8B%89%E5%BC%B7%E4%BC%9A

1月21日に、shinagawa.redmine 第2回 勉強会に参加してきました。
そして LT で Redmine Graph Activities プラグインについて話してきました。

資料はこちらです。
http://www.slideshare.net/me_umacha/redmine-graph-activities

「ブログを書くまでが勉強会!」ということで書いていきたいと思います。

反省

まずいきなり反省点ですが、30分ほど遅刻しました。
本来であれば事前に会場入りして LT 資料の確認やマイクの使い方などをひと通りチェックしておくべきだったのですが。。。

藤原さんの発表も半分お聞きすることができず本当に勿体無いことをしました。
後でUstreamで見ることができてよかったです。
Ustreamをご用意してくださった運営の方ありがとうございました。

良かった点

では逆に良かった点は何かと言いますと、何よりも「LT をやります!と挙手した事」かなぁと思っています。
勉強会って懇親会でないと、他の出席者の方に話しかけるって勇気がいることじゃないですか。(僕だけですか?)その点 LT 登壇者であれば運営の方々と話すし、そうするとメイン発表者の方々とも話しやすい雰囲気ができる気がしました。
休憩時間の合間にぼけーっと Twitter 見たり RSS の更新チェックしたりしてるのは、せっかくの勉強会の場なのにもったいないですよね。(以前の自分がそうだったのですが・・・)
今回ものすごい偶然で、隣が @akiko_pusu さん、前方が @TrinityT さんと LT 登壇者の席が集中していたので、なんだかいい感じに話すことができて本当よかったなと思ってます。

まとめ

僕は今回初めて LT をやりました!が、(かろうじて)なんとかなりました!
人前に立って何かを発信する、発表するのって恥ずかしいし自分にはちょっとハードルが高いかなぁと思っていたのですが、いざやってみると得るものが大きいと感じました。
LT やってみようかな・・・なーんて考えてる人はぜひ一歩踏み出してみてください。誰にでも1回目はあるんですから!1回目を乗り越えてしまえばすごく気が楽になりますw

おまけ

Redmine Graph Activities プラグインの詳細については資料をご覧ください。
勉強会に合わせてプラグインをバージョンアップしまして、日付の範囲を選択できるようになりました。
Redmine のコアのテーブルを書き換えたり、コードに hook かけたりするプラグインって、Redmine 本体をバージョンアップした時に正常に動作するか不安ですよね?
その点、このプラグインはただ vendor/plugins 以下に配置するだけでOKですのでご安心ください!
ぜひ皆さんお使いいただき、その結果「こんな事が分かったよ!」とか「こんな変化があったよ!」というのがあれば、それをシェアしていっていただきたいなと思います。

最後に、改めまして運営の方々、発表者の方々、出席者の方々ありがとうございました!

Redmine Graph Activitiesプラグイン

最近Redmineがすごく注目されていて、チケット駆動開発という言葉も有名になってきましたね。
僕も1年くらいRedmineを使っているのですが、以前から何かプラグイン作れないかと考えていました。

試行錯誤の末、一つ形になりましたので公開します。

概要

Redmineプラグインで「活動」の情報をもとに、どの時間帯に何回チケットが更新されたか、コミットされたかをグラフで表示します。

ダウンロード・インストール

GitHubにて公開しています。
インストール方法はREADMEを参照してください。
DBは使っていませんので配置するだけで動きます。

使い方

このプラグインはモジュールとして動作するため、プロジェクトの設定画面から有効にしてやる必要があります。
[プロジェクト→設定→モジュール]

そうすると、[活動グラフ]がプロジェクトのメニューに追加されます。
以下にスクリーンショットをご紹介します。

ユーザごとにフィルタをかけることができます。

注記

Redmineのバージョンの動作確認については、1.2.1、1.0.5でのみ行っております。1.1.xについても多分動くと思います。
このプラグインはグラフをSVGとして出力していますので、SVGビューアが必要です。
活動はサブプロジェクトの活動を含みます。次期バージョンで、サブプロジェクトの情報を含めるかどうか設定なりフォームなり対応しようと思います。(要望があれば)
活動を取得する期間は固定で28日間にしています。期間を選択可能にするのも、次期バージョンでできたら実現したいです。(要望があれば)

なお、本プラグインは、なんらの予告なく変更、中止することがあります。me_umachaは、これらを原因として発生した損失や損害について一切責任を負いませんのでご了承ください。

雑記

このプラグインを作るにあたって、ゴンペルたんのソースを大いに参考にさせていただきました。この場をお借りしまして御礼を申し上げます。
また、プラグイン開発のチュートリアル日本語訳を公開していただいている、r-labs@haru_iida氏、Redmineの非常に有用な記事を多数公開してくださっている@daipresents氏にも御礼を申し上げたいと思います。

雑記その2

なぜプラグインを作ろうと思ったのか、というきっかけについて簡単にご説明を。
以前、@akipii氏のブログにて

Don’t Program on Fridays! How to Locate Fix-Inducing Changes

上記の論文の主張は「ApacheやEcipse(又はMozilla)プロジェクトでは、金曜にバグを発生させるコミットが多く、金曜はバグ修正のリスクが高い。金曜はプログラムを書くな!」というもの。

という記事を見つけました。

僕の職場でも夕方から夜にかけて、そして金曜日に駆け込みでチケットが更新されることが多いと感じていて、果たして本当にそうなのか?じゃあグラフにしてみよう!と思いついたのがきっかけです。


このプラグインを使えば、夕方から夜にかけて活動する「夜型人間」や、休日出勤して活動する「休出人間」を見つけ出すことができると思っています。僕のいる職場では、思ってたより夜型ではなかったようなので、それもまた一つの発見でした。

Redmine Graph Activitiesが何かにお役に立てれば幸いです。