Software Engineering Center Information-technology Promotion Agency, Japan

SEC特別セミナー 2012年04月11日

Redmine, Tracを使った 「定量的プロジェクト管理ツール」の紹介

独立行政法人情報処理推進機構 技術本部ソフトウェア・エンジニアリング・センター

研究員 大和田 裕

Copyright© 2012 Information-technology Promotion Agency, Japan. All rights reserved. Software Engineering Center SEC Agile開発におけるプロジェクト管理の課題 Software Engineering for Mo・No・Zu・Ku・Ri

リアルタイムなタスク管理  反復開発計画(イテレーション、スプリント,..)が頻繁 に変更される  機能追加やバグ修正、リファクタリングによるソース コード修正に対応したタスク管理が必要

ソースコードの二重管理  リリース済みのソースコードと、開発中のソースコードの 同時管理が必要

変更管理とバージョン管理の連携  継続的な機能追加に対応した、仕様変更と連携した バージョン管理が必要

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 1 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

Redmine,Tracを使ったAgile開発 ~開発プロセス効率化の一例~

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 2 Center SEC Redmine,Tracとは Software Engineering for Mo・No・Zu・Ku・Ri

オープンソースのプロジェクト管理ソフトウェア

 障害管理システム()として使用  バグの情報をチケットで一元管理  チケットのステータス遷移で制御  終了チケットを履歴として残す

 課題管理システムへ(Issue Tracking System)  障害だけでなく、課題や要望に使用  バージョン管理システムとの連携  チケットとリビジョンを紐付

 チケット駆動開発へ(Ticket Driven Development)  作業をタスクに分割し、チケットに割り当てる

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 3 Center SEC チケットとは Software Engineering for Mo・No・Zu・Ku・Ri

担当者が割り振られ、その作業に「登録」,「担当者割り当て」, 「作業中」,「完了」などの状態がある作業

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 4 Center SEC Agile開発への適用 Software Engineering for Mo・No・Zu・Ku・Ri

設計 設計 設計 設計 開発 開発 開発 開発 テスト テスト テスト テスト (反復単位) (反復単位) (反復単位) (反復単位)

第一リリース 第mリリース

チケットをタスクカードとして使用  作業履歴、進捗、バージョン管理情報を付与  作業/課題指示書 チケットをグループ分け  リリース単位(バージョン)  反復単位(マイルストーン) チケット一覧をタスクボードとして使用

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 5 Center SEC チケット一覧 Software Engineering for Mo・No・Zu・Ku・Ri

タスクボードとして使用  使用者によってViewを切替  帳票として(PDF,Excel)出力

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 6 Center SEC チケット駆動開発の利点 Software Engineering for Mo・No・Zu・Ku・Ri

 開発者は、自分に割り当てられているタスクやリスクを明確に知ることが できる

 開発者は、割り当てられたチケットの必要項目に入力するだけなので、作 業報告を省力化できる

 管理者は、進捗やリスクについての収集作業を省力化できる

 管理者は、プロジェクト管理機能によって残タスク・進捗率をリアルタイム に見ることができる

 変更や履歴の追跡(トレーサビリティ)

 ツール連携(Wiki、構成管理ツール、ビルド管理ツール)

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 7 Center SEC チケット駆動型のプロジェクト管理 Software Engineering for Mo・No・Zu・Ku・Ri 「簡単に参加・利用・操作できる」 「開発者は担当作業・課題のチケットを登録・更新するだけ」

チケットによる 進捗や品質の プロジェクト管理 メトリクスへ集計 プロジェクト情報 の一元管理 プロジェクト管理 の問題を機能へ

開発ツール 構成管理ツール

マネージメント機能 の実装

開発・報告作業をサポート PMの意思決定をサポート

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 8 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

定量的プロジェクト管理ツールの紹介

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 9 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

ツール提供の背景

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 10 Center SEC 見える化の必要性 Software Engineering for Mo・No・Zu・Ku・Ri

インフラ基盤としての 高信頼性の要求 要求の多様化・高度化 市場競争の激化

レポーティング..

開発の多様化・高機能化 法対応・リスク対策 開発の短期間化・低コスト化 などの社会的要請

課題管理.. 進捗管理.. 品質確保..

高難易度となったプロジェクト・マネジメント作業 を支援する が必要

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 11 Center SEC 開発の多様化・短期間化・低コスト化 Software Engineering for Mo・No・Zu・Ku・Ri 開発フレームワーク・開発ツールを利用 既存アプリケーションの再利用 変更/追加部分のみの開発 機能・アプリケーションの分割開発 外部発注開発、オフショア開発

プロジェクトの状況把握が困難 品質がバラつき全体品質管理が困難 問題解決の判断遅延

定量的なデータに裏付けられた、網羅的・統一的 なプロジェクト・マネジメントが必要

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 12 Center SEC 見える化と定量的プロジェクト管理 Software Engineering for Mo・No・Zu・Ku・Ri

開発プロジェクトの「見える化」

定性的な「見える化」アプローチ 俯瞰図 チェックシート 失敗事例集 プロジェクト成否 見落としの排除 失敗から学んで 要因の明確化 リスクの明確化 失敗を防止

統 合 的 分類表 ア な 実践の場 客観的・網羅的に 定量的プロジェクト 問題箇所を把握 プ 「 ロ 見 管理ツールとして プロジェクト ー え

チ る 化 公開 」

測定項目リスト 定量的プロジェクト管理ツール 測定分析データ一覧表 プロジェクトの状況 データの自動収集 を定量的に把握 ベース尺度一覧表 分析・診断 定量的な「見える化」アプローチ

「見える化」 すると

品質の予測 ベンチマーキング

定量的プロジェクト管理ツール ベンチマークデータ 分析・診断・品質予測 データ 要求分析・設計の品質予測 蓄積 予実管理・進捗予測 蓄積データからの基準値 プロダクトの品質予測 プロジェクト管理 業界の傾向を示す プロジェクトの品質予測 参照値 定量的プロジェクト管理 基準値 参照値

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 13 Center SEC 定量的管理の課題 Software Engineering for Mo・No・Zu・Ku・Ri

定量データ分析のノウハウが乏しく手間 定量データの収集に工数がかかるため進 がかかりプロジェクト遅れ予測などを簡単 行中プロジェクトの定量的診断が行えない に行えない 定量データの自動収集 統計グラフ描画による、視覚的・ 日次業務での定量データの収集を 直観的な分析・診断 可能に

定量的プロジェクト管理ツール に実装

プロジェクト管理機能と定量的 データを蓄積による社内基準値 分析・診断機能を一体で提供 の作成 Excel等のデータをインポート

管理するツールの環境が整っていない プロジェクトを定量的に診断するための 各プロジェクトで個別のExcelなどを使用 基準値を持っていない

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 14 Center SEC 定量的プロジェクト管理の業務 Software Engineering for Mo・No・Zu・Ku・Ri KKD(勘、経験、度胸)から、ツールによる に基づいたプロジェクト管理へ

版管理 (ソースコード) 定量的プロジェクト管理ツール ・ソース規模の推移 システムの 課題管理 ・工程別の障害件数 定量 (障害・課題) ・不良発生原因、発生箇所 データ 進捗管理 ・計画値との比較による進捗 の取得 (計画と実績) ソースを プロジェクトの進捗を 対策 計画 課題の把握・ 課題や進捗を 診断 実施 将来進捗を 課題の把握・ の作成 プロジェクト 計画値の

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 15 Center SEC 定量的プロジェクト管理ツールとは Software Engineering for Mo・No・Zu・Ku・Ri プロジェクト・タスクの進捗,課題・障害の解決状況,工数等の把握 を定量的データにより行い、中小規模プロジェクトでの するツール

タスク 進捗 工数 障害・課題 収集

定量的データの収集 定量的プロジェクト管理ツール 集計 プロジェクトの可視化・グラフ化 複数プロジェクト俯瞰 負荷管理

タスク・品質管理 障害・課題管理 可視化

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 16 Center SEC 定量的プロジェクト管理ツールの特徴 Software Engineering for Mo・No・Zu・Ku・Ri

グラフ表示による視覚的・直観的な分析・診断機能の提供 ダッシュボード表示 ドリルダウン・ドリルスルー表示 利用者によるグラフ・カスタマイズ 定量的データの自動収集 プロジェクト管理ツール、構成管理ツール 日常使用ツールからの日次業務データの取り込み Excel, MS Project, CSV等からのデータ収集 ツールが簡易に利用できることを重視 基本測定量(規模、工数、工期、品質)に絞って提供  高度で複雑な利用方法は将来の拡張 柔軟性・拡張性の確保 利用者による定量データの追加など  オープンソースとして公開(GPL)

既存ツールを活用 Redmine、、Subversion、、BIRT(BIツール)、Pentaho(ETLツール)

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 17 Center SEC 定量的プロジェクト管理ツールの概要図 Software Engineering for Mo・No・Zu・Ku・Ri

近日公開 プロジェクト データ収集 定量的分析・ 設定管理 管理支援機能 ・集計起動 診断呼出 機能 プロジェクト管理 プラットフォーム プロジェクト管理プラットフォーム チケット (Redmine,Trac,Subversion,GIT)

データ収集機能 ETLツール (Pentaho) 定量データ データ集計機能

複数プロジェクト プロジェクト 個別グラフ グラフ表示 俯瞰表示機能 俯瞰表示機能 表示機能 データ BIツール ( BIRT/BIRT Report Viewer) 公開中

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 18 Center SEC 稼働環境 Software Engineering for Mo・No・Zu・Ku・Ri

サーバ Redmine/Trac BIRT Pentaho PostgreSQL Subversion/GIT Report Viewer

Web/アプリケーション サーブレットコンテナ サーバ(Apache) (Tomcat)

Ubuntu Windows CentOS Windows7 Server Professional

Webアクセス

クライアント

Internet FireFox Explorer

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 19 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

チケットについて

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 20 Center SEC チケットへの追加項目 Software Engineering for Mo・No・Zu・Ku・Ri

項目 概要 試験数計画 試験実施のWBSで試験項目数の計画値を入力 試験数実績 試験実施のWBSで試験項目数の実績値を入力 SLOC計画値 製造のWBSでソースコードの行数の計画値を入力 想定バグ密度 試験工程の親チケットとなるWBSでその試験工程の想定バグ密度を入 力(件/KSLOC) 試験項目密度 試験工程の親チケットとなるWBSで、その試験工程における試験項目 指標値_上限値 密度の指標値の上限値を入力(件/KSLOC) 試験項目密度 試験工程の親チケットとなるWBSで、その試験工程における試験項目 指標値_下限値 密度の指標値の下限値を入力(件/KSLOC) WBS番号 WBS番号を入力 WBSチケット 課題・障害の発生したWBSチケットIDを入力 ・課題・障害チケットとWBSチケットの関連付け ・複数のWBSチケットに関連付けはできない

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 21 Center SEC 課題チケット Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 22 Center SEC 障害チケット Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 23 Center SEC WBS(タスク)チケット Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 24 Center SEC チケット・レポートの一覧 Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 25 Center SEC チケットの一覧 Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 26 Center SEC チケットのガントチャート表示 Software Engineering for Mo・No・Zu・Ku・Ri

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 27 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

提供グラフについて

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 28 Center SEC 表示グラフ一覧 Software Engineering for Mo・No・Zu・Ku・Ri

WBS(タスク)・品質管理 試験計画項目密度、 WBS進捗推移、WBS進捗変化、 EVM評価(進捗、工数)、ソフトウェア規模推移、試験進捗率、 工数の予実、遅延重要タスク抽出 障害・課題管理 障害件数変化、障害解決予測、障害原因分析、障害発生密度、 障害滞留状況、長期未解決課題抽出 要員負荷管理  負荷状況 プロジェクトを俯瞰するグラフ 定量管理ダッシュボード 複数のグラフを縮小表示して、プロジェクト状況を俯瞰 複数プロジェクトを俯瞰するグラフ  複数プロジェクトの進捗確認、健全性確認

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 29 Center SEC WBS(タスク)・品質管理のグラフ(1/4) Software Engineering for Mo・No・Zu・Ku・Ri  試験計画項目密度  試験項目のカバレッジを確認する  試験進捗率  試験項目がモジュールごとにどの程度消化されているかを示す

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 30 Center SEC WBS(タスク)・品質管理のグラフ(2/4) Software Engineering for Mo・No・Zu・Ku・Ri  WBS進捗推移  過去の進捗の進み具合を描画し、開発の進み具合を把握する  WBS進捗変化  最近の開発進行度(変化分の大きさ)を確認する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 31 Center SEC WBS(タスク)・品質管理のグラフ(3/4) Software Engineering for Mo・No・Zu・Ku・Ri  EVM評価  EVMにより最近の開発価値とコストを把握する  ソフトウェア規模推移  ソース行数による規模の推移、及び計画値との対比を行う

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 32 Center SEC WBS(タスク)・品質管理のグラフ(4/4) Software Engineering for Mo・No・Zu・Ku・Ri  工数の予実  開発工数の予実把握を行い、完了時の工数を予想する  遅延重要タスク抽出  開発が遅れているWBS(タスク)を抽出する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 33 Center SEC 障害・課題管理のグラフ(1/3) Software Engineering for Mo・No・Zu・Ku・Ri  障害件数変化  課題の件数、未解決数の推移、計画値との対比を把握する  障害解決予測  課題の未解決数と解決生産性から、解決完了日を推定する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 34 Center SEC 障害・課題管理のグラフ(2/3) Software Engineering for Mo・No・Zu・Ku・Ri  障害原因分析  現在の障害の数を原因別に分類する  障害発生密度  どのモジュールの品質が悪いのか把握する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 35 Center SEC 障害・課題管理のグラフ(3/3) Software Engineering for Mo・No・Zu・Ku・Ri  障害滞留状況  長期間解決されていない障害を抽出する  長期未解決課題抽出  長期間解決されていない課題を抽出する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 36 Center SEC 負荷管理のグラフ Software Engineering for Mo・No・Zu・Ku・Ri

 負荷状況  開発グループ/開発者の負荷を把握する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 37 Center SEC プロジェクトを俯瞰するグラフ Software Engineering for Mo・No・Zu・Ku・Ri

 定量管理ダッシュボード  担当プロジェクトの全体を俯瞰する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 38 Center SEC 複数プロジェクトを俯瞰するグラフ Software Engineering for Mo・No・Zu・Ku・Ri  複数プロジェクトの進捗確認  担当プロジェクト/サブプロジェクトで、リスクのあるものを検出する  複数プロジェクトの健全性確認  担当プロジェクト/サブプロジェクトのリスクを俯瞰する

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 39 Center SEC 画面レイアウト Software Engineering for Mo・No・Zu・Ku・Ri

共通機能

グラフ表示領域

ナビゲーション領域 HIDE/SHOWで切替

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 40 Center SEC 共通機能 Software Engineering for Mo・No・Zu・Ku・Ri

操作バー ・パラメータ変更 ・エクスポート ・ファイル出力 ・印刷

パンくずリスト 表示領域

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 41 Center SEC Software Engineering for Mo・No・Zu・Ku・Ri

IPA(独立行政法人情報処理推進機構) http://www.ipa.go.jp/ SEC(ソフトウェア・エンジニアリング・センター) http://sec.ipa.go.jp/ 研究員 大和田 裕 [email protected]

ご清聴ありがとうございました

参考文献

入門Redmine 第2版 Linux/Windows対応、前田 剛、株式会社秀和システム

Redmineによるタスクマネジメント実践技法、小川 明彦,阪井 誠、翔泳社

入門Trac 第2版 Linux/Windows対応、高山 恭介、株式会社秀和システム

Redmineコミュニティ(Shinagawa.redmine)勉強会発表資料

Tracコミュニティ(Shibuya.trac)勉強会発表資料

SEC特別セミナー 2012年04月11日 Copyright© 2012 IPA, All rights reserved. Software Engineering 42 Center