torutkのブログ

ソフトウェア・エンジニアのブログ

redmine.tokyo勉強会(第11回)に参加 #redmineT

半年に1回のペースで開催されているredmine.tokyoの第11回勉強会に参加してきました。今回は、開催日がJJUG CCCともJava読書会とも重ならず参加することができました。

ノベリティと会場

ノベリティ

近日発刊の書籍(次)の第1章「バーベキューの段取りでRedmineを体験してみよう」を抜粋した小冊子が配布されました。

入門Redmine 第5版

入門Redmine 第5版

懇親会の席で、この本が3冊、本日参加&登壇されたファーエンドテクノロジーの前田さんから贈呈があり、じゃんけん大会で勝ち抜いた3人に手渡されました。

また、ガントチャートプラグインLycheeの開発会社アジャイルウェアから、「携帯エチケットセット」(携帯用歯ブラシ、折り畳みコップ)が配布されました。「エチケット」の語源(の一説)にはチケットから由来するとあり、チケット管理システムのRedmineにふさわしいとの余談も紹介されました。

会場

本日会場を提供していただいたのはテクマトリックス株式会社です。コミュニティ活動に会場提供いただけるのは嬉しいことです。

Java読書会BOF活動を17年してきましたが、なかなか休日に会議室を提供いただくのは敷居が高いことと痛感しています(こちらは毎月開催ということもあり・・・)。

テクマトリックス株式会社の製品は、過去にJTest、C++Test を仕事で使ったことがありました(懐かしい・・・)。

勉強会構成

午後からの半日で、10〜30分のセッションが6つ、5分のLTが4つ、参加者同士のグループディスカッションが1時間というなかなか盛りだくさんの構成でした。

セッション、LTは、Youtubeでストリーム配信され、また録画が公開されています。もうすでに勉強会ページに録画へのリンクが貼られています。
redmine.tokyoの勉強会ではスタッフの楠川さんがいつもトランクに自前の録画機材を詰めて配信しています。ありがとうございます。

セッション内容

以下はセッション聴講メモをまとめたものです。感想・気づきなどは別項に分離しています。

Redmineの簡易CRMとしての活用事例(松谷さん)

CRMの事例紹介です。
設備管理、インシデント管理、問い合わせ管理をそれぞれRedmineプロジェクトを作ってチケット管理を行っており、そこに顧客管理チケットで横串刺す管理構造を用意します。

最初の案は、顧客チケットに、その顧客に関する設備/インシデント/問い合わせ管理チケットを関連付ける方法です。しかし、それでは人が手作業で関連付けする必要があり、手間がかかるし漏れも生じます。

そこで、Wiki Listsプラグインを利用して顧客チケットの中に顧客に関連する管理チケットをリスト表示させる方法(都度DB検索をする)で自動で顧客に関連付けるようにしました。

なお、Wiki Listsプラグインのマクロでは顧客IDをパラメータとして指定する必要があります。チケットを作成するたびに顧客IDを調べてチケットのWiki編集で修正するのは大変です。そこで、View Customizeプラグインを使ってチケットを新規に作成するときに固定文字列を顧客IDに置換するようにして、顧客チケットはIssue Templateプラグインでひな形を用意することで面倒な作業をなくすことができるようになっています。

IoT企業でのプロジェクト管理とその変遷 、またはなぜRedmineが僕らの終着点となったか(本間さん)

このブログをredmine.tokyoスタッフでもある @akipii さんが見て誘われたという経緯で初参加&登壇です。

RedmineがIoT企業に異常にマッチしてしまった話 - 僕のYak Shavingは終わらない

Akerunというドアの鍵を電子錠化する機器を開発販売しているベンチャー企業をやっています。
ソフトウェア開発だけでなく、ハードウェアがあり、技術的には多レイヤー(スマートフォン上のクライアントアプリ、サーバーアプリ、ファームウェア、電子回路、機械部品)で構成され、管理的には顧客管理、部品の調達、製造、販売(在庫管理)などまで手掛けるというところがあります。

チケット管理として、最初はBacklog、ついでTrelloを使って、開発が一段落した時点でGithub+zenhubに移行してきました。Backlogはチケットが増えすぎてチケットの入力が大変になり、簡単に使える(題名だけ入力すればよい)Trelloに移行しました。最初は好評でしたが、粒度が小さくチケットが増えすぎ、期間の概念がないのでリードタイムの長いタスクが滞って見える(経営目線で進捗がわからない)、カンバンが横並びといった課題が出てきました。
そののち、既製品の保守と新製品開発が並走し、このままでは管理しきれないときに、Redmineが解決できるのではとの話が出て取り組んでみたというものです。

RedmineCRM Agileプラグインを利用してカンバン、プロジェクト階層を設けてカンバンを階層的に管理できるようになり、また、多レイヤーをまたぐ障害管理でもチケットの担当者を変えるだけでよく、といったことがありました。

乱立してるRedmineを一つにまとめる話(堂端さん)

Redmineサーバーが複数稼働している企業で、これらを1つのRedmineサーバーに統合するという作業をしました。
RedmineではIDが連番(データベースのAutoincrement)となっており、そのIDがリンクなどで使われているため、統合する場合はIDを付け替える必要があります。
Redmineのプラグインとして移行ツールを作成し、データをいったんSQLiteデータベース(ファイル)に中間データとして吐いて、それを統合先サーバーに持っていって取り込むという経路で作業しました。
なお、移行ツールはいろいろ調整が必要で、簡単に使ってもらえるレベルではありません。

Q&Aで聞いたことのメモ

  • チケットID以外に、Wikiに直接URLリンクを書いた場合は?と質問したら、置換しているとのことです。
  • svnã‚„gitリポジトリ側のコミットログは対象外(でもIDの対比があるのでツール作成は容易)
Redmineのバージョンアップに追従していくための一工夫+Planio紹介(前田さん)

Redmineのバージョン定義ルールの解説(!)

  • 最初の数値は、Railsバージョン
  • 2番目の数値は、Redmineのメジャーバージョンで多数の機能追加があったとき
  • 3番目の数値は、バグフィックスと軽微な改善

Redmineバージョンアップの障害はプラグイン

Redmineバージョンアップを容易にするTips

  • きちんとメンテナンスされているプラグインを使う
  • プラグインを入れた後にRedmine本体のテストを実行し通ることを確認(Redmineのtrunkで動くと次バージョンで動作がほぼOK)
  • Redmineだけを動かす(仮想化やコンテナ)
  • Redmineはtarボールではなくsvnリポジトリから取得

Redmine本体のテスト方法はスライド参照(コマンド3行)
Redmineアップデート方法はスライド参照(コマンド3または4行)

Planioは、Redmineベースのクラウドサービス。
ドイツの会社が開発、Planioに取り入れた機能を積極的にRedmineにフィードバックしています。
2ユーザーまでの無料コースもあります。個人でRedmineを使っている方はどうぞ。

RedmineとElectronで新人の育成状況を可視化した話(会田さん)

新人の育成で状況を、Redmineと外部ツールを作って(Electron)可視化(レーダーチャート)、日報自動作成などに利用した事例の紹介です。

Redmine最新動向-3.4の変更点について(内藤さん)

次のリリースであるVer.3.4で取り込まれる予定の機能を、日本語&画面付きで紹介です。

LTから

1つ目は、たかのさんによる「あなたのコードに花マルを 〜 ぼっち開発でも出来る、プラグインテスト初めの一歩」です。プラグインを作ったら、最低マイグレーションの確認を、ロールバックも忘れずに、次はテストを書こう、まずはRedmine本体のテストを真似て、よければRSpecを、次は自動化を、最後に静的解析を、と。

2つ目は、中村さんによる「ある工場はこれでREDMINEのバージョンアップを決意した」です。
Redmine 2.5で全文検索に8秒かかっていたけれど、Redmine 3.3にするだけで1.2秒になる、ということ、使いたいプラグインが動かない、バグが最新版では治っている、ということで重い腰を上げてバージョンアップしました。

3つ目は、@ryouma_nagareさんによる「開発環境の認証を改善してRedmineを社内標準にした話」です。社内ではActive Directoryによるユーザー管理環境がありますが、パートナー社員の登録を社内のActive Directoryにはしてもらえず、やむなくLDAPサーバーを立てました。Redmineは複数のLDAPをなめて認証する機能がありますが、Apacheサーバーは1つしか参照できないので、LDAPサーバーをProxyとしてActive Directoryを参照できるようにして双方に対応しました。

4つ目は、奈良さんによる「Unofficial Redmine Cookingの案内」です。Redmine標準機能では対応できないカスタマイズをしたくなると、プラグインを探したり直接Redmineを修正したりするのですが、その情報が整理されていないため、Redmine.Tokyoのサーバーにサブプロジェクトを設け、そこでチケットに情報を記載し共有しましょう、という提案です。ぜひRedmine.Tokyoにアカウントを作って情報を書いてくださいということです。
https://redmine.tokyo/projects/unofficialcooking

グループディスカッション

前後のテーブルでおよそ6人のグループでディスカッションを行いました。うち1人がスタッフ(ファシリテーター)として入っています。

今回のグループは、うち3人が登壇者(松谷さん、本間さん、堂端さん)という豪華グループになっていました。

Redmineの統合は、作業に見合う対価をもらえましたか? という生々しい質問が出たり、Redmineサーバーを運用していてRedmineがフリーズする等の問題はどのくらいありますか? 情報共有はどのようにしていますか?Wikiだと敷居が高いですが。チケット管理でどのような意外性のある管理をしていますか? メール連携について、などいろいろな話題が出ました。

感想・気づき

TrelloからRedmineへ

最近、Redmineが使いにくいからTrelloを、という意見を見かけています。なので、どんなのかちょっと気になっていましたが、TrelloからRedmineへという話で興味があり聞いてみました。
最大の要因はRedmineの柔軟性であるとのことです。

Redmineバージョンアップ

今までtarボールを展開してバージョンアップをしていたので、結構な手間を踏んでいました。
別ディレクトリに展開後、初期設定、データのインポートなどを実施していました。今回の話を聞いて、svnリポジトリから取ってくることで作業が格段に楽になりますね。
次からはsvnから取ってきて構築しようと思いました。

プラグインのテスト

用語集プラグインã‚’Redmine 3.xで動くように個人ベースで修正したことがあります。Rubyã‚‚Railsも分からないなか見よう見まねで動かすようにしたので、テストまではまったく手が回っていないため、こっそりgithubに置いています。いずれ、ちゃんとテストを書こうと思っただけでしたので、ちょうど今回LTを聞けてよかったです(が、LTも敷居が高い・・・)。

新機能

Feature#6719 チケットにファイルの添付を必須とするカスタムフィールドが追加です。これは、必ず添付しなければならないワークフローの実現に便利そうです。

Feature#23653 個人設定でテキストエリアのフォントを等幅/プロポーショナル設定可能になります。Wiki編集時、テーブル記法、プログラムソースコード、ASCII文字で図化するときは等幅でないと悲惨なことになるので、今まではWiki ExtensionsプラグインでCSSを設定していました。

Feature#6239 Wiki本文と添付ファイル間のセパレータは地味にありがたいかも。Wiki Extensionsプラグインでfooterを指定して回避していました。

Unoffical Redmine Cooking

「Redmine 3.3で子のプラグインが動きました/動きませんでした」というプラグイン動作情報もいいよということでした。
ここから、ブログ等へのリンクだけでもWelcomeだそうです。

ぜひ活性化して、Redmineに関してやりたいこと・困ったことがあったらここを見ればいいよ、となるように盛り上げていきたいです。