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

投稿

プラグインのバージョンアップ

ようやく、課題であったプラグインの更新をしました。 大きな課題は2つ 期日は紐づいているバージョンの期日を使って計算する 稼働日を意識して計算する 1.の実現にてこずりました。ISSUEテーブルとVERSIONテーブルをOUTERJOINして、VERSIONの期日を取得してと考えていたのですが、なかなかうまくいきませんでした。ラあらかじめ、JOINするテーブルを絞り込んでから、OUTERJOINしたかったのですが、これがうまくできず、苦戦しました。 最終的には、絞り込まずに取得したカラムを判断をwhere条件で絞り込むようにしました。 相変わらず、試行錯誤してやっと実現できました。 2.は、チケットの期間から、土日、祝日を除外してPVを計算することで、稼働日の意識ができました。休日はHolidaysというgemを使って取得しました。 あと、日ごとのPVも棒グラフで出力するようにしました。 まだ、BrunchにしかPushしていませんが、気になるかたはどうぞ。 https://github.com/momibun926/redmine_issue_evm
最近の投稿

Making plugin of redmine - chapter 5

新しいプラグインの作成はとん挫しています。。。 モチベーションが上がりません(笑) そんな事をしているうちに、Redmineが待望の3.0へアップデート。 EVMのプラグインを対応させるべく、色々調べましたあげくになんとか追従できました。 強引にJSで書き換えた部分もありますが、なんとか対応を終えました。とおもったら3.0.1がリリース(笑)動作確認も終えて、公開です。 よかったら使ってみてください。 リポジトリはココ issue evm テストコードは書いたことがないので、ありません。。。 ちょっとした改造やリファクタリングもそろそろ大変になってきました。何とかならないものか、、テストコード。  

Making plugin of redmine - chapter 4

Redmineを使って案件を管理するときは、1Project=1案件とすることが、一番しっくりくると思います。 案件の進捗報告は、前回までで作成してきたEVMプラグインをつかって、簡単にできると思います。 (チケットの粒度の熟考、更新する手間はありますが) テスト工程では、バグチケットを切りながら、随時対応していくことが多くなると思います。 必ず話題に上がるのが、バグ発生-対応状況の予測でしょう。また、発生から対応完了するまでの対応期間も話題に上がることもあります。 残りのテストケース、バグ発生の件数、対応件数、対応時間から、テスト期間内にテストが完了できるかを見極めします。対応していく過程はバグチケットのバーンダウンチャートなどがよいのでしょうけど、発生件数を時系列でみるものってあまり見かけません。 (標準のチケットには、開始日・期日を入れることはできますが、発生日のような項目がないからでしょうね) チケットにカスタムフィールドを追加して、発生日のような属性で入力を行っていくと仮定して、バグの収束曲線が見えるようなプラグインを作成したいと思っています。

Making plugin of redmine - chapter 3

前回のプラグイン作成は、EVMでプロジェクトを管理するためにEVM指標とグラフ化目標にしていましたが、一旦完成をしたので、今後プロジェクトで利用して機能追加を行っていこうと思います。 次のプラグインは、製造工程でよく求められるバグ収束曲線が表示できるものを作成しようと思います。

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の推移を追っていくことは、進捗報告時点の数値をより詳細に評価できるのかなと思っています。 ただ、書いてみたは良いものの、パフォーマンスが悪い。。。 もう少し効率の良い方法を考えてパフォーマンスを上げていこう。これは時間がかかりそうだ。