HsbtDiary
2010/03/12 (金) [長年日記]
■ Pivotal Tracker
最近、社内でプロジェクトで使う ITS を何にするかねーという話題が空前の大ブームになってて、オレのプロジェクトでは隣の隣に座っているチーフプログラマがオススメしてきた Pivotal Tracker というのを使うことにした。
チュートリアルを見るとだいたいわかる。
最初は Trac や Redmine のようないわゆる ITS も候補に挙がっていて、追加で Mantis や Retrospectiva も考えてみたんだけど、どれも"こちら側"でのチケットとリポジトリ管理が主な機能。これらは開発側だけで使うなら問題はないけど、顧客と story や goal の共有することには向いてない。そもそも顧客に
foo_controller.rb の bar を直す
とか
model/buzz.rb を作る
のようなチケットを見せてもしょうがないし、混乱するだけ。顧客と一緒にやりたいことって goal の位置や story のボリュームを共有することなんだよね。
そんなこんなで Pivotal Tracker にたどりついたわけだけど、これはホントに細かいところで良くできている。主な特徴としては
- https が使える
- 日本語が使える
- 非公開プロジェクトの作成が可能
- 商用利用も可能
- ユーザー登録時に余計な情報を入れる必要がない、メールアドレスがあればいい
- 誰かが内容を更新するとブラウザ上でリアルタイムにプロジェクトが更新される。リロードする必要がない。まさに0クリック革命。
- 見積もりのポイントに素数やフィボナッチ数列が使える。よく勉強している。
- ベロシティーと期間を決めると、1イテレーションに消化可能なストーリーが自動で積まれる。あふれた部分はバックログ送り。
- バーンダウンチャートやベロシティーの測定もできる
- 順番は任意に入れ替え可能
- バグに見積もりは入れられない。バグは見積もらずに直す。設定で変えることもできるけど、強くオススメしないと書いてある。
- TwitterやCampfireとの連携がある。APIもあるので、外部のクライアントも結構ある。この辺は今も調査中。
他にもたくさん機能があるんだけど、今は使い込みながら発見した機能を共有している状態。欠点としては日本語をリターンキーで確定するとストーリーも確定してしまうってところかなあ。それ以外は目立った欠点はない。
補足しておくと、Trac のようなチケット管理システムを全て Pvotal Tracker に置き換えてしまえというわけではなくて、イテレーション単位で開発を進める場合に最も適している ITS が Pivotal Tracker というだけ。
Pivotal Tracker で管理されているストーリーをどのように実現するかについては"こちら側"で Trac や Redmine を使った方が良いし、特にチケットとコードリビジョンの紐付けとかは必要な要素であることは変わりない。
というわけで、顧客と毎週ミーティングやってるけど、どうにも優先度や何をやるのか決まらないまま終わってしまう、御見積を出したところであまり使われていないというようなことに悩まされている人は Pivotal Tracker を使ってみると良いと思います。
2010/03/11 (木) [長年日記]
■ mongodump と mongorestore でポート指定
mongodump と mongorestore で --help してみると
$ mongodump --help
options:
--help produce help message
-h [ --host ] arg mongo host to connect to ("left,right" for pairs)
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod data files in this path,
instead of connecting to a mongod instance
--directoryperdb if dbpath specified, each db is in a separate
directory
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-o [ --out ] arg (=dump) output directory
という感じでポート指定に関する記述が無いんだけど、同一PCで複数の mongod プロセスを走らせている時とかにポートを指定できないのは困る。
そんな時は強引に
$ mongodump -h localhost:27018
とかするとポート指定でダンプやリストアをすることができる。mongoimport/mongoexport も同じかな。後で試してみる。
2010/03/10 (水) [長年日記]
■ 月刊WindowsUpdate
Vistaで8件きてた。
■ gentoo prefix で emerge --sync がこける現象
from portage.const import EPREFIX_LSTRIP
NameError: global name 'EPREFIX_LSTRIP' is not defined
こんなエラーが出て emerge --sync が失敗してその後 emerge がどうにもこうにもならなくなったら
$EPREFIX/usr/lib/portage/pym/portage/_global_updates.py
の宣言部の適当な場所に
from portage.const import EPREFIX_LSTRIP
を追加すると直るらしい。
■ Rails + Spork + cucumber で例外のテスト
$RAILS_ROOT/features/support/env.rb の Spork.prefork の中にある
ActionController::Base.allow_rescue = false
を true にする必要があるっぽい。
■ Snow Leopard の rake が無くなっていたの巻
今朝、nginx+passenger な環境を作っていてどうやっても rake が無いとかエラーが出て /usr/bin 配下を覗いて見たら本当に rake が無いでやんの。
どうやら、一昨日の yes | gem uninstall '' -a を rubygems-1.3.6 でやってしまったのが原因みたい。そして nginx は Gem.path/bin にある rake を見つけることができないというコンボ。
普段は Gem.path/bin の下にある物しか使わないので特に問題はないのだけど、似たような現象にはまるのも嫌なので --user-install を外してから /usr/bin 配下にシステムがインストールしている gem だけ入れ直して復活させておいた。とほほ。

