
CoolなEclipseプラグイン(23)
Mylyn&Tracでリズムに乗って
タスクを大掃除♪
岡本隆史
2007/12/20
最小限の管理コストで最大の「見える化」を
近年「開発の見える化」が話題となっていますが、いざやろうとするとなかなか難しいものです。
模造紙を壁に張り付ける「タスク看板」などを利用してタスクの「見える化」を行っても、肝心のタスクの実行状況が見えなかったり……。そんなことはないでしょうか? 本当にチームメンバーのタスクを把握できているでしょうか?
そもそも「タスク」とは、コーディングやテストといった純然たる作業や、故障処理、管理、仕様変更などの副次的な作業も含みます。開発を見える化する際に基本となる1つの単位です。
今回紹介するMylynとTracを利用すると、タスク取得→コミット、タスク取得→コミット、……というリズムに乗った開発で、作業履歴(ログ)を残しながら各開発担当者の作業内容を明確にできます。最小限の管理コストで最大の見える化を。世にも不思議なMylynマジック、とくとご覧ください。
世にも不思議なMylynマジックとは?
本稿では、MylynとTracを利用したタスクの見える化をご紹介します。MylynとはEclipse 3.3(Europa)から標準でEclipseのディストリビューションに新たに同梱されたタスク管理のためのプラグインです(詳細「Mylynとおともだち(Eclipse Plugin 開発勉強会)」)。
Eclipseディストリビューションに同梱されたことにより、今後のEclipseによるソフトウェア開発スタイルを変える肝となるプラグインとして注目されています。
Mylynは、個人のタスク管理に利用することもできますが、Bugzilla、JIRA、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 TracやTrac月(後述)が提供されています。 拡張コンポーネントについては、trac-hacksや日本人の有志によりプラグイン開発を行っているShibuya.tracをご覧ください。 |
Tracを利用する際に、Tracのデフォルトの構成管理ツールであるSubversion(以下、SVNと記述)を利用します。SVNを利用するEclipseプラグインとしては、SubclipseとSubversiveがありますが、ここではSubversiveを利用します。Subversiveの詳細については、連載第15回「バージョン管理に便利なSubversiveプラグイン」をご覧ください。
筆者は、上記の記事を読まなくとも分かるように本稿を執筆したつもりですが、上記の解説をお読みいただくとより理解が深まるかと思います。
Mylyn&Tracによるタスク管理の概要
TracとMylynによるタスク管理の概要を図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を利用しない場合の作業内容とタスクのひも付け |
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プラグイン バックナンバー 連載インデックスへ»
- 第1回 Javaのプロパティファイルを編集するEclipseプラグイン
- 第2回 ソフトウェアの品質向上を支援するプラグイン
- 第3回 データベース開発を支援するプラグイン
- 第4回 Webアプリケーション開発を支援するプラグイン
- 第5回 正規表現の入力・テストを行うプラグイン
- 第6回 サンプルコードの入手をサポートするプラグイン
- 第7回 プログラミングにあると便利なプラグイン
- 第8回 RSSを表示できるEclipseプラグイン
- 第9回 データベースの利用に便利なEclipseプラグイン
- 第10回 スクリプト言語をサポートするEclipseプラグイン
- 第11回 ビルドを効率化するEclipseプラグイン
- 第12回 便利なプラグインの集大成MyEclipse
- 第13回 簡単にFlashアプリを作成できるFlexBuilder 2
- 第14回 軽量なUMLプラグインAmaterasUML
- 第15回 バージョン管理に便利なSubversiveプラグイン
- 第16回 EPFプラグインでらくらく開発プロセス管理!(入門編)
- 第17回 EPFプラグインでらくらく開発プロセス管理!(実践編)
- 第18回 お決まりコードを設計書から自動生成するblancoCsv
- 第19回 Project Zeroでスクリプト+Ajaxのアジャイル開発
- 第20回 ERダイアグラムを編集するAmaterasERDでDB設計
- 第21回 Apache LDAP StudioでLDAPはもう怖くない
- 第22回 JavaScriptを書かずにAjaxを実現するjMaki
- 第23回 Mylyn&Tracでリズムに乗ってタスクを大掃除♪
- 第24回 これはすごい!? コード品質のカイゼン化プラグイン2種
| Java Solution全記事一覧 |
ホワイトペーパー(TechTargetジャパン)
- Webの表示速度を遅くする「SSLハンドシェイク」とは (2010/2/9)
安全性を担保しようとWebページにSSLを適用すると、負荷の高い処理が実行される。速度と安全性は両立できるのか? - クラウド活用「雲活」のために押さえるべき39のポイント (2010/2/2)
活用するべきサービスか否か、クラウドの利点・問題点、クラウドプラットフォーム提供企業になるための条件、開発者がするべきことに分けて紹介 - 再利用性の高いクラス作成に重要な“アクセス制御” (2010/1/28)
Javaのアクセス修飾子public、private、protectedや、Eclipseで簡単に作れるアクセサメソッドgetter、setterについて解説 - DB設計の神ツール「ERMaster」なら、ここまでできる (2010/1/21)
直感的なUIに、カスタマイズ可能な、Excel出力のテーブル定義書、辞書機能など多機能なERモデリングの無料Eclipseプラグインです
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

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








