テクマトリックス株式会社
システムエンジニアリング事業部
酒井 利治
Copyright © TechMatrix Corporation. All rights reserved.
2017/11/18 redmine.tokyo 第13回勉強会
Redmineの情報を自分好みに
見える化した話
2
Copyright © TechMatrix Corporation. All rights reserved.
アジェンダ
 自己紹介
 やりたいこと
 実現方法
 できたこととその効果
 課題と今後の展望
 まとめ
3
Copyright © TechMatrix Corporation. All rights reserved.
自己紹介
酒井 利治
 テクマトリックス株式会社
システムエンジニアリング事業部 ソフトウェアエンジニアリング技術部 に在籍
ソフトウェア品質保証分野一筋10年以上
 NPO法人 ソフトウェアテスト技術振興協会 発行
ASTERテストツールWG 著
「テストツールまるわかりガイド(入門編)」
作成メンバーの一人
 OSS的な活動
• Tomightyのリソース翻訳
• Node-REDのノード(node-red-contrib-spreadsheet-in)
4
Copyright © TechMatrix Corporation. All rights reserved.
テクマトリックス株式会社
テクマトリックス株式会社
・設立:1984年8月
(旧社名:ニチメン・データ・システム)
・資本金:12億9,812万円
・売上高:219億9,640万円〔連結〕(’17年3月期実績)
・従業員数:1,004名〔連結〕(’17年3月末現在)
・東京本社
〒108-8588
東京都港区三田3-11-24 国際興業三田第2ビル
TEL:03(4405)7800(代表)
・支店・営業所:
西日本支店 九州営業所 名古屋営業所 仙台営業所
札幌営業所
・グループ会社:
•合同会社 医知悟
•クロス・ヘッド株式会社
•沖縄クロス・ヘッド株式会社
•エヌ・シー・エル・コミュニケーション株式会社
•株式会社カサレアル
沿革
昭和59年8月 ニチメン株式会社(現双日株式会社)の電子・電気部門子会社
「ニチメンデータシステム株式会社」として設立。
平成12年7月 ニチメン株式会社が全保有株式2000株をITX株式会社に
売却。同社の連結対象子会社となる。
平成12年11月 社名を「テクマトリックス株式会社」へと変更。
平成13年2月 業務提携を目的に、楽天株式会社に第三者割り当て
増資を実施。資本金が8億7280万円となる。
平成17年2月 ジャスダック(JASDAQ:3762)に上場
平成19年8月 合同会社イ医知悟を設立
平成20年1月 クロス・ヘッド株式会社を連結子会社化
平成21年8月 株式会社カサレアルを完全子会社化
平成22年6月 東京証券取引所市場第二部に上場
平成25年2月 東京証券取引所市場第一部に上場
Mission Statement
よりよい未来を創造するITのプロフェッショナル集団
5
Copyright © TechMatrix Corporation. All rights reserved.
テクマトリックス株式会社:ソフトウェア品質保証ソリューション
アプリケーションパフォーマンス管理(APM)
影響度分析
メトリクス計測
アーキテクチャ分析
ソースコード構造分析
実行時エラー検出
単体テスト・テストカバレッジ分析
静的解析・フロー解析 回帰テスト
プロジェクト管理
機能テスト・負荷テスト
設計 コーディング 結合 運用・保守
ソフトウェア構成管理・変更管理(SCM)
プロダクト品質・プロセス品質の可視化
Jenkinsによる組織的、継続的デリバリ
6
Copyright © TechMatrix Corporation. All rights reserved.
テクマトリックス株式会社:取扱いツール
構造分析・影響度分析
 Lattix
アーキテクチャ分析ツール
 Understand
ソースコード解析ツール
管理・自動化
 Parasoft DTP
テスト管理プラットフォーム
 AccuRev
構成管理・変更管理ツール
 CloudBees Jenkins Enterprise
有償版Jenkins
単体テスト・静的解析・実行時エラー検出
 Parasoft C++test
 Parasoft Jtest
 Parasoft dotTEST
C/C++/Java/.NET対応 自動テストツール
 Parasoft Insure++
C/C++対応 自動エラー検出ツール
機能テスト・UIテスト・負荷テスト
 Parasoft SOAtest
APIテスト自動化ツール
 Parasoft Virtualize
サービス仮想化ツール
 Ranorex
UIテスト自動化ツール
 Lychee Redmine
Redmineの有償プラグイン
7
Copyright © TechMatrix Corporation. All rights reserved.
Redmineとのかかわり
傍観者
• Redmineをいつ知ったかは覚えていない
• 自分でサーバーを立てて使おうという気持ちはなかった(面倒そう)
利用者
• 3~4年前から業務にて利用開始
• 現在もタスク管理と情報共有のために利用中
サポート
• お客様から取扱いツールとRedmineの連携の要望を多くいただく
• Lychee Redmine取扱い開始、同時に技術サポートの担当に
8
Copyright © TechMatrix Corporation. All rights reserved.
社内におけるRedmineの利用
目的
• タスク管理(チケットトラッキング)
•情報共有(Wiki)
構成
• プロジェクト=取扱いツール
• チケット=タスク
• プラグインはほぼ未使用
ロール
• 取扱いツールの技術側リーダー
⇒ プロジェクトの管理者
• システム管理者権限はない
利用状況
• 毎朝のミーティングでタスクを確認
• チケットの登録・更新が疎か
• 運用に乗せる途上
9
Copyright © TechMatrix Corporation. All rights reserved.
タスク管理をよりうまくできるように
課題
• タスクをチケットに登録しない
• チケットが放置される
• ・・・
原因
運用ルールが確立していない
Redmineのページが開かれない
・・・
検討
チャットはよく使われている
(Mattermost)
対策
• チャットからチケットを作ったり
一覧を見られるようにする
システム管理者でなくてもできる方法で
10
Copyright © TechMatrix Corporation. All rights reserved.
見える化のイメージ①
寿司が回るようにしましょう
それめっちゃええやん
#1234 寿司が回るようにしましょう
参考:Redmine::Chan で IRC からプロジェクト管理
http://yapcasia.org/2012/talk/show/7b6375aa-bd29-11e1-ad51-b39f6aeab6a4
Aさん
某
Bot
11
Copyright © TechMatrix Corporation. All rights reserved.
取扱いツールとRedmineの連携の要望
 取扱いツール(テスト管理プラットフォーム)
 ソースコードの品質データの可視化
• ソースコード解析
• ユニットテスト
• コードカバレッジ
 Redmineユーザー様の要望
 品質だけでなく、プロジェクトの状況も合わせて1ヶ所で可視化したい
• タスク・進捗
• 障害
• 工数
12
Copyright © TechMatrix Corporation. All rights reserved.
Redmineユーザー様の要望の背景
 プロジェクトの状況を1ヶ所で見たい
 複数のプロジェクトを横並びで確認したい
 社内・社外への報告に利用できるグラフがほしい
 CSVにエクスポートしてExcelで集計とグラフ作成をしていて手間がかかる
13
Copyright © TechMatrix Corporation. All rights reserved.
見える化のイメージ②
出典:
「ソフトウェア開発データ白書2016-2017」の発行 ~「業種編3種(金融・保険業、情報通信業、製造
業)」も同時発行~
IPA 独立行政法人 情報処理推進機構
https://www.ipa.go.jp/sec/reports/20161012.html
規模×障害規模×工数 タスク推移
14
Copyright © TechMatrix Corporation. All rights reserved.
実現方法
①Redmineからの情報の抽出
②チャットからのリクエストの処理、抽出した情報の集計等
③結果やグラフの出力
15
Copyright © TechMatrix Corporation. All rights reserved.
実現方法①
①Redmineからの情報の抽出 ⇒ REST API を利用
管理>設定>API>RESTによるWebサービスを有効にする をオン
• 仕様は公開されている(https://www.redmine.org/projects/redmine/wiki/Rest_api)
• DB(MySQL/PostgreSQL)が異なってもリクエスト方法やレスポンス内容は変わらない
• 社内のRedmineでも利用可能だった
✓
16
Copyright © TechMatrix Corporation. All rights reserved.
実現方法②
②チャットからのリクエストの処理、抽出した情報の集計等 ⇒ Node-RED
参考:
https://nodered.org/
https://nodered.jp/ (Node-RED日本ユーザー会)
• REST APIと他のサービスを接続するという用途が一致
• 取扱いツール(テスト管理プラットフォーム)に同梱されている
Node-RED
A visual tool for wiring the Internet of Things
Node-REDはハードウェアデバイス/APIおよびオンライン
サービスを接続するためのツールです。
17
Copyright © TechMatrix Corporation. All rights reserved.
実現方法③
③結果やグラフの出力
 チャット
• Mattermostの外向きのウェブフックのレスポンス
• コールバックURLに指定するエンドポイントを
Node-REDで作成
 グラフ表示
• ウェブブラウザでグラフを表示
• JavaScriptのデータ可視化ライブラリを利用
• Node-REDで作成するエンドポイントに
アクセスして可視化データを取得
• 可視化データは、Node-REDからRedmineに
定期的にアクセスしてチケット等を取得・集計して
キャッシュしておく
18
Copyright © TechMatrix Corporation. All rights reserved.
Node-REDのフロー
Node-REDで作成した、Mattermostの外向きのウェブフックのエンドポイント
実環境では、もっとたくさんの分岐と処理があります。
19
Copyright © TechMatrix Corporation. All rights reserved.
Node-REDのフロー
チケットの登録の場合
3 発言者・題名・
担当者等を抽出
4 チケットの作成のための
パラメーターを作成
project_id=1
tracker_id=2
subject=題名
…
5 Redmineの
REST APIを呼び出す
6 結果を発言する
パラメーターを作成
Redmine用の
便利ノードを自作
1 発言を受け取る 2 発言内容で分岐 7 発言する
20
Copyright © TechMatrix Corporation. All rights reserved.
チャットからチケットを作成
21
Copyright © TechMatrix Corporation. All rights reserved.
できたこと①
✓ チャットからチケットを操作したり確認することができるようになった
22
Copyright © TechMatrix Corporation. All rights reserved.
できたこと①の効果
 タスクを気軽に登録できるようになった
 話題とタスクがつながるようになった
 チケットの作成の状況が見えるようになった
 便利な機能を追加する基礎ができた
23
Copyright © TechMatrix Corporation. All rights reserved.
ステータス別の
チケット数の推移
チケット数の
増減の推移
チケット情報の収集 = プロジェクト進捗の見える化
プロジェクトに登録されているタスクの状況を様々な角度で確認することが出来ます。
プロジェクト内のバグが予定通り収束に向かっているのか、特定の担当者に負荷が集中していないか、
プロジェクトの最新の状況を確認した上で、次のアクションを講じることが出来ます。
タスクが増加傾向にあり、プロジェクト
終盤に来ても収束していない。
できたこと②
✓ 必要とされるグラフを作成することができるようになった
25
Copyright © TechMatrix Corporation. All rights reserved.
できたこと②の効果
 ユーザーが必要とするグラフを作成できるようになった
 Node-REDからRedmineにアクセスしやすくなった
 取扱いツールをアピールする幅が広がった
26
Copyright © TechMatrix Corporation. All rights reserved.
課題と今後の展望
 チャットからの可視化の拡充
 便利コマンドの追加
 グラフの表示もしたい
 社内のRedmineによるタスク管理の浸透は道半ば
 タスクとしてチケット化する操作の敷居は下がったと思う
 タスクの登録自体がまだ浸透していない
 放置チケットの対策もこれから
 Node-REDの自作ノードの拡充
 チケットだけでなく、プロジェクト・ユーザー・作業時間等にも対応したい
 OSSとして公開しています。プルリクエスト歓迎
https://flows.nodered.org/node/node-red-contrib-redmine
27
Copyright © TechMatrix Corporation. All rights reserved.
まとめ
チャットとウェブ上でRedmineのチケットや作業時間等を見える化した例と
その実現方法の1つを紹介させていただきました。
Redmineの管理者ではないがRedmineの情報を見える化したい、という方は、
Redmineの管理者に「RESTによるWebサービスを有効にしてください」と依頼しましょう。
これだけで、手作業とRedmineの管理者に頼らず見える化が可能になります!
✓
28
Copyright © TechMatrix Corporation. All rights reserved.
ご清聴ありがとうございました。

Redmineの情報を自分好みに見える化した話

  • 1.
    テクマトリックス株式会社 システムエンジニアリング事業部 酒井 利治 Copyright ©TechMatrix Corporation. All rights reserved. 2017/11/18 redmine.tokyo 第13回勉強会 Redmineの情報を自分好みに 見える化した話
  • 2.
    2 Copyright © TechMatrixCorporation. All rights reserved. アジェンダ  自己紹介  やりたいこと  実現方法  できたこととその効果  課題と今後の展望  まとめ
  • 3.
    3 Copyright © TechMatrixCorporation. All rights reserved. 自己紹介 酒井 利治  テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング技術部 に在籍 ソフトウェア品質保証分野一筋10年以上  NPO法人 ソフトウェアテスト技術振興協会 発行 ASTERテストツールWG 著 「テストツールまるわかりガイド(入門編)」 作成メンバーの一人  OSS的な活動 • Tomightyのリソース翻訳 • Node-REDのノード(node-red-contrib-spreadsheet-in)
  • 4.
    4 Copyright © TechMatrixCorporation. All rights reserved. テクマトリックス株式会社 テクマトリックス株式会社 ・設立:1984年8月 (旧社名:ニチメン・データ・システム) ・資本金:12億9,812万円 ・売上高:219億9,640万円〔連結〕(’17年3月期実績) ・従業員数:1,004名〔連結〕(’17年3月末現在) ・東京本社 〒108-8588 東京都港区三田3-11-24 国際興業三田第2ビル TEL:03(4405)7800(代表) ・支店・営業所: 西日本支店 九州営業所 名古屋営業所 仙台営業所 札幌営業所 ・グループ会社: •合同会社 医知悟 •クロス・ヘッド株式会社 •沖縄クロス・ヘッド株式会社 •エヌ・シー・エル・コミュニケーション株式会社 •株式会社カサレアル 沿革 昭和59年8月 ニチメン株式会社(現双日株式会社)の電子・電気部門子会社 「ニチメンデータシステム株式会社」として設立。 平成12年7月 ニチメン株式会社が全保有株式2000株をITX株式会社に 売却。同社の連結対象子会社となる。 平成12年11月 社名を「テクマトリックス株式会社」へと変更。 平成13年2月 業務提携を目的に、楽天株式会社に第三者割り当て 増資を実施。資本金が8億7280万円となる。 平成17年2月 ジャスダック(JASDAQ:3762)に上場 平成19年8月 合同会社イ医知悟を設立 平成20年1月 クロス・ヘッド株式会社を連結子会社化 平成21年8月 株式会社カサレアルを完全子会社化 平成22年6月 東京証券取引所市場第二部に上場 平成25年2月 東京証券取引所市場第一部に上場 Mission Statement よりよい未来を創造するITのプロフェッショナル集団
  • 5.
    5 Copyright © TechMatrixCorporation. All rights reserved. テクマトリックス株式会社:ソフトウェア品質保証ソリューション アプリケーションパフォーマンス管理(APM) 影響度分析 メトリクス計測 アーキテクチャ分析 ソースコード構造分析 実行時エラー検出 単体テスト・テストカバレッジ分析 静的解析・フロー解析 回帰テスト プロジェクト管理 機能テスト・負荷テスト 設計 コーディング 結合 運用・保守 ソフトウェア構成管理・変更管理(SCM) プロダクト品質・プロセス品質の可視化 Jenkinsによる組織的、継続的デリバリ
  • 6.
    6 Copyright © TechMatrixCorporation. All rights reserved. テクマトリックス株式会社:取扱いツール 構造分析・影響度分析  Lattix アーキテクチャ分析ツール  Understand ソースコード解析ツール 管理・自動化  Parasoft DTP テスト管理プラットフォーム  AccuRev 構成管理・変更管理ツール  CloudBees Jenkins Enterprise 有償版Jenkins 単体テスト・静的解析・実行時エラー検出  Parasoft C++test  Parasoft Jtest  Parasoft dotTEST C/C++/Java/.NET対応 自動テストツール  Parasoft Insure++ C/C++対応 自動エラー検出ツール 機能テスト・UIテスト・負荷テスト  Parasoft SOAtest APIテスト自動化ツール  Parasoft Virtualize サービス仮想化ツール  Ranorex UIテスト自動化ツール  Lychee Redmine Redmineの有償プラグイン
  • 7.
    7 Copyright © TechMatrixCorporation. All rights reserved. Redmineとのかかわり 傍観者 • Redmineをいつ知ったかは覚えていない • 自分でサーバーを立てて使おうという気持ちはなかった(面倒そう) 利用者 • 3~4年前から業務にて利用開始 • 現在もタスク管理と情報共有のために利用中 サポート • お客様から取扱いツールとRedmineの連携の要望を多くいただく • Lychee Redmine取扱い開始、同時に技術サポートの担当に
  • 8.
    8 Copyright © TechMatrixCorporation. All rights reserved. 社内におけるRedmineの利用 目的 • タスク管理(チケットトラッキング) •情報共有(Wiki) 構成 • プロジェクト=取扱いツール • チケット=タスク • プラグインはほぼ未使用 ロール • 取扱いツールの技術側リーダー ⇒ プロジェクトの管理者 • システム管理者権限はない 利用状況 • 毎朝のミーティングでタスクを確認 • チケットの登録・更新が疎か • 運用に乗せる途上
  • 9.
    9 Copyright © TechMatrixCorporation. All rights reserved. タスク管理をよりうまくできるように 課題 • タスクをチケットに登録しない • チケットが放置される • ・・・ 原因 運用ルールが確立していない Redmineのページが開かれない ・・・ 検討 チャットはよく使われている (Mattermost) 対策 • チャットからチケットを作ったり 一覧を見られるようにする システム管理者でなくてもできる方法で
  • 10.
    10 Copyright © TechMatrixCorporation. All rights reserved. 見える化のイメージ① 寿司が回るようにしましょう それめっちゃええやん #1234 寿司が回るようにしましょう 参考:Redmine::Chan で IRC からプロジェクト管理 http://yapcasia.org/2012/talk/show/7b6375aa-bd29-11e1-ad51-b39f6aeab6a4 Aさん 某 Bot
  • 11.
    11 Copyright © TechMatrixCorporation. All rights reserved. 取扱いツールとRedmineの連携の要望  取扱いツール(テスト管理プラットフォーム)  ソースコードの品質データの可視化 • ソースコード解析 • ユニットテスト • コードカバレッジ  Redmineユーザー様の要望  品質だけでなく、プロジェクトの状況も合わせて1ヶ所で可視化したい • タスク・進捗 • 障害 • 工数
  • 12.
    12 Copyright © TechMatrixCorporation. All rights reserved. Redmineユーザー様の要望の背景  プロジェクトの状況を1ヶ所で見たい  複数のプロジェクトを横並びで確認したい  社内・社外への報告に利用できるグラフがほしい  CSVにエクスポートしてExcelで集計とグラフ作成をしていて手間がかかる
  • 13.
    13 Copyright © TechMatrixCorporation. All rights reserved. 見える化のイメージ② 出典: 「ソフトウェア開発データ白書2016-2017」の発行 ~「業種編3種(金融・保険業、情報通信業、製造 業)」も同時発行~ IPA 独立行政法人 情報処理推進機構 https://www.ipa.go.jp/sec/reports/20161012.html 規模×障害規模×工数 タスク推移
  • 14.
    14 Copyright © TechMatrixCorporation. All rights reserved. 実現方法 ①Redmineからの情報の抽出 ②チャットからのリクエストの処理、抽出した情報の集計等 ③結果やグラフの出力
  • 15.
    15 Copyright © TechMatrixCorporation. All rights reserved. 実現方法① ①Redmineからの情報の抽出 ⇒ REST API を利用 管理>設定>API>RESTによるWebサービスを有効にする をオン • 仕様は公開されている(https://www.redmine.org/projects/redmine/wiki/Rest_api) • DB(MySQL/PostgreSQL)が異なってもリクエスト方法やレスポンス内容は変わらない • 社内のRedmineでも利用可能だった ✓
  • 16.
    16 Copyright © TechMatrixCorporation. All rights reserved. 実現方法② ②チャットからのリクエストの処理、抽出した情報の集計等 ⇒ Node-RED 参考: https://nodered.org/ https://nodered.jp/ (Node-RED日本ユーザー会) • REST APIと他のサービスを接続するという用途が一致 • 取扱いツール(テスト管理プラットフォーム)に同梱されている Node-RED A visual tool for wiring the Internet of Things Node-REDはハードウェアデバイス/APIおよびオンライン サービスを接続するためのツールです。
  • 17.
    17 Copyright © TechMatrixCorporation. All rights reserved. 実現方法③ ③結果やグラフの出力  チャット • Mattermostの外向きのウェブフックのレスポンス • コールバックURLに指定するエンドポイントを Node-REDで作成  グラフ表示 • ウェブブラウザでグラフを表示 • JavaScriptのデータ可視化ライブラリを利用 • Node-REDで作成するエンドポイントに アクセスして可視化データを取得 • 可視化データは、Node-REDからRedmineに 定期的にアクセスしてチケット等を取得・集計して キャッシュしておく
  • 18.
    18 Copyright © TechMatrixCorporation. All rights reserved. Node-REDのフロー Node-REDで作成した、Mattermostの外向きのウェブフックのエンドポイント 実環境では、もっとたくさんの分岐と処理があります。
  • 19.
    19 Copyright © TechMatrixCorporation. All rights reserved. Node-REDのフロー チケットの登録の場合 3 発言者・題名・ 担当者等を抽出 4 チケットの作成のための パラメーターを作成 project_id=1 tracker_id=2 subject=題名 … 5 Redmineの REST APIを呼び出す 6 結果を発言する パラメーターを作成 Redmine用の 便利ノードを自作 1 発言を受け取る 2 発言内容で分岐 7 発言する
  • 20.
    20 Copyright © TechMatrixCorporation. All rights reserved. チャットからチケットを作成
  • 21.
    21 Copyright © TechMatrixCorporation. All rights reserved. できたこと① ✓ チャットからチケットを操作したり確認することができるようになった
  • 22.
    22 Copyright © TechMatrixCorporation. All rights reserved. できたこと①の効果  タスクを気軽に登録できるようになった  話題とタスクがつながるようになった  チケットの作成の状況が見えるようになった  便利な機能を追加する基礎ができた
  • 23.
    23 Copyright © TechMatrixCorporation. All rights reserved. ステータス別の チケット数の推移 チケット数の 増減の推移 チケット情報の収集 = プロジェクト進捗の見える化 プロジェクトに登録されているタスクの状況を様々な角度で確認することが出来ます。 プロジェクト内のバグが予定通り収束に向かっているのか、特定の担当者に負荷が集中していないか、 プロジェクトの最新の状況を確認した上で、次のアクションを講じることが出来ます。 タスクが増加傾向にあり、プロジェクト 終盤に来ても収束していない。 できたこと② ✓ 必要とされるグラフを作成することができるようになった
  • 24.
    25 Copyright © TechMatrixCorporation. All rights reserved. できたこと②の効果  ユーザーが必要とするグラフを作成できるようになった  Node-REDからRedmineにアクセスしやすくなった  取扱いツールをアピールする幅が広がった
  • 25.
    26 Copyright © TechMatrixCorporation. All rights reserved. 課題と今後の展望  チャットからの可視化の拡充  便利コマンドの追加  グラフの表示もしたい  社内のRedmineによるタスク管理の浸透は道半ば  タスクとしてチケット化する操作の敷居は下がったと思う  タスクの登録自体がまだ浸透していない  放置チケットの対策もこれから  Node-REDの自作ノードの拡充  チケットだけでなく、プロジェクト・ユーザー・作業時間等にも対応したい  OSSとして公開しています。プルリクエスト歓迎 https://flows.nodered.org/node/node-red-contrib-redmine
  • 26.
    27 Copyright © TechMatrixCorporation. All rights reserved. まとめ チャットとウェブ上でRedmineのチケットや作業時間等を見える化した例と その実現方法の1つを紹介させていただきました。 Redmineの管理者ではないがRedmineの情報を見える化したい、という方は、 Redmineの管理者に「RESTによるWebサービスを有効にしてください」と依頼しましょう。 これだけで、手作業とRedmineの管理者に頼らず見える化が可能になります! ✓
  • 27.
    28 Copyright © TechMatrixCorporation. All rights reserved. ご清聴ありがとうございました。