ひとりPMS

Grailsネタに入る前に支援環境まわりを。ひとりプロジェクトだし,ゆるっとやるとはいえPMS的なにかはいるだろうと思い,試しにd3使ってみた。
PMS=Project Management System


えっと,これはTiddlyWiki(というかGTD TiddlyWiki)の派生ものらしく,Todoよりタスク管理っぽいことができそうなんで,これにした程度にしか知らない。似たようなの探すといろいろ見つかったが,目的を見失いそうなので,そっちは目をつぶることにした。


Trac使うにもサーバは無いし,Excelなんてまっぴらだったんで,d3みたいなTiddlyWiki系は条件がよかった(このファイルごとバージョニングしてしまえばいいしの)。
使い方はテキトウ。概念としてプロジェクト-アクション(Todo),それにアクションに紐付けるコンテキストってのがあったので,それぞれをこんな感じに使ってみたよ。


プロジェクトにユースケースユースケースにぶら下がる「すべきこと(要求仕様)」をアクションに割り当てる。さらにコンテキストをイテレーションに見立てて,アクション(すべきこと)をn個のイテレーションに分類って感じ。


それぞれがWikiページ(カード?)なんで,設計のスケッチ貼ったりメモ書いたり,ゆるっと運用。まあまあ気楽でよかった。:-)
ちなみに,使ってみたd3はこんなの。


ホントは2カラムにしたかったんだけど,そっちのカスタマイズ始めると目的を見失いそうなので(以下略...。


バージョニングはMercurial(hg)使った。こっちもサーバ無しってことでSubversionは選外だったんで,git/hg/bzrの3択。gitはWindowsのバイナリがイマイチ&日本語ファイルがあやしいので×。bzrはブランチ作るのが面倒臭さそうだったので×。それで残ったのがhg。結局日本語ファイルは使わなかったけど,そこは気にしない。
クライアントは,TortoiseHg/hg4ideaをTPOで。hgコマンドじゃないと出来ない操作もあったのでhgも併用してたけど,次のコマンド覚えときゃ全然問題ない。

* ブランチ作る
 > hg branch ブランチ名
* 今のブランチを知る
 > hg branch
* すべてのブランチ一覧を表示する
 > hg branches
* 特定のブランチに切り替える
 > hg up ブランチ名
* 現在のブランチに指定したブランチをマージする
 > hg merge マージしたいブランチ名
* 現在の変更をキャンセル
 > hg revert --all


いやいや初めてまともに使ったけど,すげー便利だな。> hg
ブランチ,超おもしれぇ。ちょこっと実験したかったらサクっとブランチ切って,そこで作業。よければマージするし,要らなきゃ放っておく(いつか必要になるかもしんない)。もうバカらしくて,ディレクトリのコピーとか取ってらんない。:-P


ちなみに,trunk(hgだとdefault?)は安定ライン,イテレーションごとにブランチ切ってそこで作業。イテレーション終わったらdefault(trunk)にマージして,新しいブランチを切るの繰り返し。ブランチのブランチとか平気で切る。


ひとりプロジェクトでも意外にブランチ作るもんだな。つぎ機会があればrebaseとかも使ってみる。


ps.
そんなこんなで,おひとりままごとプロジェクトでもいっぱしの支援環境を構築する事が出来るのでしたの巻き。おしまい。:-D