定量的プロジェクト管理ツール(EPM-X)

IPA(独立行政法人 情報処理推進機構)が開発したツールで、その名の通りプロジェクトの各種メトリックスを収集してグラフなどで見える化を図ろうとするもの。ベースはRedmine/Tracで、これに各種プロダクトを組み合わせている。Tracの場合、TracLightingに似ている。インストーラはRedmain版とTrac版がある。リポジトリはインストール時、SubversionかGitが選べる。組み合わせ的には以下の様な感じ。

存在は以前から知っていたけど、まとまった時間が取れなかったので放置してた。意を決してこの連休に試してみたが、まさかの展開が...。

個別インストール断念

EPM-Xのインストールには

  1. TracLightingのような「一括インストール」
  2. 既存のTracLighting/Redmine環境にプロダクトを追加する方法

の2通りがある。TracLightingユーザの自分は迷わず後者を選んだ。しかしこれが失敗。手順書に従い作業を進めたが、まずこの手順書がtypoだらけ。それでもなんとか画面を出すところまで行ったけど、「プロジェクト管理PFデータ収集 」を実行すると

ジョブ「B001A-MAIN」のデータ変換「P102」でエラーが発生しました。

となる。Pentahoの定義を見てもわからない。もう疲れたので断念。これが1日目。

TracSubversionリポジトリが連携できない

2日目は Trac版を「一括インストール」。インストールはデフォルト設定なら[OK]ボタンを押すだけ。無事IPF Managerの画面が表示できた。ここからadminでログインしてプロジェクトを作成すると、それ用のTracリポジトリが作成されるのだが、そのリポジトリが変。例えばプロジェクト名に「procyon」と入力したが、リポジトリディレクトリは

f:\ipftools\data\svn\veft_2014011218221147_ilgi

といったものになる。しかしそういったディレクトリは作成されていない。ここからあれやこれや試してみたがNG。自分でsvnadminでリポジトリを作って、プロジェクトのtrac.iniに設定してもダメ。リポジトリへのci/coはできるけど、Tracのチケットで[1]と書いても、ポップアップで

サポートされていないバージョン管理システム "svn": "DLL load failed: ...

と表示される。ダメじゃん。疲れたので断念。これが2日目

Trac版GitはSQLがおかしい

あきらめてリポジトリをGitでインストール。しかしこれもおかしい。ディレクリ名が

F:\ipftools\data\git\procyon

になっている。ふつー、ディレクトリ名は.gitがつくのでは...。案の定、これではソースがコミットできず。自分で

git init --bare --shared F:\share\repos\procyon.git

として、このディレクトリを設定したらOK。チケットからリポジトリが参照できるし、タイムラインにも表示される。しかし、またも「プロジェクト管理PFデータ収集 」でエラー発生。

ジョブ「T005」のデータ変換「wbs_ticket_output」でエラーが発生しました。

┐(´д`)┌ヤレヤレ。ログを見るとINSERT文でエラーが起こったらしい。そのINSERT文がこれ。(見やすく改行をしてあります)

INSERT INTO pm_data.wbs_ticket (
  ticket_id, subject, description, category_id, status_id, 
  priority_id, user_id, planned_start_date, planned_end_date, planned_cost, 
  parent_id, change_date, change_user_id, severity_id, progress, 
  planned_test_count, actual_test_count, planned_sloc, bug_density, start_date, 
  completed_date, index_ucl, index_lcl, component, reporter, 
  cc, version, milestone, resolution, keywords, 
  project_id, wbs_no, relation_id, group_id
) VALUES (
  1,  add file,  NULL,  1,  3,  
  4,  NULL,  2014-01-01 00:00:00.000000 +09:00:00,  2014-01-13 00:00:00.000000 +09:00:00,  0,  
  NULL,  2014-01-13 00:00:00.000000 +09:00:00,  1,  2,  NULL,  
  NULL,  NULL,  100,  NULL,  NULL,  
  NULL,  NULL,  NULL,  component1,  admin,  
  NULL,  NULL,  NULL,  修正した,  NULL,  
  2,  1,  NULL,  1
)

文字列はシングルクォートで囲まれてないし、時刻はそのまま。PostgreSQLって、,(カンマ)区切りで各項目を適宜型変換してくれるのだろうか?そんなはずはない。psqlで実行したら予想通りエラーの連続。以下のように修正したら通った。

INSERT INTO pm_data.wbs_ticket
 (
  ticket_id, subject, description, category_id, status_id, 
  priority_id, user_id, planned_start_date, planned_end_date, planned_cost, 
  parent_id, change_date, change_user_id, severity_id, progress, 
  planned_test_count, actual_test_count, planned_sloc, bug_density, start_date, 
  completed_date, index_ucl, index_lcl, component, reporter, 
  cc, version, milestone, resolution, keywords, 
  project_id, wbs_no, relation_id, group_id
) VALUES (
  1,  'add file',  NULL,  1,  3,
  4,  1,  TO_DATE('2014-01-01', 'YYYY-MM-DD'),  TO_DATE('2014-01-13', 'YYYY-MM-DD'),  0,
  NULL,  TO_DATE('2014-01-13', 'YYYY-MM-DD'), 1,  2,  NULL,
  NULL,  NULL,  100,  NULL,  NULL,
  NULL,  NULL,  NULL,  'component1',  'admin',
  NULL,  NULL,  NULL,  'modify',  NULL,
  2,  1,  NULL,  1
)

だめじゃん。

結論

おとなしくTracLightingを使っていたほうがいいような...。このEPM-Xの普及展開は一般社団法人実践的プロジェクトマネジメント推進協会がやってるらしいけど、FAQは準備中だし、技術サポートは有料。本当にみんな使えているのだろうか。セミナーは無料なのでそれに参加してみるか...。