スキップしてメイン コンテンツに移動

投稿

2014の投稿を表示しています

Making plugin of redmine - chapter 2

前回の更新から時間がたってしまいましたが、作成は順調に進みました。 一気にv1.0です。リリースバージョン。 通勤時間で構想練って、週末、夜中に少しずつコーディング。 カスタマイズのときとは違って、余計なところに気を使わない分、短期間でできました。 今回作成した点で一番苦労したのは、ネーミングとルーティング。基礎を知らないだけに、躓きまくり。ようやく完成までこぎつけました。あとは実際のプロジェクトに適用しながら、細かいバグとりをする予定。  本家とは違って、ベースラインを設定していなくとも、EVM値を算出してグラフ表示しているとこが、使いやすくなっている点です。あと、パフォーマンスも良いと思います。極力DBからデータ取得をしないようにしたつもりです。(たぶん) ベースラインと実際のチケット ベースライン(計画値)は得てして動くものであるため、実際のチケットの状態と乖離しやすい。 WF型の開発はベースラインの変更=計画変更(だいたい予算追加)が承認プロセスを経て、行われる場合が多いように思います。こんな時はベースラインを基本にEVMすると良いと思います。 大型案件でなければ、ベースラインは設定せず、チケットをもとにEVMすると良いと思います。とは言っても、一応計画めいたものはあるはずなので、ベースラインを使いずつ、チケットの状態(タスク追加)によって、ベースラインから乖離していく様を見ながら管理してもよいでしょう。ベースラインで計測するか?現実のチケットの状態で計測するか?とオプションで選択できます。デフォルトはベースラインですが、ベースラインを設定していないときは、現実のチケットで計測します。 画面表示 メインの画面はRedmineのプラグインにしては、かなり詰め込みすぎな感じのレイアウトです。 こんな感じ。 かなり悩んだ挙句、前回のカスタマイズ版と変化なし。もう少し洗練されたデザインにしたいんだけど、用途のイメージがぼやぼやしていて、まとまりがなくなっています。オプションの選択状態を保存できるといいんでしょうね。 とは言っても、これだけ出ていれば、それなりに使えるでしょう。 リポジトリはここ redmine_issue_evm

Making plugin of redmine - chapter 1

Redmineのプラグインを作成します。 プロジェクトの進捗をEVMで管理しようと既存のプラグインを利用したり、カスタマイズしてきましたが、いまひとつかゆいところに手が届かない。 ということで、地道に自分好みに作成しようと思います。 概要  チケットの情報を使ってプロジェクト全体のEVM値を算出してグラフ化する ポリシー  できるだけシンプルに実装 フェージング  ver0.1 PV,EV,ACのみをグラフ化  ver0.2 ベースラインを保存、参照可能にする  ver0.3 ベースラインのPVをグラフ表示する  ver0.4 予測値の算出  ver0.5 予測値のグラフ化 まずは、リポジトリの用意と、命名です。 名称は「redmine_issue_evm」 スケルトン作成のためのコマンド ruby script/rails generate redmine_plugin redmine_issue_evm をタイプしてみると、 DL is deprecated, please use Fiddle なんてメッセージが出てきた。いきなりの躓き、全くの想定外。 そして、エラーメッセージの嵐。どうやら、DBにつながらない的なメッセージが出てる。なんとなく思い出してきた。 SET RAILS_ENV=production って動作環境を指定しないとダメだったようなきがしてきた。さっそくタイプして、スケルトン作成のコマンドをタイプすると、、、ビンゴ。 DL is deprecated, please use Fiddle は、警告のようで再度出てきましたが、ちゃんとプラグインのスケルトンが作成できました。 続いてコントローラーの作成を行います。 今回は、indexとshowだけ作成。のちに他を追加予定。 ruby script/rails generate redmine_plugin_controller redmine_issue_evm evms index show  これで、一旦完了。

Redmineで計測するEVM その5

redmineでEVMを可能にする、 imaginary-cloud さんのプラグインをカスタマイズしていますが、本家が日毎のEVM値算出と親子チケットの場合工数を重複して計算している問題に対応していたので、取り込んでみました。 EVMプラグインカスタマイズ版 以前はEVM値の説明はTooltipで表示させていたのですが、見切れがうまく解消できなかったので、あきらめて、サイドバーに説明と計算式を表示するようにしました。が、なんとなくしっくりこない(笑)もう少しわかりやすい説明を書かなければいけないな。 というよりも、最大の難関は英語表記 。 前から、作りたいと思っていたSPI,CPIの時系列推移チャート。 あんまり、意味がないかもしてないのだけど(チケットの作成粒度に依存するし、進捗率でEVを計算してるし)、期間が日単位以下のチケットが大半を占めるのであれば、SPIの推移を追っていくことは、進捗報告時点の数値をより詳細に評価できるのかなと思っています。 ただ、書いてみたは良いものの、パフォーマンスが悪い。。。 もう少し効率の良い方法を考えてパフォーマンスを上げていこう。これは時間がかかりそうだ。

Redmineで計測するEVM その4 (チャート表示をHighchartsへ)

先週の残課題だった、グラフ表示をHighchartsへ変更する対応をしてみました。 Highchartsは見栄えの良いグラフを、簡単に表示させる事ができるのでお気に入りです。 http://www.highcharts.com/demo デモで色々なグラフをみる事が出来るので興味のある方はどうぞ。 グラフのプロパティなどの設定値はオンラインですぐに確認できるデモ?もあるので日本語で解説されなくとも試行錯誤しながら、表示させたい設定を探せると思います。 redmine_evmのチャート表示部分をHighchartsのFunctionへ差し替えるくらいの簡単な対応でチャート表示可能でした。 https://github.com/momibun926/redmine_evm/tree/change_graph こんな感じで表示されます。 下段の凡例をクリックすると、グラフ線の表示と非表示が切り替える事が出来ます。 右上のボタンでグラフを画像でダウンロードできます。 Hoverで値が表示されます。特に難しい設定もなく、こんな見栄えのグラフができるなんて最高です。 期間の長いプロジェクトでは、1~2週間だけ見たい場合もあると思います。 そんな時には、グラフの拡大したい期間を選択するとズームすることもできます。  拡大されて表示されます。戻したいときは右上の「Reset Zoom」ボタンを押すと元の表示戻ります。

Redmineで計測するEVM その3

前回redmine_evmが大幅にバージョンアップされていた件をブログに書きましたが、表示まわりに不満を残したまま、カスタマイズを止めていました。 それでも、1週間単位の把握から1日単位での把握に変わったのでものすごく使いやすくなりました。 少しずつRubyが読めるようになってきたので、一気に残りの課題を片付けました。 表示まわりはこんな感じに変更しています。 サイドバーにグラフ表示されていたサマリーを数値化し、その他の重要な指標(BAC,EAC,ETC,VAC)も表示させました。 凡例がかなりデカかったので、シンプルにグラフの下部に小さくして移動 グラフの表示幅がとても小さかったので幅変更 CSSで制御できる部分でViewにハードコードされているものを移動 EVMの各指標は説明がないとわかりにくいこともあるのでja.ymlへ記載してTooptip表示させる だいたいこんな感じでいじりました。 これで、長期間のプロジェクト(案件)でもグラフが見やすくなったと思います。 まだソースコードが整理しきれていないので、もう少し頑張ってきれいにしようと思っています。 GitHUBにはPushしてありますので興味のある方はどうぞ。まだMasterにMergeしていませんのでご注意を。 https://github.com/momibun926/redmine_evm/tree/change_layout あと、大きな課題はグラフ表示をHighChartに変更することかな。 いま使っているチャートはグラフをエクスポートできないんですよね。これがちょっと不満。

Redmineで計測するEVM その2

プロジェクトで進捗を報告する際に利用されることが多いEVM指標。 以前、RedmineでEVMを計測するためのプラグインがあることをご紹介しましたが、久しぶりにGitHUBを覗いたら大幅にUPDATEされていました。 https://github.com/imaginary-cloud/redmine_evm 主な機能の追加は Baselineを設定できること 予測値が表示可能 デザイン  でも、相変わらず週単位の計測値を表示しています。 使いにくいんですよね、週単位だと。   Forkしてカスタマイズしました。 やはり、いいですね日毎のEVM指標がわかるほうが。 興味のある方はお試しください。 https://github.com/momibun926/redmine_evm 計画(チケット全量と期間、工数)がFIXしたらBaselineを設定します。計画変更が発生したら、再度Baselineを設定する。こんなことをくりかえしつつ、日々の進捗をEVMで把握してゆく使い方になします。 Baselineは保存されているので、計画変更前、計画変更後で見比べることも可能です。 ものすごく便利になったのですが、いくつか不満な点もあります。 SV,CVがグラフ化されているところ 凡例が無駄にでかい この辺のカスタマイズは次回だな。 とりあえず、以下をチャレンジしてみようと思います。 SV,CVを数値で表示。SPI,CPI,BACも表示する 凡例の削除とグラフの表示エリアの拡大。 さらに Viewに直書きされているデザイン要素をCSSへ移すこともしていきたいと思います。

Redmineのテーマ作成

Redmineのテーマを作成しました。 標準でついているAlternateをベースに、フォントの調整、メニューの折り返し、サイドバーのサイズなど行っています。色のベースは青にしています。 ノートパソコンでのお仕事が多いので、高さをより少なくすることを注意しながら作成したのですが、試行錯誤の繰り返しで、結構時間がかかりました。 主なカスタマイズ メニューの折り返し、フォント調整 サイドバーのサイズ変更(Auto) コンテキシャルメニューのサイズ拡大 チケットの件名エリアを大きく チケット一覧は余計な罫線を引かないようにしました テーマ格納場所 GitHub https://github.com/momibun926/Alternate-custom

Bitnami Redmine2.5.2 にプラグインをインストール

Bitnami Redmine(2.5.2)にプラグインをインストールしてみました。 動作確認もかねてなのですが、毎度プラグインのインストールは面倒なので、DOSコマンドでいつも入れるプラグインのインストールをまとめて実行するようにしてみました。 Redmineのインストールディレクトリは、C:\BitNami\redmine-2.5.2-0としています。 Gitはインストール済みなので、リポジトリからクローンして取得するようにしています。 ECHO ON PROMPT $g REM ***************************************** REM Redmineのインストールディレクトリに従って変更 REM ***************************************** SET REDMINE_PLUGIN_ROOT=C:\BitNami\redmine-2.5.2-0\apps\redmine\htdocs\plugins REM ***************************************** REM プラグインディレクトリに移動 REM ***************************************** cd %REDMINE_PLUGIN_ROOT% REM ***************************************** REM Gitリポジトリからプラグインを取得 REM ***************************************** REM KnowregdeBase git clone git://github.com/alexbevi/redmine_knowledgebase.git redmine_knowledgebase REM EVM git clone git://github.com/imaginary-cloud/redmine_evm.git redmine_evm REM Wrokload git clone git://github.com/MPPI-DPN/redmine-workload.git redmine_workload REM 語彙集 gi

RedmineでGitリポジトリを参照する

Windows7にGit1.9.4をインストールして、RedmineにGitリポジトリを設定してみました。 設定はできたのですが、リポジトリのコミット履歴の参照ができませんでした。 なんてことはない、GitをProgram Filesへインストールしたのがイケなかったようです。 C:\Gitみたいにスペースを含まないフォルダにインストールしたらあっけなく参照できました。 世の中、Gitを使う流れになってきているようですが、実際使ってみるとなかなか良いですね。 ローカルリポジトリへのコミットは素早くキビキビした動作ですし、Branch/Mergeが安心して行えるのが管理するうえでとても助かります。 Gitのインストールは以下を参考にしました。 Gitのインストール   

Redmineの利用プラグインまとめ その1

だんだんと利用するプラグインが固まってきた。 ほぼ必須となっているプラグイン。 Clipboard image paste チケット、Wikiにクリップボードから画像を貼り付けます。 エビデンスの添付や説明用の画像などを簡単に貼り付けられる。 clipboard_image_paste   Redmine Code Review plugin   開発案件では欠かせません。 開発担当とレビューワーのやり取りが残ってタスク化されるのは非常に有用。 redmine_code_review Glossary 案件ごとに特殊な用語が必ず出てきます。お客様側で用語集が用意されていることが多いのですが 、開発Tでより深く理解できるように、用語集をカスタマイズしなければならないことが多いです。 エクセルベースの用語集ではやはり使いづらいですしね。 redmine_glossary Issue Importer このプラグインなくしてはやっていけません。 大量のチケットを投入したり、更新するのは必須です。 多種多様のプラグインがありますが、私は以下のプラグインを利用しています。 redmine_importer Wiki Extensions Wikiを利用するケースが多いのでこのプラグインも必須。 redmine_wiki_extensions   EVM Plugin 進捗管理等はEVM指標で報告することがほとんどなので、このプラグインを利用しています。 redmine_evm

プラグインを作ってみる

ほしいなと思っていた機能をプラグインで実現してみる。 プロジェクト運営中にチケットの担当替えをすることがままあります。 いや、担当替えというよりも突発的な機能追加や、設計中に機能を細分化できていなかったものなど、チケットの追加->担当をアサインすることが良くあります。 そんな時に、現実的にアサイン可能な担当を割り振るうえで、誰が余裕ある?ってのが、Redmineだと把握しずらいと思っています。 チケット一覧をうまく使ってもできるんでしょうが、なんとなく良い方法が見つかりません。 そこで、担当、期間を指定して、どのくらいのワークロードがあるのか?ってのが視覚化されているといいなと思っています。そこで、普段使っているプラグインを参考にしながら作成してみました 。 単純に、担当を指定して、期間を入力すると割あたっている工数がグラフに表示される簡単なものです。 管理する側だけでなく、担当者も自分がどのくらいのワークになっているかを把握しやすいなと思ってみたりしています。 グラフ表示はこんな感じ。   担当となっているチケットの期間(土日除く)に、予定工数を按分してグラフ表示しているだけです。 今後のカスタマイズしたところとして、、、 作業時間も並べて表示(日毎の予実とも言えるかも) プロジェクトのメンバー全員をならべて表示 担当者の現状を分析するためのトラッカーの割合など表示 3番目の項目は、以下のリンクのイメージかな。担当者レベルで表示できればいいな。 https://github.com/alexmonteiro/Redmine-Monitoring-Controlling 割り当てる人の傾向やタスクの消化具合が一目みてわかるのが理想。 (ある程度トラッカーが機能を細分化された粒度でないと意味ないけど。カテゴリでその担当者の得意分野?がわかるかもしれない) ま、ここまでやると、本来の目的から大きく外れてしまうような気がするので、まずはこのまま使ってみるとします。 リソース確認グラフ Github: https://github.com/momibun926/redmine_assign_resources 余談: プラグインの名前がイケてない。。。 4/29

Redmineで計測するEVM

プロジェクトによっては、EVMによって進捗を測っているところもあります。 Redmineでタスク管理をして、作業時間をつけるのですから、EVMも計測可能だと思います。 チケットの作業予定のFromToと、見積もり、完了のステータス、作業時間を利用してEVMを算出するプラグインがありました。 ※EVMについては http://www.itmedia.co.jp/im/articles/0903/31/news118.html に概要がのっています。 EVMプラグイン redmine_evm https://github.com/tksmkw/redmine_evm  DBのマイグレーションもないので手軽に導入できます。本家からフォークされたものですが、HightChartを使っていて、表示されるグラフが洗練されている感じがします。 時間軸は1週間ごとで表示されます。短期間のプロジェクトでは、適用しづらいかもしれません。 PV,EV,ACだけでは物足りないので、以下の指標も表示させるようにしてみました。 PV Planned Value 出来高計画値(計画時点で見積 もった予算コスト) - EV Earned Value 出来高実績値(現時点までに完成 した作業の予算コスト) - AC Actual Cost 出来高実績値(現時点までに完了 した作業の実コスト) - SV Scheduled Variance スケジュール差異 EV-PV CV Cost Variance コスト差異 EV-AC SPI Schedule Performance Index スケジュール効率指数 EV÷PV CPI Cost Performance In

要件定義~基本設計フェーズでRedmineを利用したい

Redmineを要件~設計フェーズで利用したい。 用意するトラッカーは 業務要件 機能概要 お客様とのヒアリングの結果を「業務要件」トラッカーでチケット登録。 内容は、要件の業務背景、目的、期待するアウトプットなど、テストフェーズで業務を意識したテストケースが作成できることをイメージする。 作成したチケットの内容を、お客様とコメントもしくはワークフローでQAのやり取りを行い、要件をFIXしていく。 業務要件の概要がまとまり始めたら、「機能概要」 トラッカーで実装する機能の概要を記述して、「業務要件」トラッカーの子チケットとする。これで要件-機能マッピングが完成。 機能概要が業務要件と視覚的に結びつくことで、機能設計時にお客様の要件を常に意識しながら、作業を行なうことができる。

Plugin:redmine_glossary

用語集をインストールしました。 入手先:https://github.com/chiastolite/redmine_glossary 利用方法:http://www.r-labs.org/projects/rp-glossary/wiki/Usage 前々から気になっていたプラグインだったのですが、Redmineのバージョンアップについていけていませんでした。 半ばあきらめていたのですが、GitHubにてRedmine2.3へ対応したものが公開されていました。 インストールも標準的な方法でまったく問題なくインストールできました。 ちょっと大きめの規模のシステムでは、サブシステム毎にチーム分けがなさされ、かつ、周辺システムとの関わりも増えてきます。 そんな中で、プロジェクトで利用する用語、または関連周辺システムで利用されている用語など、設計書の表記で誤用してしまい、お客様とのコミュニケーションが円滑に進まないことがあります。 今までエクセルで用語一覧を作成して運用してきましたが、リバイスが頻繁に行われる場合にはエクセルであるがゆえに問題も多かったことがありました。 上流工程で利用される用語が、そのまま開発チーム内でのコミュニケーションでも利用されるので、皆が最新の用語集を正しく参照できることが重要です。 このプラグインの気に入っているところは、上流工程で固まってくる用語を開発へつなげるためにコーディング用の名称例を記入しておくことができるところでしょうか。

Plugin:knowledgebase

BitNamiのRedmineプラグインで一番手こずったのがこのknowledgebaseのインストール。 もともと、Redmineを利用するにあたって、プロジェクトが進むにつれて様々なノウハウを蓄積する仕組みがほしかったので、このようなプラグインを探していました。 開発プロジェクトが進行中の場合、さまざまな問題を解決していくことが多いですが、その過程で生まれてくるノウハウの蓄積はチームにとって大きな財産になります。チケットに記載することでその蓄積を図っていたのですが、段々放置されていくことが多くなっていきました。 そんな中このプラグインを見つけて運用してみようとインストールするに至りました。 本来なら、Bundle Installなどでインストールされると思うのですが、どうもうまくいかなかったので、直接取得して配置することでknowledgebaseをインストールできました。 このプラグインは、以下のライブラリが必要となります。 ・acts-as-taggable-on 入手先:https://github.com/mbleigh/acts-as-taggable-on ・redmine_acts_as_taggable_on 入手先:https://github.com/hdgarrood/redmine_acts_as_taggable_on 各々Masterから取得しました。 REDMINE_ROOT\libにacts-as-taggable-on、redmine_acts_as_taggable_onフォルダを作成して、解凍したファイルを各々に配置しました。 これで、あとは標準のプラグインインストール手順で、knowledgebaseをインストール。 REDMINE_ROOT\bundle exec rake redmine:plugins:migrate RAILS_ENV=production 無事インストールできました。

Pluginのインストール

Pluginをインストールして少し便利にしてみます。Redmineのヴァージョンは2.4.2です。 2.4.2で動作するPluginを探すのに苦労しました。本家のプラグインリストから気になったものをピックアップして、Github等から、2.4.2で動きそうなもの(2.3対応しているもの)を探してインストールしました。 インストール時に、すごく悩んだのがDBのマイグレートが必要なプラグインのときに実行する rake redmine:plugins:migrate RAILS_ENV=production ってコマンド。Redmineのルートフォルダで実行するとエラーで実行ができない。。。 色々と調べては見たのですが、そもそものベースとなる知識が全くないので、苦労しました。 上記のコマンドでなぜエラーになるのかは、まったく理解はしていないのですが、以下のコマンドでインストールすることができました。 bundle exec rake redmine:plugins:migrate RAILS_ENV=production インストール時に少し手間がかかったもの ※とはいってもRailsの知識全くないので苦労しただけだとおもいますが、、、 Knowledgebase Redmine Charts 以下のプラグインは特に悩まず順調にインストールできました。 Paste cropped image Gompertan plugin Progressive Gantt Modifications Redmine Auto Done 100% Redmine Code Review Redmine EVM ezFAQ Redmine Glossary Issue Importer Redmine Issue Checklist Redmine Issue Detailed Tabs & Time Redmine Issue Templates Redmine Local Avatars Redmine Wiki Extensions plugin Redmine Work Time plugin Sidebar Hide

Subversionのリポジトリをプロジェクトに紐づける

あっさりとRdemineが入ったので、SubversionのリポジトリとRedmineのプロジェクトにSubversionのリポジトリを設定してみる 設定→リポジトリタブの「あたらしいリポジトリ」をクリックすると、リポジトリのパスを入れるところがあるので、リポジトリのURL(今回はローカルリポジトリなのでファイルパス)を入力して、保存するとリポジトリとの関連付け完了。 リポジトリとの紐づけではまったこと Tortoiseで作成してローカルのSubversionリポジトリをRedmineから見れなくて、かなり苦労しました。以下のフアイルを変更することでRredmine上から見れました! ローカルリポジトリ内のDBフォルダに入っている「format」ファイルの6の部分を3に変更しました。 変更後のファイルの中身 3 layout sharded 1000

BitNamiでRedmineをセットアップ

Redmineを本格的に利用してみようかと、自宅PC(Windows7(32bit))へインストールしてみる。 BitNamiのRedmineインストーラを利用してインストールしてみた。なんの問題もなくインストール完了。 BitNami http://bitnami.com/stack/redmine インストールされているRubyOnRailsなどのバージョン Redmine version 2.4.2.stable Ruby version 1.9.3-p231 (2012-05-25) [i386-mingw32] Rails version 3.2.16 Environment production Database adapter Mysql2