TOPプロジェクト管理> ウノウにおける活用事例
PHP開発手法
PHP開発手法

第6回:BTS(Bug Tracking System)の利用

著者:ウノウ  山下 英孝   2007/2/26
前のページ  1  2  3
ウノウにおける活用事例

   ウノウでは「Trac 0.10」をベースに、自社の開発フローあわせたカスタマイズを施した上で利用しています。
svnコミットログによるチケット自動クローズ

   Subversionにコミットした場合、以下のようにコメントに「(fixes #チケットナンバー)」という文字を記述することで、チケットを自動的にクローズすることができます。

Aの修正 (fixes #108)


ワークフローのカスタマイズ

   ウノウではリリース前に必ずテスト工程を通過する必要があるため、ワークフローをカスタマイズしてQAのステータスを追加しています。具体的には以下に示すように「Resolved」と「Closed」の間に「Verified」のステータスが加えられています。

標準のワークフロー
図6:標準のワークフロー

ウノウで利用しているワークフロー
図7:ウノウで利用しているワークフロー


チケット一覧表示のカスタマイズ

   さらに、チケット一覧表示をカスタマイズし、まだクローズしていないチケットを状態ごとに一覧表示させています。また「View Tickets」メニューをクリックするだけで、一覧を呼び出せるようになっています。

   以下がウノウで利用しているレポートのクエリです。

SELECT p.value AS __color__,
   (CASE status
      WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'
      ELSE
        (CASE owner WHEN '$USER' THEN 'font-weight: bold' END)
    END) AS __style__,
   id AS ticket, summary, component, status AS __group__,
   resolution, t.type AS type, priority, owner,
   changetime AS modified,
   time AS _time,reporter AS _reporter
  FROM ticket t,enum p
  WHERE p.name=t.priority AND p.type='priority' AND status != 'closed'
  ORDER BY
   (CASE status
      WHEN 'new' THEN 10
      WHEN 'assigned' THEN 20
      WHEN 'reopened' THEN 30
      WHEN 'resolved' THEN 40
      WHEN 'verified' THEN 50
      WHEN 'closed' THEN 60
      ELSE 70 END)


送信メールの日本語化

   標準状態では、Tracから送信されるメールはUTF-8+マルチパート形式になっており、一部のメーラでは文字化けが発生していました。そこで、日本で一般的に用いられている「ISO-2002-JP」かつ「text/plain」形式のメールが送信されるよう、修正を行っています。

   また、Fromヘッダに誰が登録/コメントしたかが記載されるように変更しました。実際には、次のようなメールが開発者用メーリングリストに送信されます。

#329: RSS(/rss/と/rdf/)ページのmojavi移行
-----------------------+-------------------------------------------------
   Status:  resolved   |         Type:  task  
 Reporter:  yamashita  |     Priority:  major 
Milestone:  milestone1 |    Component:  映画生活  
  Version:  2.0        |   Resolution:  fixed 
 Keywords:             |        Owner:  yamashita
-----------------------+-------------------------------------------------
Changes (by yamashita):

  * resolution: => fixed
  * status: reopened => resolved

Comment:

(In [818]) Bで発生していたバグを修正 (fixes #329)

--
Ticket URL: <http://trac/project/ticket/329>


コメント入力の簡素化

   TracチケットへのコメントはWiki記法で記入することができますが、Tracでは独自形式を採用しており、人によっては面倒だと感じることがあるようです。そこで「Shift+Enter」キーで改行タグの「<br>」を入力できるようにしたり、改行をそのまま表示するようにするなどの修正を加えています。


ステータス変更をメーリングリストに送信

   Tracのチケットに対して加えられた変更は、すべて開発者メーリングリストに投稿され、開発者全員が変更を把握できるようにしています。Pull型のWebアプリケーション(Trac)の他に、Push型のメールを加えることで、開発者間での情報共有に漏れをなくす効果を狙っています。

   しかし実際の開発現場では、スタッフ間で連携がとれていないといった問題が発生してしまいます。こればかりはTracのカスタマイズでは対応しきれないため、意識的に口頭でのコミュニケーションを行うなどの工夫をしています。


まとめ

   以上、Tracを中心にBTSの活用について説明しました。これからBTSを使ってみようという方はもちろん、すでにBTSを使っている方にも、ウノウでの事例が参考になれば幸いです。より具体的なカスタマイズについて興味を持たれた方は、ぜひウノウまで連絡していただきたいと思います。

   次回は、実際にウノウで行っている情報共有と技術力向上のための施策について紹介します。

前のページ  1  2  3


ウノウ株式会社  山下 英孝
著者プロフィール
ウノウ株式会社  山下 英孝
1999年東京理科大学工学部機械工学科卒。同年に株式会社日立情報システムズへ入社し、株式会社日立製作所日立研究所および中央研究所に常駐勤務。研究支援のためのナレッジマネジメントシステムなどの設計から構築までを担当。はじめてプログラミングに触れたのは小学生の頃で、ファミリーベーシックでマリオを動かして遊んでいたらしい。プライベートではPythonをこよなく愛し、勉強会などのイベントに顔を出すことが多い。2006年8月よりウノウに参画し、マカーとなる。

ブログ:Weboo! Returns.
http://yamashita.dyndns.org/


INDEX
第6回:BTS(Bug Tracking System)の利用
  BTS(Bug Tracking System)とは何か
  Tracの起動
ウノウにおける活用事例