【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

CoolなEclipseプラグイン(23)

Mylyn&Tracでリズムに乗って
タスクを大掃除♪


岡本隆史
2007/12/20

最小限の管理コストで最大の「見える化」を

今回の主な内容

世にも不思議なMylynマジックとは?
コラム「いまさら聞けない、Tracとは?」
Mylyn&Tracによるタスク管理の概要

Mylyn&Tracの環境を構築して掃除道具を整える
開発サーバ(Trac)のセットアップと環境設定
Eclipseのセットアップと環境設定
Mylyn&Tracを使うための設定
Mylyn&Tracによるタスク管理、5つの手順
コラム 「コンテキストの意義」
プロジェクト「見える化」のための秘密兵器

 近年「開発の見える化」が話題となっていますが、いざやろうとするとなかなか難しいものです。

 模造紙を壁に張り付ける「タスク看板」などを利用してタスクの「見える化」を行っても、肝心のタスクの実行状況が見えなかったり……。そんなことはないでしょうか? 本当にチームメンバーのタスクを把握できているでしょうか?

 そもそも「タスク」とは、コーディングテストといった純然たる作業や、故障処理管理仕様変更などの副次的な作業も含みます。開発を見える化する際に基本となる1つの単位です。

 今回紹介するMylynTracを利用すると、タスク取得→コミット、タスク取得→コミット、……というリズムに乗った開発で、作業履歴ログ)を残しながら各開発担当者の作業内容を明確にできます。最小限の管理コストで最大の見える化を。世にも不思議なMylynマジック、とくとご覧ください。

世にも不思議なMylynマジックとは?

 本稿では、MylynとTracを利用したタスクの見える化をご紹介します。MylynとはEclipse 3.3Europa)から標準でEclipseのディストリビューションに新たに同梱されたタスク管理のためのプラグインです(詳細「Mylynとおともだち(Eclipse Plugin 開発勉強会)」)

 Eclipseディストリビューションに同梱されたことにより、今後のEclipseによるソフトウェア開発スタイルを変える肝となるプラグインとして注目されています。

 Mylynは、個人のタスク管理に利用することもできますが、BugzillaJIRA、TracなどのBTS(Bug Tracking System)ITS(Incompatible Timesharing System)と連携すると、チームのタスク管理を効率的に行えるようになります。

Mylyn&Trac、そしてSubversionで最強トリオ

 本稿では、Tracとの連携を例に取って、Mylynによるタスク管理をご紹介します。TracやMylynの本質的なところはあまり紹介せずに、組み合わせるとどのように開発が変わるのかに重点を置いてご紹介します。

コラム「いまさら聞けない、Tracとは?」

Tracとは、スウェーデンEdgewall Software社で開発され、Ruby on Rails(詳細は「Ruby on Railsのチームから学ぶ仕事術」)やSpring IDEなどで利用されているプロジェクト管理ツールです。Wiki構成管理ツールであるSubversionと連携できるのが特徴となっています。

また、Eclipseのようなプラグイン・アーキテクチャを採用しており、ユーザーによって柔軟に拡張できるという特徴があり、数多くのプラグインが提供されています。オープンソースプロダクトのホスティングサイトであるsf.jpやGoogle CodeのWikiがTracのWikiと類似した構文を取るなど、オープンソースプロダクトに対するTracの影響は計り知れません。

最近の目新しいトピックとしては、ソースコード共有プロジェクトCodeReposで利用されています。OpenJDKプロジェクトでSubversionに代わって採用された分散型のSCMであるMercurialをTracで利用するプラグインが開発されるなど、オープンソースの先進的な取り組みにはTracが欠かせない存在となっています。

Edgewall Software社で配布されているTracは日本語には対応していませんが、インタアクト株式会社により日本語化されたtrac-jaが提供されています。また、trac-jaをベースにWindows上にTracを簡単にインストールするオールインワンパッケージとして、All In One TracTrac月(後述)が提供されています。

拡張コンポーネントについては、trac-hacksや日本人の有志によりプラグイン開発を行っているShibuya.tracをご覧ください。

 Tracを利用する際に、Tracのデフォルトの構成管理ツールであるSubversion(以下、SVNと記述)を利用します。SVNを利用するEclipseプラグインとしては、SubclipseSubversiveがありますが、ここではSubversiveを利用します。Subversiveの詳細については、連載第15回「バージョン管理に便利なSubversiveプラグイン」をご覧ください。

 筆者は、上記の記事を読まなくとも分かるように本稿を執筆したつもりですが、上記の解説をお読みいただくとより理解が深まるかと思います。

Mylyn&Tracによるタスク管理の概要

 TracとMylynによるタスク管理の概要を図1に示します。ちなみに、タスクはMylyn上では「タスク」と表現されますが、Trac上では「チケット」と表現されます。ほかのツールでは、「ワークアイテム」と呼ばれることもあります。

図1 MylynとTracによる作業イメージ
図1 MylynとTracによる作業イメージ(画像をクリックすると拡大します)

 ここでは、タスクを作成、確認するリーダーと、タスクを実施する開発担当者のロールに分けて説明します。便宜上、分かりやすくするためにロールを分けているだけで、実際の開発では、開発担当者が課題やバグをチケットとして作成することもありますし、リーダーもチケットに登録された作業を行うこともあるので、注意してください。

 Mylynを利用した開発の流れは、リーダーによる【1】タスクの作成、開発担当者による【2】タスクの取得、【3】タスクの実行、【4】コミット、最後にリーダーによる【6】作業内容の確認とクローズとなります。それぞれ詳しく見ていきましょう。手順【1】〜【6】の作業例はセットアップ後に解説します。

【1】タスクの作成(リーダー)

 リーダーは、タスクを作成しチケットとしてTracへ登録します。タスクの作成は、Mylynを利用してEclipse上で行うこともできますし、Webブラウザ上から作成することもできます。

 Mylyn上からタスクを作成すると、作業に必要なファイルを「コンテキスト」としてタスクに割り当てることができます。コンテキストの詳細については、後ほど説明します。

【2】タスクの取得(開発担当者)

 開発担当者はタスクのリストを取得し、これから実行するタスクを活性化します。活性化すると、Mylynは開発担当者が現在行っているタスクを認識します。

【3】タスク実行(開発担当者)

 タスクをEclipse上で実行します。実行中に編集したファイルはコンテキストに結び付けられ、そのタスクにおける作業内容として記録されます。

【4】コミット(開発担当者)

 タスクを完了したら、コミットを行います。コミットを行うと、コミットログに活性化されたタスク情報が自動的に挿入されます。開発担当者は、作業内容をコミットログに追記しコミットします。

【5】変更履歴の追加(自動的に実行)

 タスクに対応付けられたコミットログがTracのチケット(タスク)に追加されます。この作業はSVNのフックスクリプトにより自動的に実行されます。

【6】作業内容の確認とクローズ(リーダー)

 リーダーは作業内容を確認し、タスクをクローズします。Tracのタスクの履歴としてコミットログと差分(チェンジセット)が記述されていますので、タスクの履歴とコミット内容を確認し、問題がなければクローズします。

 問題があれば、開発担当者に修正するように指示を出し、開発担当者は手順【2】から繰り返すことになります。

TracとMylynによるタスク管理の最大の利点

 TracとMylynによるタスク管理の最大の利点は作業内容をコミットログとして追加できることです。SubversiveやSubclipse単独でもコミットログをタスクとひも付けできますが、開発担当者がコミットする差分がどのタスクに対応付くのか確認し、コミットするときにタスクIDを入力する必要があります(図2赤字の部分)。

図2 Mylynを利用しない場合の作業内容とタスクのひも付け
図2 Mylynを利用しない場合の作業内容とタスクのひも付け

 Mylynを利用すると、開発担当者はタスクを取得(活性化)してコミットするだけでよいので、コミット時にわざわざタスクにひも付ける必要がなくなるのです。

 手動でひも付けると、タスクIDの入力漏れ写し間違いが発生しますが、Mylynを利用すれば自動的に挿入してくれるので、開発担当者の負担を減らすことができます。

 また、タスクの作成をコンソールのログ出力から行えるようになり、バグなどでエラーメッセージが発生した場合、スムーズにバグを登録できます。

 次のページでは、MylynとTracの環境を構築して大掃除に備えます。

  1-2-3-4

 INDEX
Page1
  最小限の管理コストで最大の「見える化」を
世にも不思議なMylynマジックとは?
コラム「いまさら聞けない、Tracとは?」
Mylyn&Tracによるタスク管理の概要
  Page2
  Mylyn&Tracの環境を構築して掃除道具を整える
開発サーバ(Trac)のセットアップと環境設定
Eclipseのセットアップと環境設定
  Page3
  Mylyn&Tracを使うための設定
Mylyn&Tracによるタスク管理、5つの手順
  Page4
  コラム 「コンテキストの意義」
プロジェクト「見える化」のための秘密兵器

CoolなEclipseプラグイン バックナンバー 連載インデックスへ»


Java Solution全記事一覧

ホワイトペーパーTechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています